From c46b706620eb9b27fa06e26406ffa4f79d9292e6 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 12 Feb 2021 14:52:22 +0000 Subject: Change the readelf and objdump programs so that they will automatically follow links to separate debug info files. * configure.ac (follow-debug-links): Add option to enable or disable the following of debug links by default. Set the default for the option to be 'follow'. * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS. (dwarf_select_sections_by_names): Add no-follow-links option. (dwarf_select_sections_by_letter): Add 'N' option. * objdump.c (usage): Add conditional text describing the follow links option. (slurp_symtab): Ensure that there is a NULL entry at the end of the symbol table. (slurp_dynamic_symtab): Likewise. (dump_bfd): When extending the symbol table, ensure that there is still a NULL entry at the end. * readelf.c (usage): Add conditional text describing the follow links option. * doc/binutils.texi: Update documentation for objcopy and readelf. * doc/debug.options.texi: Update documentation of the follow-links option. * config.in: Regenerate. * configure: Regenerate. * testsuite/binutils-all/compress.exp: Add the -WN option to objdump command lines that are not expecting to follow links. * testsuite/binutils-all/readelf.exp: Add the --debug-dump=no-follow-links option to tests that are not expecting to follow debug links. gas * testsuite/gas/mach-o/sections-1.d: Stop automatic debug link following. * testsuite/gas/xgate/insns-dwarf2.d: Likewise. ld * testsuite/ld-elf/sec64k.exp: Stop readelf from automatically following debug links. --- binutils/configure | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'binutils/configure') diff --git a/binutils/configure b/binutils/configure index 1918e94..f328d31 100755 --- a/binutils/configure +++ b/binutils/configure @@ -822,6 +822,7 @@ enable_targets enable_deterministic_archives enable_default_strings_all enable_f_for_ifunc_symbols +enable_follow_debug_links with_debuginfod enable_libctf enable_werror @@ -1489,6 +1490,9 @@ Optional Features: --enable-f-for-ifunc-symbols Have nm use F and f for global and local ifunc symbols + --enable-follow-debug-links + Have readelf and objdump follow debug links by + default --enable-libctf Handle .ctf type-info sections [default=yes] --enable-werror treat compile warnings as errors --enable-build-warnings enable build-time compiler warnings @@ -11577,7 +11581,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11580 "configure" +#line 11584 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11683,7 +11687,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11686 "configure" +#line 11690 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12359,6 +12363,27 @@ _ACEOF +# Check whether --enable-follow-debug-links was given. +if test "${enable_follow_debug_links+set}" = set; then : + enableval=$enable_follow_debug_links; +if test "${enableval}" = no; then + default_for_follow_links=0 +else + default_for_follow_links=1 +fi +else + default_for_follow_links=1 +fi + + + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_FOR_FOLLOW_LINKS $default_for_follow_links +_ACEOF + + + + -- cgit v1.1