diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-24 16:41:26 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-24 16:41:26 +0000 |
commit | 930cb640334354cb47260d9c3892ffa58dbbb190 (patch) | |
tree | b594bfc186b28538fb862a21ed9436a49a495199 /gdb/breakpoint.h | |
parent | fbd2b6c9b592512255e255db6f64d03535b9e4cf (diff) | |
download | gdb-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.h | 9 |
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); |