diff options
author | Tom de Vries <tdevries@suse.de> | 2023-05-12 11:43:41 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-05-12 11:43:41 +0200 |
commit | 388f63c18f523ca32199adef33dbacbeeed3b62a (patch) | |
tree | da58df97ef4ff0f371b64cc39bae3c9a57c03ab7 /gdb | |
parent | f0f6df0a04fe521ff4df9b74981a624fa2583e3a (diff) | |
download | binutils-gdb-388f63c18f523ca32199adef33dbacbeeed3b62a.tar.gz |
[gdb/testsuite] Make is_64_target more robust
I ran test-case gdb.dwarf2/opt-out-not-implptr.exp with make-check-all.sh, and
with target board dwarf64 ran into:
...
FAIL: gdb.dwarf2/opt-out-not-implptr.exp: print noptr
...
due to is_target_64 failing because of:
...
builtin_spawn -ignore SIGHUP gcc -fno-stack-protector \
-fdiagnostics-color=never -w -c -gdwarf64 -g -o is_64_target.o \
is_64_target.c^M
gcc: error: '-gdwarf64' is ambiguous; use '-gdwarf-64' for DWARF version or \
'-gdwarf -g64' for debug level^M
compiler exited with status 1
...
The FAIL is the same FAIL I run into with target board unix/-m32: is_target_64
fails for both cases.
The reason that is_target_64 is failing for target board dwarf64, is because
of using system compiler 7.5.0 which doesn't support -gdwarf64.
Fix this by making is_target_64 use nodebug instead of debug for compilation.
Tested on x86_64-linux.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 50c10333df1..010da097766 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -3492,7 +3492,7 @@ gdb_caching_proc is_lp64_target {} { # This cannot be decided simply from looking at the target string, # as it might depend on externally passed compiler options like -m64. gdb_caching_proc is_64_target {} { - return [gdb_can_simple_compile is_64_target { + return [gdb_can_simple_compile_nodebug is_64_target { int function(void) { return 3; } int dummy[sizeof (&function) == 8 ? 1 : -1]; }] @@ -4736,6 +4736,13 @@ proc gdb_can_simple_compile {name code {type object} {compile_flags ""} {default return $ret } +# As gdb_can_simple_compile, but defaults to using nodebug instead of debug. +proc gdb_can_simple_compile_nodebug {name code {type object} {compile_flags ""} + {default_compile_flags "nodebug nowarning quiet"}} { + return [gdb_can_simple_compile $name $code $type $compile_flags \ + $default_compile_flags] +} + # Some targets need to always link a special object in. Save its path here. global gdb_saved_set_unbuffered_mode_obj set gdb_saved_set_unbuffered_mode_obj "" |