aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-03-11 14:25:02 +0100
committerTom de Vries <tdevries@suse.de>2020-03-11 14:25:02 +0100
commit1c6c46a012a43aefb6183fa2dd16ec6db5751aa3 (patch)
tree5f1adf27c5425e1d386dc763210629b015d30059
parent8248d21a5b8b7bb9970163b8b327f5ac2f857f33 (diff)
downloadbinutils-1c6c46a012a43aefb6183fa2dd16ec6db5751aa3.zip
binutils-1c6c46a012a43aefb6183fa2dd16ec6db5751aa3.tar.gz
binutils-1c6c46a012a43aefb6183fa2dd16ec6db5751aa3.tar.bz2
[gdb/testsuite] Limit verbose scope in gdb.base/break-interp.exp
I'm running into the following failure (and 17 more like it) in gdb.base/break-interp.exp: ... (gdb) bt^M #0 0x00007fde85a3b0c1 in __GI___nanosleep \ (requested_time=requested_time@entry=0x7ffe5044ee70, \ remaining=remaining@entry=0x7ffe5044ee70) at nanosleep.c:27^M #1 0x00007fde85a3affa in __sleep (seconds=0) at sleep.c:55^M #2 0x00007fde8606789c in libfunc (Reading in symbols for libc-start.c...^M action=0x7ffe5044fa12 "sleep") at gdb.base/break-interp-lib.c:41^M #3 0x0000000000400708 in main ()^M Reading in symbols for ../sysdeps/x86_64/start.S...^M (gdb) FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: \ BINprelinkNOdebugNOpieNO: INNER: attach: attach main bt ... The problem is that the test uses verbose mode to detect the "PIE (Position Independent Executable) displacement" messages, but the verbose mode also triggers "Reading in symbols for" messages, which may appear in the middle of a backtrace (or not, depending on whether debug info is available). [ In fact, the messages appear in the middle of a backtrace line, which is PR25613. ] Fix these FAILs by limiting the scope of verbose to the parts of the test that need it. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-03-11 Tom de Vries <tdevries@suse.de> * gdb.base/break-interp.exp: Limit verbose scope.
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.base/break-interp.exp8
2 files changed, 12 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index fce29b6..8a7ca8e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2020-03-11 Tom de Vries <tdevries@suse.de>
+ * gdb.base/break-interp.exp: Limit verbose scope.
+
+2020-03-11 Tom de Vries <tdevries@suse.de>
+
* gdb.fortran/logical.f90: Define variable with character type.
* gdb.fortran/logical.exp: Use character type instead of uint8_t.
diff --git a/gdb/testsuite/gdb.base/break-interp.exp b/gdb/testsuite/gdb.base/break-interp.exp
index 6f1af0e..ba05a22 100644
--- a/gdb/testsuite/gdb.base/break-interp.exp
+++ b/gdb/testsuite/gdb.base/break-interp.exp
@@ -251,6 +251,7 @@ proc test_core {file displacement} {
if ![regexp {^(NONE|FOUND-.*)$} $displacement] {
fail $test_displacement
}
+ gdb_test_no_output "set verbose off"
gdb_test "bt" "#\[0-9\]+ +\[^\r\n\]*\\mlibfunc\\M\[^\r\n\]*\r\n#\[0-9\]+ +\[^\r\n\]*\\mmain\\M.*" "core main bt"
}
@@ -301,6 +302,7 @@ proc test_attach_gdb {file pid displacement prefix} {
if ![regexp {^(NONE|FOUND-.*)$} $displacement] {
fail $test_displacement
}
+ gdb_test_no_output "set verbose off"
gdb_test "bt" "#\[0-9\]+ +\[^\r\n\]*\\mlibfunc\\M\[^\r\n\]*\r\n#\[0-9\]+ +\[^\r\n\]*\\mmain\\M.*" "attach main bt"
gdb_exit
@@ -409,19 +411,24 @@ proc test_ld {file ifmain trynosym displacement} {
reach $solib_bp "run" $displacement 1
+ gdb_test_no_output "set verbose off"
gdb_test "bt" "#0 +\[^\r\n\]*\\m(__GI_)?$solib_bp\\M.*" "dl bt"
+ gdb_test_no_output "set verbose on"
if $ifmain {
reach "main" continue "NONE"
reach "libfunc" continue "NONE"
+ gdb_test_no_output "set verbose off"
gdb_test "bt" "#0 +\[^\r\n\]*\\mlibfunc\\M\[^\r\n\]*\r\n#1 +\[^\r\n\]*\\mmain\\M.*" "main bt"
+ gdb_test_no_output "set verbose on"
}
# Try re-run if the new PIE displacement takes effect.
gdb_test "kill" "" "kill" {Kill the program being debugged\? \(y or n\) } "y"
reach $solib_bp "run" $displacement 2
+ gdb_test_no_output "set verbose off"
if $ifmain {
test_core $file $displacement
@@ -524,6 +531,7 @@ proc test_ld {file ifmain trynosym displacement} {
fail $test_displacement
}
}
+ gdb_test_no_output "set verbose off"
}
}