[gdb/testsuite] Fix gdb.base/break-probes.exp for remote target
authorTom de Vries <tdevries@suse.de>
Tue, 7 Mar 2023 14:20:18 +0000 (15:20 +0100)
committerTom de Vries <tdevries@suse.de>
Tue, 7 Mar 2023 14:20:18 +0000 (15:20 +0100)
With test-case gdb.base/break-probes.exp and target board
remote-gdbserver-on-localhost (using REMOTE_TARGET_USERNAME) we run into some
failures.

Fix these by adding the missing gdb_download_shlib and gdb_locate_shlib.

Tested on x86_64-linux.

gdb/testsuite/gdb.base/break-probes.exp

index 227e4f81c83bd7257f9ce01d7f4ffd319763c17a..1d0612d1c6689e7b9a90a41b8b7e4826a9b558ef 100644 (file)
@@ -26,11 +26,15 @@ if { [gdb_compile_shlib $srcfile_lib $binfile_lib {}] != "" } {
     return -1
 }
 
+set binfile_lib_target [gdb_download_shlib $binfile_lib]
+
 if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
-         [list debug shlib_load additional_flags=-DSHLIB_NAME=\"$binfile_lib\"]] } {
+         [list debug shlib_load additional_flags=-DSHLIB_NAME=\"$binfile_lib_target\"]] } {
     return -1
 }
 
+gdb_locate_shlib $binfile_lib
+
 # Enable stop-on-solib-events
 gdb_test_no_output "set stop-on-solib-events 1"
 
@@ -81,7 +85,9 @@ gdb_test_multiple $test $test {
 
 # GDB strips "target:" from the start of filenames
 # when operating on the local filesystem
-regsub "^target:" "$sysroot" "(target:)?" sysroot
+if { ![is_remote target] } {
+    regsub "^target:" "$sysroot" "(target:)?" sysroot
+}
 
 # Run til it loads our library
 set test "run til our library loads"
@@ -89,7 +95,7 @@ set not_loaded_library 1
 while { $not_loaded_library } {
     set not_loaded_library 0
     gdb_test_multiple "c" $test {
-       -re "Inferior loaded $sysroot$binfile_lib\\M.*$gdb_prompt $" {
+       -re "Inferior loaded $sysroot\[^\r\n\]*$binfile_lib_target\\M.*$gdb_prompt $" {
            pass $test
        }
        -re "Stopped due to shared library event\\M.*$gdb_prompt $" {