[2/9,gdb/testsuite] Fix gdb.base/info_sources_2.exp for remote target

Message ID 20221107161333.16999-3-tdevries@suse.de
State Committed
Commit 9af7a370030a3729da4efbf26b0c746420408b3d
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_sources_2.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.
---
 gdb/testsuite/gdb.base/info_sources_2.exp | 12 ++++++++++++
 1 file changed, 12 insertions(+)
  

Patch

diff --git a/gdb/testsuite/gdb.base/info_sources_2.exp b/gdb/testsuite/gdb.base/info_sources_2.exp
index f9246b8fa96..9fe3d479018 100644
--- a/gdb/testsuite/gdb.base/info_sources_2.exp
+++ b/gdb/testsuite/gdb.base/info_sources_2.exp
@@ -20,6 +20,8 @@  if { [skip_shlib_tests] } {
     return 0
 }
 
+set is_remote_target [is_remote target]
+
 standard_testfile -test.c -lib.c
 set solib_name [standard_output_file ${testfile}-lib.so]
 
@@ -37,6 +39,8 @@  if {[gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable \
 
 clean_restart ${binfile}
 
+set solib_name [gdb_load_shlib $solib_name]
+
 if ![runto foo] {
     untested "failed to run to function foo"
     return -1
@@ -55,6 +59,7 @@  if ![runto foo] {
 # file is NOT listed for the given object file.
 proc run_info_sources { extra_args args } {
     global gdb_prompt srcdir subdir
+    global is_remote_target
 
     with_test_prefix "args: ${extra_args}" {
 
@@ -76,6 +81,9 @@  proc run_info_sources { extra_args args } {
 
 	    -re "^(\[^\r\n\]+):\r\n" {
 		set objfile_name $expect_out(1,string)
+		if { $is_remote_target } {
+		    set objfile_name [file tail $objfile_name]
+		}
 		exp_continue
 	    }
 
@@ -129,6 +137,10 @@  proc run_info_sources { extra_args args } {
 	    # Figure out the path for SOURCEFILE that we're looking for.
 	    set sourcepath [file normalize ${srcdir}/${subdir}/${sourcefile}]
 
+	    if { $is_remote_target } {
+		set objfile [file tail $objfile]
+	    }
+
 	    # Make sure we handle the case where there are no source files
 	    # associated with a particular objfile.
 	    set source_list {}