Pass INTERNAL_GDBFLAGS when executing GDB

gdb.debuginfod/fetch_src_and_symbols.exp attempts to ascertain
whether GDB was built with debuginfod support by executing
"$GDB --configuration".

That seems harmless enough. However, if GDB is not already installed
on the host, the command will fail:

$ ./gdb --config
Exception caught while booting Guile.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"
./gdb: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Python Exception <class 'ModuleNotFoundError'> No module named 'gdb':
./gdb: warning:
Could not load the Python gdb module from `/usr/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.
This GDB was configured as follows:
   configure --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu
      [abbreviated output]

The problem here is, of course, that while running in the test suite,
we must pass INTERNAL_GDBFLAGS in order to pick up the --data-directory
option.

gdb/testsuite/ChangeLog
2020-06-17  Keith Seitz  <keiths@redhat.com>

	* gdb.deuginfod/fetch_src_and_symbols.exp: Pass INTERNAL_GDBFLAGS
	when executing "gdb --configuration".
This commit is contained in:
Keith Seitz 2020-06-17 08:21:30 -07:00
parent 00401e65be
commit 43327b208e
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2020-06-17 Keith Seitz <keiths@redhat.com>
* gdb.deuginfod/fetch_src_and_symbols.exp: Pass INTERNAL_GDBFLAGS
when executing "gdb --configuration".
2020-06-17 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (gdb_tcl_unknown): New proc.

View File

@ -30,7 +30,8 @@ if { [which curl] == 0 } {
}
# Skip testing if gdb was not configured with debuginfod
if { [string first "with-debuginfod" [exec $GDB --configuration]] == -1 } {
if { [string first "with-debuginfod" \
[eval exec $GDB $INTERNAL_GDBFLAGS --configuration]] == -1 } {
untested "gdb not configured with debuginfod"
return -1
}