gdb/
2012-11-02 Pedro Alves <palves@redhat.com> PR gdb/14766 * infrun.c (handle_inferior_event) <TARGET_WAITKIND_EXITED/TARGET_WAITKIND_SIGNALLED>: Switch to null_ptid before handling a vfork child exec or exit. Switch to the event ptid afterwards. gdb/testsuite/ 2012-11-02 Pedro Alves <palves@redhat.com> PR gdb/14766 * gdb.base/foll-vfork.exp (vfork_child_follow_to_exit): Remove setup_kfail. (tcatch_vfork_then_child_follow_exit): No longer expect "Couldn't get registers".
This commit is contained in:
parent
71ce889da9
commit
f50f4e56a6
4 changed files with 29 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
|||
2012-11-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR gdb/14766
|
||||
|
||||
* infrun.c (handle_inferior_event)
|
||||
<TARGET_WAITKIND_EXITED/TARGET_WAITKIND_SIGNALLED>: Switch to
|
||||
null_ptid before handling a vfork child exec or exit. Switch to
|
||||
the event ptid afterwards.
|
||||
|
||||
2012-11-02 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* std-operator.def: Remove OP_LABELED.
|
||||
|
|
11
gdb/infrun.c
11
gdb/infrun.c
|
@ -663,7 +663,16 @@ handle_vfork_child_exec_or_exit (int exec)
|
|||
|
||||
/* follow-fork child, detach-on-fork on. */
|
||||
|
||||
old_chain = make_cleanup_restore_current_thread ();
|
||||
if (!exec)
|
||||
{
|
||||
/* If we're handling a child exit, then inferior_ptid
|
||||
points at the inferior's pid, not to a thread. */
|
||||
old_chain = save_inferior_ptid ();
|
||||
save_current_program_space ();
|
||||
save_current_inferior ();
|
||||
}
|
||||
else
|
||||
old_chain = save_current_space_and_thread ();
|
||||
|
||||
/* We're letting loose of the parent. */
|
||||
tp = any_live_thread_of_process (inf->vfork_parent->pid);
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2012-11-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR gdb/14766
|
||||
|
||||
* gdb.base/foll-vfork.exp (vfork_child_follow_to_exit): Remove
|
||||
setup_kfail.
|
||||
(tcatch_vfork_then_child_follow_exit): No longer expect "Couldn't
|
||||
get registers".
|
||||
|
||||
2012-11-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* gdb.base/foll-vfork-exit.c: New file.
|
||||
|
|
|
@ -164,7 +164,7 @@ proc vfork_child_follow_to_exit {} {
|
|||
set test "continue to child exit"
|
||||
gdb_test_multiple "continue" $test {
|
||||
-re "Couldn't get registers.*$gdb_prompt " {
|
||||
setup_kfail "gdb/14766" *-*-*
|
||||
# PR gdb/14766
|
||||
fail "$test"
|
||||
}
|
||||
-re "Attaching after.* vfork to.*Detaching vfork parent .* after child exit.*$gdb_prompt " {
|
||||
|
@ -369,10 +369,6 @@ proc tcatch_vfork_then_child_follow_exit {} {
|
|||
|
||||
set test "finish"
|
||||
gdb_test_multiple "finish" $test {
|
||||
-re "Couldn't get registers.*$gdb_prompt " {
|
||||
setup_kfail "gdb/14766" *-*-*
|
||||
fail "$test "
|
||||
}
|
||||
-re "Run till exit from.*vfork.*exited normally.*$gdb_prompt " {
|
||||
setup_kfail "gdb/14762" *-*-*
|
||||
fail $test
|
||||
|
|
Loading…
Add table
Reference in a new issue