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.
This commit is contained in:
Nick Clifton
2022-03-10 09:11:40 +00:00
parent d7c448293a
commit bed566bbf6
9 changed files with 105 additions and 12 deletions
+10 -1
View File
@@ -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
+17
View File
@@ -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