Make signal-while-stepping-over-bp-other-thread.exp run against remote targets too.
Use pthread_kill instead of the host's "kill". The reason the test wasn't written that way to begin with, is that done this way, before the previous fixes to make GDB step-over all other threads before the stepping thread, the test would fail... Tested on x86_64 Fedora 17, native and gdbserver. gdb/testsuite/ 2014-03-20 Pedro Alves <palves@redhat.com> * gdb.threads/signal-while-stepping-over-bp-other-thread.c (main): Use pthread_kill to signal thread 2. * gdb.threads/signal-while-stepping-over-bp-other-thread.exp: Adjust to make the test send itself a signal rather than using the host's "kill" command.
This commit is contained in:
parent
99619beac6
commit
9f5e1e021a
|
@ -1,3 +1,11 @@
|
|||
2014-03-20 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* gdb.threads/signal-while-stepping-over-bp-other-thread.c (main):
|
||||
Use pthread_kill to signal thread 2.
|
||||
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
|
||||
Adjust to make the test send itself a signal rather than using the
|
||||
host's "kill" command.
|
||||
|
||||
2014-03-20 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* gdb.threads/multiple-step-overs.c: New file.
|
||||
|
|
|
@ -138,6 +138,8 @@ main ()
|
|||
pthread_barrier_wait (&barrier);
|
||||
callme (); /* set wait-thread-3 breakpoint here */
|
||||
|
||||
pthread_kill (child_thread_2, SIGUSR1);
|
||||
|
||||
pthread_join (child_thread_2, NULL);
|
||||
pthread_join (child_thread_3, NULL);
|
||||
|
||||
|
|
|
@ -26,11 +26,6 @@ if [target_info exists gdb,nosignals] {
|
|||
return -1
|
||||
}
|
||||
|
||||
# Test uses host "kill".
|
||||
if { [is_remote target] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
|
||||
executable [list debug "incdir=${objdir}"]] != "" } {
|
||||
return -1
|
||||
|
@ -67,11 +62,6 @@ gdb_breakpoint [gdb_get_line_number "set wait-thread-3 breakpoint here"]
|
|||
gdb_continue_to_breakpoint "run to breakpoint"
|
||||
gdb_test "info threads" "" "info threads with thread 3"
|
||||
|
||||
set testpid [get_value "pid" "get pid of inferior"]
|
||||
if { $testpid == -1 } {
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test "set scheduler-locking on"
|
||||
|
||||
gdb_breakpoint [gdb_get_line_number "set breakpoint child_two here"]
|
||||
|
@ -94,8 +84,8 @@ gdb_test "p *myp = 0" " = 0" "force loop break in thread 2"
|
|||
# core.
|
||||
gdb_test "handle SIGUSR1 print nostop pass" "" ""
|
||||
|
||||
# Queue a signal in thread 2.
|
||||
remote_exec host "kill -SIGUSR1 ${testpid}"
|
||||
gdb_test "thread 1" "" "switch to thread 1 to queue signal in thread 2"
|
||||
gdb_test "next 2" "pthread_join .*" "queue signal in thread 2"
|
||||
|
||||
gdb_test "thread 3" "" "switch to thread 3 for stepping"
|
||||
set my_number [get_value "my_number" "get my_number"]
|
||||
|
|
Loading…
Reference in New Issue