From bb096d0412f2cb71e7cac628fc7e251a47c1a56e Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 3 May 2014 00:23:06 +0200 Subject: [PATCH] Remove --enable-dwz. dwz alt debug is no longer experimental. Signed-off-by: Mark Wielaard --- ChangeLog | 7 +++++++ Makefile.am | 2 +- NEWS | 11 ++++++++++- configure.ac | 10 ---------- libdw/ChangeLog | 4 ++++ libdw/libdwP.h | 8 -------- libdwfl/ChangeLog | 5 +++++ libdwfl/dwfl_module_getdwarf.c | 6 ------ tests/ChangeLog | 5 +++++ tests/Makefile.am | 8 ++------ 10 files changed, 34 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index c466434..1c8ff13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-05-02 Mark Wielaard + + * 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 * Makefile.am (SUBDIRS): Add libdwelf. diff --git a/Makefile.am b/Makefile.am index aa554e6..d044a7c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 --- 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 diff --git a/configure.ac b/configure.ac index e7173ad..0ae6897 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 960c831..780b34d 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2014-05-02 Mark Wielaard + + * libdwP.h (__check_build_id): Removed now unused. + 2014-05-01 Mark Wielaard * libdwP.h (struct Dwarf): Remove free_alt. diff --git a/libdw/libdwP.h b/libdw/libdwP.h index 4136135..ce8a83d 100644 --- a/libdw/libdwP.h +++ b/libdw/libdwP.h @@ -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; diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index a33bd25..2cf0752 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2014-05-02 Mark Wielaard + + * dwfl_module_getdwarf: Remove ENABLE_DWZ ifdefs so find_debug_altlink + is always called. + 2014-05-01 Mark Wielaard * libdwflP.h (struct Dwfl_Module): Add alt, alt_fd and alt_elf fields. diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c index 293e8e7..7259984 100644 --- a/libdwfl/dwfl_module_getdwarf.c +++ b/libdwfl/dwfl_module_getdwarf.c @@ -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; } diff --git a/tests/ChangeLog b/tests/ChangeLog index f180fe4..380facd 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2014-05-02 Mark Wielaard + + * Makefile.am (TESTS): run-readelf-dwz-multi.sh and + run-allfcts-multi.sh are now added unconditionally. + 2014-05-01 Mark Wielaard * run-readelf-dwz-multi.sh: Add tests with alt debug files in .dwz diff --git a/tests/Makefile.am b/tests/Makefile.am index dd110a5..4cc81c9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 \ -- 2.7.4