diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-24 16:41:30 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-24 16:41:30 +0000 |
commit | 0fd8e87fea23317d3db05d5d4ec5c97a5250bb21 (patch) | |
tree | 5bfc82c90425b4aa9c47f4700ba5a3daeb9c0ac3 /gdb/breakpoint.h | |
parent | 0f54c268db73bed9aa42b3cd4e50af2a26f1e0c4 (diff) | |
download | gdb-0fd8e87fea23317d3db05d5d4ec5c97a5250bb21.zip gdb-0fd8e87fea23317d3db05d5d4ec5c97a5250bb21.tar.gz gdb-0fd8e87fea23317d3db05d5d4ec5c97a5250bb21.tar.bz2 |
* breakpoint.h (set_longjmp_breakpoint): Add THREAD argument.
(enum bptype): Add bp_longjmp_master.
* breakpoint.c (create_longjmp_master_breakpoint): New function.
(update_breakpoints_after_exec): Handle bp_longjmp_master
breakpoints. Call create_longjmp_master_breakpoint.
(print_it_typical, bpstat_stop_status, bpstat_what,
print_one_breakpoint_location, allocate_bp_location, mention,
delete_command, breakpoint_re_set_one): Handle bp_longjmp_master.
(breakpoint_re_set): Call create_longjmp_master_breakpoint.
(create_longjmp_breakpoint): Delete.
(set_longjmp_breakpoint): Add THREAD argument. Reimplement
to install momentary clones of bp_longjmp_master breakpoints.
* infcmd.c (step_1): Pass thread to set_longjmp_breakpoint.
Diffstat (limited to 'gdb/breakpoint.h')
-rw-r--r-- | gdb/breakpoint.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 17f627b..1b711c0 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -110,6 +110,13 @@ enum bptype bp_overlay_event, + /* Master copies of longjmp breakpoints. These are always installed + as soon as an objfile containing longjmp is loaded, but they are + always disabled. While necessary, temporary clones of bp_longjmp + type will be created and enabled. */ + + bp_longjmp_master, + bp_catchpoint, bp_tracepoint, @@ -765,7 +772,7 @@ extern void update_breakpoints_after_exec (void); inferior_ptid. */ extern int detach_breakpoints (int); -extern void set_longjmp_breakpoint (void); +extern void set_longjmp_breakpoint (int thread); extern void delete_longjmp_breakpoint (int thread); extern void enable_overlay_breakpoints (void); |