From 1b59ca1cf1905a2c0d0b7e2e5ca8145bc0b39385 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 12 May 2020 14:41:47 +0200 Subject: [PATCH] [gdb/testsuite] Fix tcl error in jit-elf-helpers.exp When running test-case jit-elf.exp with target board cc-with-gdb-index, I run into: ... gdb compile failed, outputs/gdb.base/jit-elf/.tmp/jit-elf-main-attach: \ No such file or directory. ERROR: tcl error sourcing src/gdb/testsuite/gdb.base/jit-elf.exp. ERROR: can't read "main_basename": no such variable while executing "untested "failed to compile ${main_basename}.c"" (procedure "compile_jit_main" line 7) ... The problem is in compile_jit_main in lib/jit-elf-helpers.exp, where we try to emit an untested message using global variable main_basename.c. Fixing this by declaring the variable global results in duplicate test-names, because the same source file is compiled more than once. Instead, fix this by using the result name in the untested message. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-05-12 Tom de Vries * lib/jit-elf-helpers.exp: Don't use undefined variables in untested messages. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/jit-elf-helpers.exp | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 73df28faf1..8e7af0bb47 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-05-12 Tom de Vries + + * lib/jit-elf-helpers.exp: Don't use undefined variables in untested + messages. + 2020-05-12 Tom de Vries * gdb.multi/multi-term-settings.exp: Use with_test_prefix. diff --git a/gdb/testsuite/lib/jit-elf-helpers.exp b/gdb/testsuite/lib/jit-elf-helpers.exp index ab647abe50..62672f4ab3 100644 --- a/gdb/testsuite/lib/jit-elf-helpers.exp +++ b/gdb/testsuite/lib/jit-elf-helpers.exp @@ -37,9 +37,10 @@ proc compile_jit_main {main_srcfile main_binfile options} { debug] if { [gdb_compile ${main_srcfile} ${main_binfile} \ - executable $options] != "" } { - untested "failed to compile ${main_basename}.c" - return -1 + executable $options] != "" } { + set f [file tail $main_binfile] + untested "failed to compile $f" + return -1 } return 0 @@ -61,8 +62,9 @@ proc compile_jit_elf_main_as_so {main_solib_srcfile main_solib_binfile options} debug] if { [gdb_compile_shlib ${main_solib_srcfile} ${main_solib_binfile} \ - $options] != "" } { - untested "failed to compile ${main_solib_basename}.c as a shared library" + $options] != "" } { + set f [file tail $main_solib_binfile] + untested "failed to compile shared library $f" return -1 } @@ -94,8 +96,10 @@ proc compile_and_download_n_jit_so {jit_solib_basename jit_solib_srcfile count} additional_flags=-DFUNCTION_NAME=[format "jit_function_%04d" $i] \ additional_flags=-Xlinker \ additional_flags=-Ttext-segment=$addr] - if { [gdb_compile_shlib ${jit_solib_srcfile} ${binfile} $options] != "" } { - untested "failed to compile ${jit_solib_basename}.c as a shared library" + if { [gdb_compile_shlib ${jit_solib_srcfile} ${binfile} \ + $options] != "" } { + set f [file tail $binfile] + untested "failed to compile shared library $binfile" return -1 } @@ -104,4 +108,4 @@ proc compile_and_download_n_jit_so {jit_solib_basename jit_solib_srcfile count} } return $binfiles_target -} \ No newline at end of file +} -- 2.34.1