[gdb/testsuite] Fix gdb.base/info_sources_2.exp for remote target
authorTom de Vries <tdevries@suse.de>
Tue, 15 Nov 2022 14:24:54 +0000 (15:24 +0100)
committerTom de Vries <tdevries@suse.de>
Tue, 15 Nov 2022 14:24:54 +0000 (15:24 +0100)
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

index f9246b8fa96d856acba64798e6161840d92097b4..9fe3d479018feadb30fb3314748144874575d111 100644 (file)
@@ -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 {}