summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2015-04-20 11:35:29 +0100
committerGary Benson <gbenson@redhat.com>2015-04-20 11:36:02 +0100
commit1586c8fbaf0116931ffacd1746a6540c81c2d438 (patch)
treefa5318c724c7ab5a4b124fcfcf38b6d8f95f397d
parent3cdf408c30480ce06ce5c7b156aab4c4601840e7 (diff)
downloadbinutils-gdb-1586c8fbaf0116931ffacd1746a6540c81c2d438.tar.gz
Fix three test failures with extended remote targets
This commit fixes three gdb.base/attach.exp failures when using extended remote targets. The failures occurred because GDB now locates and loads files when attaching on remote targets if the remote target supports qXfer:exec-file:read; the filenames were shown but with "target:" prefixes which the test has been updated to handle. gdb/testsuite/ChangeLog: * gdb.base/attach.exp: Fix three extended remote failures.
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.base/attach.exp21
2 files changed, 21 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 500a77409b6..8692a0b8925 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-04-20 Gary Benson <gbenson@redhat.com>
+
+ * gdb.base/attach.exp: Fix three extended remote failures.
+
2015-04-17 Gary Benson <gbenson@redhat.com>
* gdb.server/server-exec-info.exp: Inhibit GDB from accessing
diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp
index 38b19b5624e..f2ebe3a4c56 100644
--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -66,6 +66,19 @@ proc do_attach_tests {} {
global subdir
global timeout
+ # Figure out a regular expression that will match the sysroot,
+ # noting that the default sysroot is "target:", and also noting
+ # that GDB will strip "target:" from the start of filenames when
+ # operating on the local filesystem
+ set sysroot ""
+ set test "show sysroot"
+ gdb_test_multiple $test $test {
+ -re "The current system root is \"(.*)\"\..*${gdb_prompt} $" {
+ set sysroot $expect_out(1,string)
+ }
+ }
+ regsub "^target:" "$sysroot" "(target:)?" sysroot
+
# Start the program running and then wait for a bit, to be sure
# that it can be attached to.
@@ -219,17 +232,17 @@ proc do_attach_tests {} {
set test "attach2, with no file"
set found_exec_file 0
gdb_test_multiple "attach $testpid" "$test" {
- -re "Attaching to process $testpid.*Load new symbol table from \"$escapedbinfile\.exe\".*y or n. $" {
+ -re "Attaching to process $testpid.*Load new symbol table from \"$sysroot$escapedbinfile\.exe\".*y or n. $" {
# On Cygwin, the DLL's symbol tables are loaded prior to the
# executable's symbol table. This in turn always results in
# asking the user for actually loading the symbol table of the
# executable.
- gdb_test "y" "Reading symbols from $escapedbinfile\.\.\.*done." \
+ gdb_test "y" "Reading symbols from $sysroot$escapedbinfile\.\.\.*done." \
"$test (reset file)"
set found_exec_file 1
}
- -re "Attaching to process $testpid.*Reading symbols from $escapedbinfile.*main.*at .*$gdb_prompt $" {
+ -re "Attaching to process $testpid.*Reading symbols from $sysroot$escapedbinfile.*main.*at .*$gdb_prompt $" {
pass "$test"
set found_exec_file 1
}
@@ -298,7 +311,7 @@ proc do_attach_tests {} {
"before attach3, flush exec"
gdb_test "attach $testpid" \
- "Attaching to process $testpid.*Reading symbols from $escapedbinfile.*main.*at .*" \
+ "Attaching to process $testpid.*Reading symbols from $sysroot$escapedbinfile.*main.*at .*" \
"attach when process' a.out not in cwd"
set test "after attach3, exit"