mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-29 13:04:46 +08:00
inf_ttrace_follow_fork: detach_breakpoints called twice for child.
When debugging a program that forks with follow-fork set to follow the parent, we end up calling detach_breakpoints for the child twice. On ia64-hpux, this leads to a warning when trying to remove the breakpoints the second time around, because the ia64 code detects that the address does not point to a breakpoint instruction. gdb/ChangeLog: * inf-ttrace.c (inf_ttrace_follow_fork): When following the parent, only call detach_breakpoints if tts.tts_event == TTEVT_VFORK.
This commit is contained in:
parent
58f594cdb7
commit
2dcc608618
@ -1,3 +1,9 @@
|
||||
2012-08-16 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* inf-ttrace.c (inf_ttrace_follow_fork): When following the
|
||||
parent, only call detach_breakpoints if tts.tts_event ==
|
||||
TTEVT_VFORK.
|
||||
|
||||
2012-08-16 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* dwarf2-frame.c (dwarf2_frame_cache): Use
|
||||
|
@ -467,7 +467,11 @@ inf_ttrace_follow_fork (struct target_ops *ops, int follow_child)
|
||||
else
|
||||
{
|
||||
inferior_ptid = ptid_build (pid, lwpid, 0);
|
||||
detach_breakpoints (fpid);
|
||||
/* Detach any remaining breakpoints in the child. In the case
|
||||
of fork events, we do not need to do this, because breakpoints
|
||||
should have already been removed earlier. */
|
||||
if (tts.tts_event == TTEVT_VFORK)
|
||||
detach_breakpoints (fpid);
|
||||
|
||||
target_terminal_ours ();
|
||||
fprintf_unfiltered (gdb_stdlog,
|
||||
|
Loading…
Reference in New Issue
Block a user