From 4e2a80ba606fdb48018d06b510ff7873a10e43ae Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 13 Jan 2023 20:08:41 -0500 Subject: [PATCH] gdb/testsuite: expect SIGSEGV from top GDB spawn id When testing with the native-extended-gdbserver, I get: Thread 1 "xgdb" received signal SIGSEGV, Segmentation fault. 0x00007ffff6d828f2 in GC_find_limit_with_bound () from /usr/lib/x86_64-linux-gnu/libgc.so.1 (gdb) FAIL: gdb.gdb/selftest.exp: xgdb is at prompt This is because the -re that is supposed to match this SIGSEGV is after `-i $inferior_spawn_id`. On native, the top and bottom GDB are on the same spawn id, so it ends up working. But with a gdbserver board, that's not the case. Move the SIGSEGV -re before the `-i $inferior_spawn_id` line, such that it matches what the top GDB outputs. Do the same fix in gdb.gdb/python-helper.exp. Change-Id: I3291630e218a5a3a6a47805b999ddbc9b968c927 Approved-By: Tom Tromey --- gdb/testsuite/gdb.gdb/python-helper.exp | 2 +- gdb/testsuite/gdb.gdb/selftest.exp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/gdb.gdb/python-helper.exp b/gdb/testsuite/gdb.gdb/python-helper.exp index c147c6bcbb0..98f03ef456f 100644 --- a/gdb/testsuite/gdb.gdb/python-helper.exp +++ b/gdb/testsuite/gdb.gdb/python-helper.exp @@ -86,13 +86,13 @@ proc test_python_helper {} { # stop is being detected from the inner GDB, hence the use of -i # here. gdb_test_multiple "continue" "start inner gdb" { - -i "$inferior_spawn_id" -re "received signal SIGSEGV.* in GC_.*$outer_prompt_re" { # Some versions of the GC used by Guile cause a SEGV # during stack probing. Ignore this and carry on. send_gdb "continue\n" exp_continue } + -i "$inferior_spawn_id" -re "\r\n$gdb_prompt $" { pass $gdb_test_name } diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp index 177c29fb224..df12602b64b 100644 --- a/gdb/testsuite/gdb.gdb/selftest.exp +++ b/gdb/testsuite/gdb.gdb/selftest.exp @@ -74,13 +74,13 @@ proc test_with_self { } { "$gdb_prompt $"] set test "xgdb is at prompt" gdb_test_multiple "continue" $test { - -i "$inferior_spawn_id" -re "received signal SIGSEGV.* in GC_.*$gdb_prompt" { # Some versions of the GC used by Guile cause a SEGV # during stack probing. Ignore this and carry on. send_gdb "continue\n" exp_continue } + -i "$inferior_spawn_id" -re "$banner" { pass $test } -- 2.30.2