summaryrefslogtreecommitdiff
path: root/gdb/breakpoint.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2009-06-24 16:41:26 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2009-06-24 16:41:26 +0000
commit930cb640334354cb47260d9c3892ffa58dbbb190 (patch)
treeb594bfc186b28538fb862a21ed9436a49a495199 /gdb/breakpoint.h
parentfbd2b6c9b592512255e255db6f64d03535b9e4cf (diff)
downloadgdb-930cb640334354cb47260d9c3892ffa58dbbb190.tar.gz
* 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 17f627ba666..1b711c01594 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);