[7/9,gdb/testsuite] Fix gdb.base/info-shared.exp for remote target

Message ID 20221107161333.16999-8-tdevries@suse.de
State Committed
Commit e27e0e5d4147af715d479fda7583d74cf6a17266
Headers
Series Fix remote target test fails |

Commit Message

Tom de Vries Nov. 7, 2022, 4:13 p.m. UTC
  With test-case gdb.base/info-shared.exp and 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>
---
 gdb/testsuite/gdb.base/info-shared.exp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
  

Patch

diff --git a/gdb/testsuite/gdb.base/info-shared.exp b/gdb/testsuite/gdb.base/info-shared.exp
index 290ae5793dc..8d3484b186c 100644
--- a/gdb/testsuite/gdb.base/info-shared.exp
+++ b/gdb/testsuite/gdb.base/info-shared.exp
@@ -22,12 +22,10 @@  standard_testfile
 set lib1name $testfile-solib1
 set srcfile_lib1 $srcdir/$subdir/$lib1name.c
 set binfile_lib1 [standard_output_file $lib1name.so]
-set define1 -DSHLIB1_NAME=\"$binfile_lib1\"
 
 set lib2name $testfile-solib2
 set srcfile_lib2 $srcdir/$subdir/$lib2name.c
 set binfile_lib2 [standard_output_file $lib2name.so]
-set define2 -DSHLIB2_NAME=\"$binfile_lib2\"
 
 if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 {}] != "" } {
     untested "failed to compile shared library 1"
@@ -39,12 +37,21 @@  if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 {}] != "" } {
     return -1
 }
 
+set binfile_lib1_target [gdb_download_shlib $binfile_lib1]
+set binfile_lib2_target [gdb_download_shlib $binfile_lib2]
+
+set define2 -DSHLIB2_NAME=\"$binfile_lib2_target\"
+set define1 -DSHLIB1_NAME=\"$binfile_lib1_target\"
+
 set cflags "$define1 $define2"
 if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
 	  [list additional_flags=$cflags shlib_load]] } {
     return -1
 }
 
+gdb_locate_shlib $binfile_lib1
+gdb_locate_shlib $binfile_lib2
+
 # Run "info sharedlibrary" and check for the presence or absence of
 # our libraries.
 proc check_info_shared { test expect1 expect2 } {