This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Fix gdb.base/attach.exp fails when gdb is configured --with-sysroot=/
- From: Yao Qi <qiyao at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 1 Feb 2018 14:51:03 -0000
- Subject: [binutils-gdb] Fix gdb.base/attach.exp fails when gdb is configured --with-sysroot=/
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d4d38844faaff1576b021558d0835dedbd415e8d
commit d4d38844faaff1576b021558d0835dedbd415e8d
Author: Yao Qi <yao.qi@linaro.org>
Date: Thu Feb 1 14:50:23 2018 +0000
Fix gdb.base/attach.exp fails when gdb is configured --with-sysroot=/
I see some test fails in gdb.base/attach.exp when gdb is configured
--with-sysroot=/.
FAIL: gdb.base/attach.exp: attach2, with no file
FAIL: gdb.base/attach.exp: load file manually, after attach2 (re-read) (got interactive prompt)
FAIL: gdb.base/attach.exp: attach when process' a.out not in cwd
If gdb is configured this way, sysroot is "/" in default, and if binfile
is a absolute path, the regexp pattern $sysroot$escapedbinfile is
incorrect.
There are different ways to fix it, but I don't want to complicate the
test, so I choose this naive way.
gdb/testsuite:
2018-02-01 Yao Qi <yao.qi@linaro.org>
* gdb.base/attach.exp (do_attach_tests): Set sysroot to
"\[^\r\n\]*".
Diff:
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.base/attach.exp | 15 ++++++---------
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 00c01fd..ad6c04a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-01 Yao Qi <yao.qi@linaro.org>
+
+ * gdb.base/attach.exp (do_attach_tests): Set sysroot to
+ "\[^\r\n\]*".
+
2018-01-31 Nikola Prica <nikola.prica@rt-rk.com>
* gdb.arch/powerpc-prologue-frame.s: New file.
diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp
index d315c27..efec49e 100644
--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -57,15 +57,12 @@ proc do_attach_tests {} {
# 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
+ # operating on the local filesystem. However the default sysroot
+ # can be set via configure option --with-sysroot, which can be "/".
+ # If $binfile is a absolute path, so pattern
+ # "$sysroot$escapedbinfile" below is wrong. Use [^\r\n]* to make
+ # $sysroot simple.
+ set sysroot "\[^\r\n\]*"
# Start the program running and then wait for a bit, to be sure
# that it can be attached to.