This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]