[master/8.1] Relax gdb.compile/compile.exp to match the address printed for frame
Commit Message
One test in gdb.compile/compile.exp passes on one fedora builder,
bt
#0 0x00007ffff7ff43f6 in _gdb_expr (__regs=0x7ffff7ff2000) at gdb
command line:1^M
#1 <function called from gdb>^M
#2 main () at /home/gdb-buildbot/fedora-x86-64-1/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.compile/compile.c:106^M
(gdb) PASS: gdb.compile/compile.exp: bt
but fails on my machine with gcc trunk,
bt^M
#0 _gdb_expr (__regs=0x7ffff7ff3000) at gdb command line:1^M
#1 <function called from gdb>^M
#2 main () at gdb/testsuite/gdb.compile/compile.c:106^M
(gdb) FAIL: gdb.compile/compile.exp: bt
The test should be tweaked to match both cases (pc in the start of line
vs pc in the middle of line). Note that I am not clear that why libcc1
emits debug info this way so that the address is in the middle of line.
I'll push it in to both master and 8.1 branch.
gdb/testsuite:
2018-01-17 Yao Qi <yao.qi@linaro.org>
* gdb.compile/compile.exp: Match the address printed for
frame in the output of command "bt".
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.compile/compile.exp | 7 +++++--
2 files changed, 10 insertions(+), 2 deletions(-)
@@ -1,3 +1,8 @@
+2018-01-17 Yao Qi <yao.qi@linaro.org>
+
+ * gdb.compile/compile.exp: Match the address printed for
+ frame in the output of command "bt".
+
2018-01-15 Tom Tromey <tom@tromey.com>
* gdb.guile/scm-ports.exp (test_mem_port_rw): Use get_valueof to
@@ -139,8 +139,11 @@ gdb_test "compile code func_doesnotexist ();" "warning: Could not find symbol \"
gdb_test "compile code *(volatile int *) 0 = 0;" \
"The program being debugged was signaled while in a function called from GDB\\.\r\nGDB remains in the frame where the signal was received\\.\r\n.*" \
"compile code segfault first"
-gdb_test "bt" \
- "\r\n#0 \[^\r\n\]* in _gdb_expr \[^\r\n\]*\r\n#1 <function called from gdb>\r\n.*"
+gdb_test "bt" [multi_line \
+ "#0 ($hex in )?_gdb_expr .*" \
+ "#1 <function called from gdb>" \
+ "#2 .*" \
+ ]
set test "p/x \$pc"
set infcall_pc 0