diff options
author | Tom de Vries <tdevries@suse.de> | 2023-03-15 16:38:03 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-03-15 16:38:03 +0100 |
commit | 86091eae202f32acee55afdb6134e7f4efa20209 (patch) | |
tree | 9b9fc43e467399128012ce9e4d796d441de78e8a /gdb | |
parent | 81a7a72f67a318be7e1a4755ee83bafb40dcead2 (diff) | |
download | binutils-86091eae202f32acee55afdb6134e7f4efa20209.zip binutils-86091eae202f32acee55afdb6134e7f4efa20209.tar.gz binutils-86091eae202f32acee55afdb6134e7f4efa20209.tar.bz2 |
[gdb/testsuite] Unset DEBUGINFOD_URLS on remote host
When running test-case gdb.arch/i386-pkru.exp with host board
local-remote-host-notty and target board native-gdbserver on openSUSE
Tumbleweed (with DEBUGINFOD_URLS set), I run into:
...
This GDB supports auto-downloading debuginfo from the following URLs:^M
<https://debuginfod.opensuse.org/>^M
Enable debuginfod for this session? (y or [n]) ^CQuit^M
(gdb) FAIL: gdb.arch/i386-pkru.exp: runto: run to main
...
The problem is that the unsetenv for DEBUGINFOD_URLS in default_gdb_init:
...
# If DEBUGINFOD_URLS is set, gdb will try to download sources and
# debug info for f.i. system libraries. Prevent this.
unset -nocomplain ::env(DEBUGINFOD_URLS)
...
doesn't work on remote host.
Fix this by using "set debuginfod enabled off" for remote host.
Tested on x86_64-linux.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 23277c4..8b3a594 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -219,6 +219,17 @@ if ![info exists INTERNAL_GDBFLAGS] { {-iex "set height 0"} \ {-iex "set width 0"}]] + # If DEBUGINFOD_URLS is set, gdb will try to download sources and + # debug info for f.i. system libraries. Prevent this. + if { [is_remote host] } { + # Setting environment variables on build has no effect on remote host, + # so handle this using "set debuginfod enabled off" instead. + set INTERNAL_GDBFLAGS \ + "$INTERNAL_GDBFLAGS -iex \"set debuginfod enabled off\"" + } else { + # See default_gdb_init. + } + set INTERNAL_GDBFLAGS [append_gdb_data_directory_option $INTERNAL_GDBFLAGS] } @@ -6173,7 +6184,14 @@ proc default_gdb_init { test_file_name } { # If DEBUGINFOD_URLS is set, gdb will try to download sources and # debug info for f.i. system libraries. Prevent this. - unset -nocomplain ::env(DEBUGINFOD_URLS) + if { [is_remote host] } { + # See initialization of INTERNAL_GDBFLAGS. + } else { + # Using "set debuginfod enabled off" in INTERNAL_GDBFLAGS interferes + # with the gdb.debuginfod test-cases, so use the unsetenv method for + # non-remote host. + unset -nocomplain ::env(DEBUGINFOD_URLS) + } # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the # environment, we don't want these modifications to the history |