diff options
author | Pedro Alves <pedro@codesourcery.com> | 2008-07-08 10:59:57 +0000 |
---|---|---|
committer | Pedro Alves <pedro@codesourcery.com> | 2008-07-08 10:59:57 +0000 |
commit | e58e16208228dc878391a692f1446a5effb2b1db (patch) | |
tree | 1a2f9e7d52a39336ef17797810da2e03f11ad75a /gdb/linux-nat.c | |
parent | d162d338475a9f57b99a2bfa5d62cc339eb47ed6 (diff) | |
download | gdb-e58e16208228dc878391a692f1446a5effb2b1db.tar.gz |
* breakpoint.c (mark_breakpoints_out): Make public.
(update_breakpoints_after_exec): Don't call mark_breakpoints_out
here. Update comment.
* breakpoint.h (mark_breakpoints_out): Declare.
* linux-nat.c (linux_handle_extended_wait): On
TARGET_WAITKIND_EXECD, call mark_breakpoints_out.
* inf-ttrace.c (inf_ttrace_wait): Likewise.
Diffstat (limited to 'gdb/linux-nat.c')
-rw-r--r-- | gdb/linux-nat.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index 964337884e0..ce3df53f5db 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -1758,6 +1758,16 @@ linux_handle_extended_wait (struct lwp_info *lp, int status, linux_parent_pid = 0; } + /* At this point, all inserted breakpoints are gone. Doing this + as soon as we detect an exec prevents the badness of deleting + a breakpoint writing the current "shadow contents" to lift + the bp. That shadow is NOT valid after an exec. + + Note that we have to do this after the detach_breakpoints + call above, otherwise breakpoints wouldn't be lifted from the + parent on a vfork, because detach_breakpoints would think + that breakpoints are not inserted. */ + mark_breakpoints_out (); return 0; } |