From bed566bbf6b619e15f0290c7d4c8a8b6dcbd99d4 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 10 Mar 2022 09:11:40 +0000 Subject: Add option to objdump/readelf to disable access to debuginfod servers. * dwarf.c (use_debuginfod): New variable. Set to 1. (load_separate_debug_info): Only call debuginfod_fetch_separate_debug_info is use_debuginfod is true. (dwarf_select_sections_by_names): Add do-not-use-debuginfod and use-debuginfod options. (dwarf_select_sections_by_letters): Add D and E options. * dwarf.h (use_debuginfod): New extern. * objdump.c (usage): Mention the new options. * readelf.c (usage): Likewise. * doc/binutils.texi: Document the new options. * doc/debug-options.texi: Describe the new options. * NEWS: Mention the new feature. * testsuite/binutils-all/debuginfod.exp: Add tests of the new options. --- binutils/doc/binutils.texi | 11 ++++++++++- binutils/doc/debug.options.texi | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'binutils/doc') diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 288974b..c73837e 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -2246,6 +2246,8 @@ objdump [@option{-a}|@option{--archive-headers}] @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [@option{-WK}|@option{--dwarf=follow-links}] [@option{-WN}|@option{--dwarf=no-follow-links}] + [@option{-wD}|@option{--dwarf=use-debuginfod}] + [@option{-wE}|@option{--dwarf=do-not-use-debuginfod}] [@option{-L}|@option{--process-links}] [@option{--ctf=}@var{section}] [@option{-G}|@option{--stabs}] @@ -4883,6 +4885,8 @@ readelf [@option{-a}|@option{--all}] @option{--debug-dump}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [@option{-wK}|@option{--debug-dump=follow-links}] [@option{-wN}|@option{--debug-dump=no-follow-links}] + [@option{-wD}|@option{--debug-dump=use-debuginfod}] + [@option{-wE}|@option{--debug-dump=do-not-use-debuginfod}] [@option{-P}|@option{--process-links}] [@option{--dwarf-depth=@var{n}}] [@option{--dwarf-start=@var{n}}] @@ -5508,7 +5512,8 @@ deduced from the input file @cindex separate debug files debuginfod is a web service that indexes ELF/DWARF debugging resources -by build-id and serves them over HTTP. +by build-id and serves them over HTTP. For more information see: +@emph{https://sourceware.org/elfutils/Debuginfod.html} Binutils can be built with the debuginfod client library @code{libdebuginfod} using the @option{--with-debuginfod} configure option. @@ -5520,6 +5525,10 @@ separate debug files when the files are otherwise not found. debuginfod is packaged with elfutils, starting with version 0.178. You can get the latest version from `https://sourceware.org/elfutils/'. +The DWARF info dumping tools (@command{readelf} and @command{objdump}) +have options to control when they should access the debuginfod +servers. By default this access is enabled. + @node Reporting Bugs @chapter Reporting Bugs @cindex bugs diff --git a/binutils/doc/debug.options.texi b/binutils/doc/debug.options.texi index dbe74ff..26477ec 100644 --- a/binutils/doc/debug.options.texi +++ b/binutils/doc/debug.options.texi @@ -68,10 +68,27 @@ chosen when configuring the binutils via the @option{--enable-follow-debug-links=no} options. If these are not used then the default is to enable the following of debug links. +Note - if support for the debuginfod protocol was enabled when the +binutils were built then this option will also include an attempt to +contact any debuginfod servers mentioned in the @var{DEBUGINFOD_URLS} +environment variable. This could take some time to resolve. This +behaviour can be disabled via the @option{=do-not-use-debuginfod} debug +option. + @item N @itemx =no-follow-links Disables the following of links to separate debug info files. +@item D +@itemx =use-debuginfod +Enables contacting debuginfod servers if there is a need to follow +debug links. This is the default behaviour. + +@item E +@itemx =do-not-use-debuginfod +Disables contacting debuginfod servers when there is a need to follow +debug links. + @item l @itemx =rawline Displays the contents of the @samp{.debug_line} section in a raw -- cgit v1.1