aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2009-06-24 16:41:30 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2009-06-24 16:41:30 +0000
commit0fd8e87fea23317d3db05d5d4ec5c97a5250bb21 (patch)
tree5bfc82c90425b4aa9c47f4700ba5a3daeb9c0ac3 /gdb/breakpoint.h
parent0f54c268db73bed9aa42b3cd4e50af2a26f1e0c4 (diff)
downloadgdb-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.h9
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);