From da4cc0cc3674024eaf51e6f98fef9fc6e558426a Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 7 Mar 2023 15:20:18 +0100 Subject: [PATCH] [gdb/testsuite] Fix gdb.base/break-probes.exp for remote target 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 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/gdb.base/break-probes.exp b/gdb/testsuite/gdb.base/break-probes.exp index 227e4f81c83..1d0612d1c66 100644 --- a/gdb/testsuite/gdb.base/break-probes.exp +++ b/gdb/testsuite/gdb.base/break-probes.exp @@ -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 $" { -- 2.30.2