[committed][gdb/testsuite] Fix tcl error in jit-elf-helpers.exp

Tom de Vries tdevries@suse.de
Tue May 12 12:43:39 GMT 2020


Hi,

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.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Fix tcl error in jit-elf-helpers.exp

gdb/testsuite/ChangeLog:

2020-05-12  Tom de Vries  <tdevries@suse.de>

	* lib/jit-elf-helpers.exp: Don't use undefined variables in untested
	messages.

---
 gdb/testsuite/lib/jit-elf-helpers.exp | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

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
+}


More information about the Gdb-patches mailing list