mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-30 13:23:50 +08:00
testsuite: Fix PR threads/19422 regression + Guile regression
The PR threads/19422 patchset added a new regression. Additionally below it there was already a regression if --with-guile (which is default if Guile is found) was used. racy case #1: (xgdb) PASS: gdb.gdb/selftest.exp: Set xgdb_prompt ^M Thread 1 "xgdb" received signal SIGINT, Interrupt.^M 0x00007ffff583bfdd in poll () from /lib64/libc.so.6^M (gdb) FAIL: gdb.gdb/selftest.exp: send ^C to child process signal SIGINT^M Continuing with signal SIGINT.^M ^C^M Thread 1 "xgdb" received signal SIGINT, Interrupt.^M 0x00007ffff5779da0 in sigprocmask () from /lib64/libc.so.6^M (gdb) PASS: gdb.gdb/selftest.exp: send SIGINT signal to child process backtrace^M errstring=errstring@entry=0x7e0e6c "", mask=mask@entry=RETURN_MASK_ALL) at exceptions.c:240^M errstring=errstring@entry=0x7e0e6c "", mask=mask@entry=RETURN_MASK_ALL) at exceptions.c:240^M (gdb) PASS: gdb.gdb/selftest.exp: backtrace through signal handler racy case #2: (xgdb) PASS: gdb.gdb/selftest.exp: Set xgdb_prompt ^M Thread 1 "xgdb" received signal SIGINT, Interrupt.^M 0x00007ffff583bfdd in poll () from /lib64/libc.so.6^M (gdb) FAIL: gdb.gdb/selftest.exp: send ^C to child process signal SIGINT^M Continuing with signal SIGINT.^M ^C^M Thread 2 "xgdb" received signal SIGINT, Interrupt.^M [Switching to Thread 0x7ffff3b7f700 (LWP 13227)]^M 0x00007ffff6b88b10 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0^M (gdb) PASS: gdb.gdb/selftest.exp: send SIGINT signal to child process backtrace^M (gdb) FAIL: gdb.gdb/selftest.exp: backtrace through signal handler Pedro Alves: Not all targets support thread names, and even those that do, not all use the program name as default thread name -- I think that's only true for GNU/Linux, actually. So I think it's best to not expect that, like: -re "(Thread .*|Program) received signal SIGINT.*$gdb_prompt $" { gdb/testsuite/ChangeLog 2016-01-22 Jan Kratochvil <jan.kratochvil@redhat.com> Fix testsuite compatibility with Guile. * gdb.gdb/selftest.exp (send ^C to child process): Accept also Thread. (thread 1): New test for backtrace through signal handler.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2016-01-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
Fix testsuite compatibility with Guile.
|
||||||
|
* gdb.gdb/selftest.exp (send ^C to child process): Accept also Thread.
|
||||||
|
(thread 1): New test for backtrace through signal handler.
|
||||||
|
|
||||||
2016-01-22 Yao Qi <yao.qi@linaro.org>
|
2016-01-22 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
PR testsuite/19491
|
PR testsuite/19491
|
||||||
|
@ -436,8 +436,9 @@ proc test_with_self { executable } {
|
|||||||
if ![target_info exists gdb,nointerrupts] {
|
if ![target_info exists gdb,nointerrupts] {
|
||||||
set description "send ^C to child process"
|
set description "send ^C to child process"
|
||||||
send_gdb "\003"
|
send_gdb "\003"
|
||||||
|
# "Thread 1" is displayed iff Guile support is linked in.
|
||||||
gdb_expect {
|
gdb_expect {
|
||||||
-re "Program received signal SIGINT.*$gdb_prompt $" {
|
-re "(Thread 1 .*|Program) received signal SIGINT.*$gdb_prompt $" {
|
||||||
pass "$description"
|
pass "$description"
|
||||||
}
|
}
|
||||||
-re ".*$gdb_prompt $" {
|
-re ".*$gdb_prompt $" {
|
||||||
@ -454,6 +455,10 @@ proc test_with_self { executable } {
|
|||||||
"Continuing with signal SIGINT.*" \
|
"Continuing with signal SIGINT.*" \
|
||||||
"$description"
|
"$description"
|
||||||
|
|
||||||
|
# Switch back to the GDB thread if Guile support is linked in.
|
||||||
|
# "signal SIGINT" could also switch the current thread.
|
||||||
|
gdb_test "thread 1" {\[Switching to thread 1 .*\].*}
|
||||||
|
|
||||||
# get a stack trace
|
# get a stack trace
|
||||||
#
|
#
|
||||||
# This fails on some linux systems for unknown reasons. On the
|
# This fails on some linux systems for unknown reasons. On the
|
||||||
|
Reference in New Issue
Block a user