gdb: add set/show commands for managing debuginfod
authorAaron Merey <amerey@redhat.com>
Fri, 29 Oct 2021 23:55:57 +0000 (19:55 -0400)
committerAaron Merey <amerey@redhat.com>
Sat, 30 Oct 2021 00:58:21 +0000 (20:58 -0400)
commit7811fa5995fcb68d30edc0f53d8823c011a12854
treeba6410c7de6620c1e624bc2d0c80e10cfab746bb
parent4a3a56c5f38f4772659a3efcb6ffd53d431a8fff
gdb: add set/show commands for managing debuginfod

Add 'set debuginfod' command.  Accepts 'on', 'off' or 'ask' as an
argument.  'on' enables debuginfod for the current session.  'off'
disables debuginfod for the current session.  'ask' will prompt
the user to either enable or disable debuginfod when the next query
is about to be performed:

    This GDB supports auto-downloading debuginfo from the following URLs:
    <URL1> <URL2> ...
    Enable debuginfod for this session? (y or [n]) y
    Debuginfod has been enabled.
    To make this setting permanent, add 'set debuginfod on' to .gdbinit.

For interactive sessions, 'ask' is the default.  For non-interactive
sessions, 'off' is the default.

Add 'show debuginfod status' command.  Displays whether debuginfod
is set to 'on', 'off' or 'ask'.

Add 'set/show debuginfod urls' commands. Accepts a string of
space-separated debuginfod server URLs to be queried.  The default
value is copied from the DEBUGINFOD_URLS environment variable.

Finally add 'set/show debuginfod verbose' commands to control whether
debuginfod-related output is displayed.  Verbose output is enabled
by default.

    (gdb) run
    Starting program: /bin/sleep 5
    Download failed: No route to host.  Continuing without debug info for /lib64/libc.so.6.

If GDB is not built with debuginfod then these commands will just display

    Support for debuginfod is not compiled into GDB.
gdb/debuginfod-support.c
gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp