Remove --enable-dwz. dwz alt debug is no longer experimental.
authorMark Wielaard <mjw@redhat.com>
Fri, 2 May 2014 22:23:06 +0000 (00:23 +0200)
committerMark Wielaard <mjw@redhat.com>
Fri, 2 May 2014 22:23:06 +0000 (00:23 +0200)
Signed-off-by: Mark Wielaard <mjw@redhat.com>
ChangeLog
Makefile.am
NEWS
configure.ac
libdw/ChangeLog
libdw/libdwP.h
libdwfl/ChangeLog
libdwfl/dwfl_module_getdwarf.c
tests/ChangeLog
tests/Makefile.am

index c466434..1c8ff13 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-05-02  Mark Wielaard  <mjw@redhat.com>
+
+       * NEWS: Add note about dwz support no longer being experimental and
+       new helper functions.
+       * configure.ac: Remove --enable-dwz.
+       * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Remove --enable-dwz.
+
 2014-04-11  Mark Wielaard  <mjw@redhat.com>
 
        * Makefile.am (SUBDIRS): Add libdwelf.
index aa554e6..d044a7c 100644 (file)
@@ -35,7 +35,7 @@ EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
 # Run all tests under valgrind.
 DISTCHECK_CONFIGURE_FLAGS = \
        --libdir=`echo $(libdir) | sed "s,^$(exec_prefix),$$dc_install_base,"`\
-       --enable-valgrind --enable-dwz \
+       --enable-valgrind \
        CC="$(CC)"
 
 distcheck-hook:
diff --git a/NEWS b/NEWS
index 78c42bd..443cc3a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,7 +4,16 @@ stack: New option -d, --debugname to lookup DWARF debuginfo name for frame.
        New option -i, --inlines to show inlined frames using DWARF debuginfo.
 
 libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level Functions.
-          New function dwelf_elf_gnu_debuglink.
+          New function dwelf_elf_gnu_debuglink, dwelf_dwarf_gnu_debugaltlink,
+         and dwelf_elf_gnu_build_id.
+
+libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and
+       DW_FORM_GNU_strp_alt is now enabled by default and no longer
+       experimental. Added new functions dwarf_getalt and dwarf_setalt
+       to get or set the alternative debug file used for the alt FORMs.
+
+libdwfl: The dwfl_build_id_find_debuginfo and dwfl_standard_find_debuginfo
+         functions will now try to resolve and set the alternative debug file.
 
 Version 0.158
 
index e7173ad..0ae6897 100644 (file)
@@ -70,16 +70,6 @@ AS_IF([test "$use_locks" = yes],
 
 AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.])
 
-AC_ARG_ENABLE([dwz],
-AS_HELP_STRING([--enable-dwz], [enable experimental GNU ref_alt FORM, dwz multi file support in libdw]),
-enable_dwz=$enableval, enable_dwz=no)
-AM_CONDITIONAL(ENABLE_DWZ, test "$enable_dwz" = yes)
-AS_IF([test "$enable_dwz" = yes], [AC_DEFINE(ENABLE_DWZ)])
-AS_IF([test "$enable_dwz" = no -a -d /usr/lib/debug/.dwz],
-      [AC_MSG_WARN([--enable-dwz disabled and /usr/lib/debug/.dwz exists, native tests might fail])])
-
-AH_TEMPLATE([ENABLE_DWZ], [Defined if libdw should support GNU ref_alt FORM, dwz multi files.])
-
 AC_PROG_CC
 AC_PROG_RANLIB
 AC_PROG_YACC
index 960c831..780b34d 100644 (file)
@@ -1,3 +1,7 @@
+2014-05-02  Mark Wielaard  <mjw@redhat.com>
+
+       * libdwP.h (__check_build_id): Removed now unused.
+
 2014-05-01  Mark Wielaard  <mjw@redhat.com>
 
        * libdwP.h (struct Dwarf): Remove free_alt.
index 4136135..ce8a83d 100644 (file)
@@ -652,14 +652,6 @@ unsigned char * __libdw_formptr (Dwarf_Attribute *attr, int sec_index,
                                 Dwarf_Off *offsetp)
   internal_function;
 
-#ifdef ENABLE_DWZ
-/* Checks that the build_id of the underlying Elf matches the expected.
-   Returns zero on match, -1 on error or no build_id found or 1 when
-   build_id doesn't match.  */
-int __check_build_id (Dwarf *dw, const uint8_t *build_id, const size_t id_len)
-  internal_function;
-#endif /* ENABLE_DWZ */
-
 /* Fills in the given attribute to point at an empty location expression.  */
 void __libdw_empty_loc_attr (Dwarf_Attribute *attr, struct Dwarf_CU *cu)
   internal_function;
index a33bd25..2cf0752 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-02  Mark Wielaard  <mjw@redhat.com>
+
+       * dwfl_module_getdwarf: Remove ENABLE_DWZ ifdefs so find_debug_altlink
+       is always called.
+
 2014-05-01  Mark Wielaard  <mjw@redhat.com>
 
        * libdwflP.h (struct Dwfl_Module): Add alt, alt_fd and alt_elf fields.
index 293e8e7..7259984 100644 (file)
@@ -508,7 +508,6 @@ find_debuginfo (Dwfl_Module *mod)
   return result;
 }
 
-#ifdef ENABLE_DWZ
 /* Try to find the alternative debug link for the given DWARF and set
    it if found.  Only called when mod->dw is already setup but still
    might need an alternative (dwz multi) debug file.  filename is either
@@ -558,7 +557,6 @@ find_debug_altlink (Dwfl_Module *mod, const char *filename)
       free (altfile); /* See above, we don't really need it.  */
     }
 }
-#endif /* ENABLE_DWZ */
 
 /* Try to find a symbol table in FILE.
    Returns DWFL_E_NOERROR if a proper one is found.
@@ -1209,12 +1207,10 @@ find_dw (Dwfl_Module *mod)
       mod->debug.elf = mod->main.elf;
       mod->debug.address_sync = mod->main.address_sync;
 
-#ifdef ENABLE_DWZ
       /* The Dwarf might need an alt debug file, find that now after
         everything about the debug file has been setup (the
         find_debuginfo callback might need it).  */
       find_debug_altlink (mod, mod->main.name);
-#endif /* ENABLE_DWZ */
       return;
 
     case DWFL_E_NO_DWARF:
@@ -1232,12 +1228,10 @@ find_dw (Dwfl_Module *mod)
       mod->dwerr = load_dw (mod, &mod->debug);
       if (mod->dwerr == DWFL_E_NOERROR)
        {
-#ifdef ENABLE_DWZ
          /* The Dwarf might need an alt debug file, find that now after
             everything about the debug file has been setup (the
             find_debuginfo callback might need it).  */
          find_debug_altlink (mod, mod->debug.name);
-#endif /* ENABLE_DWZ */
          return;
        }
 
index f180fe4..380facd 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-02  Mark Wielaard  <mjw@redhat.com>
+
+       * Makefile.am (TESTS): run-readelf-dwz-multi.sh and
+       run-allfcts-multi.sh are now added unconditionally.
+
 2014-05-01  Mark Wielaard  <mjw@redhat.com>
 
        * run-readelf-dwz-multi.sh: Add tests with alt debug files in .dwz
index dd110a5..4cc81c9 100644 (file)
@@ -108,7 +108,8 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
        run-backtrace-core-i386.sh run-backtrace-core-ppc.sh \
        run-backtrace-core-s390x.sh run-backtrace-core-s390.sh \
        run-backtrace-core-aarch64.sh \
-       run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh
+       run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh \
+       run-readelf-dwz-multi.sh run-allfcts-multi.sh
 
 if !BIARCH
 export ELFUTILS_DISABLE_BIARCH = 1
@@ -136,11 +137,6 @@ check_PROGRAMS += $(asm_TESTS)
 TESTS += $(asm_TESTS)
 endif
 
-if ENABLE_DWZ
-TESTS += run-readelf-dwz-multi.sh run-allfcts-multi.sh
-endif
-
-
 EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
             run-show-die-info.sh run-get-files.sh run-get-lines.sh \
             run-get-pubnames.sh run-get-aranges.sh \