diff options
author | Tom de Vries <tdevries@suse.de> | 2024-04-18 17:02:13 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-04-18 17:02:13 +0200 |
commit | 4c8fc167568d60a44f5a1f98bcb788a65af7a7ae (patch) | |
tree | 8015f9f822acc3634cf6a351319bbbb5a18598ee /gdb | |
parent | b0c431de3f04e5e97cff0ec917dd457696efd43e (diff) | |
download | gdb-4c8fc167568d60a44f5a1f98bcb788a65af7a7ae.zip gdb-4c8fc167568d60a44f5a1f98bcb788a65af7a7ae.tar.gz gdb-4c8fc167568d60a44f5a1f98bcb788a65af7a7ae.tar.bz2 |
[gdb/testsuite] Use find_gnatmake instead of gdb_find_gnatmake
On SLE-11, with an older dejagnu version, I ran into:
...
Running gdb.ada/mi_prot.exp ...
UNRESOLVED: gdb.ada/mi_prot.exp: \
testcase aborted due to invalid command name: gdb_find_gnatmake
ERROR: tcl error sourcing gdb.ada/mi_prot.exp.
ERROR: invalid command name "gdb_find_gnatmake"
while executing
"::gdb_tcl_unknown gdb_find_gnatmake"
("uplevel" body line 1)
invoked from within
"uplevel 1 ::gdb_tcl_unknown $args"
(procedure "::unknown" line 5)
invoked from within
"gdb_find_gnatmake"
(procedure "gnatmake_version_at_least" line 2)
invoked from within
...
Proc gdb_find_gnatmake is actually a backup for find_gnatmake:
...
if {[info procs find_gnatmake] == ""} {
rename gdb_find_gnatmake find_gnatmake
...
so gnatmake_version_at_least should use find_gnatmake instead.
For a recent dejagnu with find_gnatmake, gdb_find_gnatmake is kept, and we
don't run into this error.
For an older dejagnu without find_gnatmake, gdb_find_gnatmake is renamed to
find_gnatmake, and we do run into the error.
It's confusing that we're using the gdb_ prefix for gdb_find_gnatmake, it
seems something legitimate to use. Maybe we should use future_ or gdb_future_
prefix instead to make this more clear, but I've left that alone for now.
Fix this by:
- triggering the same error with a recent dejagnu by removing
gdb_find_gnatmake unless used (and likewise for other procs in future.exp),
and
- using find_gnatmake in gnatmake_version_at_least.
Tested on x86_64-linux.
Approved-By: Tom Tromey <tom@tromey.com>
PR testsuite/31647
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31647
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/lib/ada.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/lib/future.exp | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 558e73f..1bc0dc1 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -151,7 +151,7 @@ proc find_ada_tool {tool} { # Return 1 if gnatmake is at least version $MAJOR.x.x proc gnatmake_version_at_least { major } { - set gnatmake [gdb_find_gnatmake] + set gnatmake [find_gnatmake] set gnatmake [lindex [split $gnatmake] 0] if {[catch {exec $gnatmake --version} output]} { return 0 diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp index 3512fad..62913cb 100644 --- a/gdb/testsuite/lib/future.exp +++ b/gdb/testsuite/lib/future.exp @@ -694,12 +694,16 @@ if {[info procs find_gnatmake] == ""} { rename gdb_find_gnatmake find_gnatmake set use_gdb_compile(ada) 1 gdb_note [join [list $note_prefix "Ada" $note_suffix] ""] +} else { + rename gdb_find_gnatmake "" } if {[info procs find_gfortran] == ""} { rename gdb_find_gfortran find_gfortran set use_gdb_compile(fortran) 1 gdb_note [join [list $note_prefix "Fortran" $note_suffix] ""] +} else { + rename gdb_find_gfortran "" } if {[info procs find_go_linker] == ""} { @@ -707,24 +711,33 @@ if {[info procs find_go_linker] == ""} { rename gdb_find_go_linker find_go_linker set use_gdb_compile(go) 1 gdb_note [join [list $note_prefix "Go" $note_suffix] ""] +} else { + rename gdb_find_go "" + rename gdb_find_go_linker "" } if {[info procs find_gdc] == ""} { rename gdb_find_gdc find_gdc set use_gdb_compile(d) 1 gdb_note [join [list $note_prefix "D" $note_suffix] ""] +} else { + rename gdb_find_gdc "" } if {[info procs find_rustc] == ""} { rename gdb_find_rustc find_rustc set use_gdb_compile(rust) 1 gdb_note [join [list $note_prefix "Rust" $note_suffix] ""] +} else { + rename gdb_find_rustc "" } if {[info procs find_hipcc] == ""} { rename gdb_find_hipcc find_hipcc set use_gdb_compile(hip) 1 gdb_note [join [list $note_prefix "HIP" $note_suffix] ""] +} else { + rename gdb_find_hipcc "" } # If dejagnu's default_target_compile is missing support for any language, @@ -732,6 +745,8 @@ if {[info procs find_hipcc] == ""} { if { [array size use_gdb_compile] != 0 } { catch {rename default_target_compile dejagnu_default_target_compile} rename gdb_default_target_compile default_target_compile +} else { + rename gdb_default_target_compile "" } |