diff options
author | Tom de Vries <tdevries@suse.de> | 2022-12-31 07:26:53 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-12-31 07:26:53 +0100 |
commit | e64ddcc663b79cf2ceb51be8dc175982049715b2 (patch) | |
tree | 2e5beb182de8d9438b5dc77254454dc8245d57d3 | |
parent | 2da7ec8e8a722c146a9b7b9e52ad3b31f14256fa (diff) | |
download | gdb-e64ddcc663b79cf2ceb51be8dc175982049715b2.zip gdb-e64ddcc663b79cf2ceb51be8dc175982049715b2.tar.gz gdb-e64ddcc663b79cf2ceb51be8dc175982049715b2.tar.bz2 |
[gdb/testsuite] Fix gdb.base/corefile.exp with glibc 2.35
On Ubuntu 22.04.1 x86_64 (with glibc 2.35), I run into:
...
(gdb) PASS: gdb.base/corefile.exp: $_exitcode is void
bt^M
#0 __pthread_kill_implementation (...) at ./nptl/pthread_kill.c:44^M
#1 __pthread_kill_internal (...) at ./nptl/pthread_kill.c:78^M
#2 __GI___pthread_kill (...) at ./nptl/pthread_kill.c:89^M
#3 0x00007f4985e1a476 in __GI_raise (...) at ../sysdeps/posix/raise.c:26^M
#4 0x00007f4985e007f3 in __GI_abort () at ./stdlib/abort.c:79^M
#5 0x0000556b4ea4b504 in func2 () at gdb.base/coremaker.c:153^M
#6 0x0000556b4ea4b516 in func1 () at gdb.base/coremaker.c:159^M
#7 0x0000556b4ea4b578 in main (...) at gdb.base/coremaker.c:171^M
(gdb) PASS: gdb.base/corefile.exp: backtrace
up^M
#1 __pthread_kill_internal (...) at ./nptl/pthread_kill.c:78^M
78 in ./nptl/pthread_kill.c^M
(gdb) FAIL: gdb.base/corefile.exp: up
...
The problem is that the regexp used here:
...
gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up"
...
does not fit the __pthread_kill_internal line which lacks the instruction
address due to inlining.
Fix this by making the regexp less strict.
Tested on x86_64-linux.
-rw-r--r-- | gdb/testsuite/gdb.base/corefile.exp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp index f15e1e9..a7b4412 100644 --- a/gdb/testsuite/gdb.base/corefile.exp +++ b/gdb/testsuite/gdb.base/corefile.exp @@ -153,7 +153,7 @@ gdb_test "print \$_exitcode" " = void" \ # file correctly. I don't think the other tests do this. gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace" -gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up" +gdb_test "up" "#\[0-9\]* *(\[0-9xa-fH'\]* in)? .* \\(.*\\).*" "up" # Test ability to read mmap'd data @@ -197,7 +197,7 @@ gdb_test "x/wx buf3" "$hex:\[ \t\]+0x00000000" \ # test reinit_frame_cache gdb_load ${binfile} -gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up (reinit)" +gdb_test "up" "#\[0-9\]* *(\[0-9xa-fH'\]* in)? .* \\(.*\\).*" "up (reinit)" gdb_test "core" "No core file now." |