aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-11-15 15:24:54 +0100
committerTom de Vries <tdevries@suse.de>2022-11-15 15:24:54 +0100
commita1dfb76d919d45276963f2be35e8a235937d9d8f (patch)
treeb34aa055fa130e798268dccd3871de5fd876076e
parent3b35fb7cd0e2eeba611baf503d078fa395ebe1a8 (diff)
downloadgdb-a1dfb76d919d45276963f2be35e8a235937d9d8f.zip
gdb-a1dfb76d919d45276963f2be35e8a235937d9d8f.tar.gz
gdb-a1dfb76d919d45276963f2be35e8a235937d9d8f.tar.bz2
[gdb/testsuite] Fix gdb.base/solib-vanish.exp for remote target
When running test-case gdb.base/solib-vanish.exp with target board remote-gdbserver-on-localhost (using REMOTE_TARGET_USERNAME) we run into some failures. Fix these by adding the missing gdb_load_shlib. Tested on x86_64-linux. Co-Authored-by: Ivan Tetyushkin <ivan.tetyushkin@syntacore.com>
-rw-r--r--gdb/testsuite/gdb.base/solib-vanish.exp21
1 files changed, 17 insertions, 4 deletions
diff --git a/gdb/testsuite/gdb.base/solib-vanish.exp b/gdb/testsuite/gdb.base/solib-vanish.exp
index 5f47f2a..57e0b68 100644
--- a/gdb/testsuite/gdb.base/solib-vanish.exp
+++ b/gdb/testsuite/gdb.base/solib-vanish.exp
@@ -69,22 +69,35 @@ set srcfile_lib1 ${srcdir}/${subdir}/${lib1name}.c
set binfile_lib1 [standard_output_file ${lib1name}.so]
set lib1_flags [list debug shlib=${binfile_lib2}]
+if { [gdb_compile_shlib ${srcfile_lib2} ${binfile_lib2} $lib2_flags] != ""
+ || [gdb_compile_shlib ${srcfile_lib1} ${binfile_lib1} $lib1_flags] != "" } {
+ untested "failed to compile"
+ return -1
+}
+
# Main program
set testfile "solib-vanish-main"
set srcfile ${srcdir}/${subdir}/${testfile}.c
set executable ${testfile}
set binfile [standard_output_file ${executable}]
-set bin_flags [list debug shlib_load additional_flags=-DVANISH_LIB=\"${binfile_lib1}\"]
+set bin_flags [list debug shlib_load]
+set binfile_lib1_target [gdb_download_shlib $binfile_lib1]
+lappend bin_flags additional_flags=-DVANISH_LIB=\"$binfile_lib1_target\"
-if { [gdb_compile_shlib ${srcfile_lib2} ${binfile_lib2} $lib2_flags] != ""
- || [gdb_compile_shlib ${srcfile_lib1} ${binfile_lib1} $lib1_flags] != ""
- || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
+if {[is_remote target]} {
+ lappend cleanfiles_target $binfile_lib1_target.renamed
+}
+
+if { [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
untested "failed to compile"
return -1
}
clean_restart $testfile
+gdb_locate_shlib $binfile_lib1
+gdb_load_shlib $binfile_lib2
+
if { ![runto_main] } {
return
}