diff options
author | Tom de Vries <tdevries@suse.de> | 2020-03-12 09:50:04 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-03-12 09:50:04 +0100 |
commit | 1281424ccf3d05410398f4f495443d9e54426f91 (patch) | |
tree | a88fbc016bd0412a099624f6fe2b22d74b2dc60c | |
parent | 8fb879cd16a3e3d1fe93e333c4c720fd33bcc416 (diff) | |
download | binutils-1281424ccf3d05410398f4f495443d9e54426f91.zip binutils-1281424ccf3d05410398f4f495443d9e54426f91.tar.gz binutils-1281424ccf3d05410398f4f495443d9e54426f91.tar.bz2 |
[gdb/testsuite] Fix core file load FAIL in tls-core.exp
After deinstalling package glibc-debugsource, I run into the following FAIL
with test-case gdb.threads/tls-core.exp:
...
(gdb) core gdb/testsuite/outputs/gdb.threads/tls-core/tls-core.core^M
[New LWP 30081]^M
[New LWP 30080]^M
[Thread debugging using libthread_db enabled]^M
Using host libthread_db library "/lib64/libthread_db.so.1".^M
Core was generated by `gdb/testsuite/outputs/gdb.threads/tls-core/tls-c'.^M
Program terminated with signal SIGABRT, Aborted.^M
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.^M
[Current thread is 1 (Thread 0x7fb568d4b700 (LWP 30081))]^M
(gdb) FAIL: gdb.threads/tls-core.exp: native: load core file (file not found)
...
The problem is that this gdb_test_multiple clause in gdb_core_cmd:
...
-re ": No such file or directory.*\r\n$gdb_prompt $" {
fail "$test (file not found)"
return -1
}
...
triggers on the message about raise.c, while it is intended to catch:
...
$ gdb
(gdb) core bla
/home/vries/bla: No such file or directory.
...
Fix this by making the regexp more precise:
...
- -re ": No such file or directory.*\r\n$gdb_prompt $" {
+ -re "$core: No such file or directory.*\r\n$gdb_prompt $" {
...
Tested on x86_64-linux.
Also tested the test-case with this patch in place to verify that the regexp
still triggers:
...
- set core_loaded [gdb_core_cmd $corefile $test]
+ set core_loaded [gdb_core_cmd $corefile/bla $test]
...
gdb/testsuite/ChangeLog:
2020-03-12 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (gdb_core_cmd): Make "No such file or directory" regexp
more precise.
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 19114c2..3d829b0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-03-12 Tom de Vries <tdevries@suse.de> + + * lib/gdb.exp (gdb_core_cmd): Make "No such file or directory" regexp + more precise. + 2020-03-11 Simon Marchi <simon.marchi@efficios.com> * lib/gdb.exp (standard_output_file): Use `pwd -W` to convert diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 9e903ba..bb70ef1 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4648,7 +4648,7 @@ proc gdb_core_cmd { core test } { fail "$test (bad file format)" return -1 } - -re ": No such file or directory.*\r\n$gdb_prompt $" { + -re "$core: No such file or directory.*\r\n$gdb_prompt $" { fail "$test (file not found)" return -1 } |