diff options
author | Pedro Alves <palves@redhat.com> | 2008-07-08 10:59:57 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2008-07-08 10:59:57 +0000 |
commit | 25b22b0a6f353d95932f8ee0b9bf861d3eed3261 (patch) | |
tree | 71079bc123086beec131668ccfc9f6b1c64a24d5 /gdb/inf-ttrace.c | |
parent | cce9b6bff92ae507e4517198c4b64e268f975760 (diff) | |
download | gdb-25b22b0a6f353d95932f8ee0b9bf861d3eed3261.zip gdb-25b22b0a6f353d95932f8ee0b9bf861d3eed3261.tar.gz gdb-25b22b0a6f353d95932f8ee0b9bf861d3eed3261.tar.bz2 |
* 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/inf-ttrace.c')
-rw-r--r-- | gdb/inf-ttrace.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/inf-ttrace.c b/gdb/inf-ttrace.c index 8a8399a..95c296e 100644 --- a/gdb/inf-ttrace.c +++ b/gdb/inf-ttrace.c @@ -904,6 +904,12 @@ inf_ttrace_wait (ptid_t ptid, struct target_waitstatus *ourstatus) tts.tts_u.tts_exec.tts_pathlen, 0) == -1) perror_with_name (("ttrace")); ourstatus->value.execd_pathname[tts.tts_u.tts_exec.tts_pathlen] = 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. */ + mark_breakpoints_out (); break; case TTEVT_EXIT: |