diff options
-rw-r--r-- | gdb/ChangeLog | 15 | ||||
-rw-r--r-- | gdb/breakpoint.c | 47 | ||||
-rw-r--r-- | gdb/breakpoint.h | 9 | ||||
-rw-r--r-- | gdb/infcmd.c | 2 | ||||
-rw-r--r-- | gdb/python/py-breakpoint.c | 6 |
5 files changed, 65 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9d7f6ba..5e749fa 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,20 @@ 2011-01-31 Tom Tromey <tromey@redhat.com> + * infcmd.c (finish_backward): Use breakpoint_set_silent. + * python/py-breakpoint.c (bppy_set_silent): Use + breakpoint_set_silent. + (bppy_set_thread): Use breakpoint_set_thread. + (bppy_set_task): Use breakpoint_set_task. + * breakpoint.h (breakpoint_set_silent, breakpoint_set_thread) + (breakpoint_set_task): Declare. + (make_breakpoint_silent): Remove. + * breakpoint.c (breakpoint_set_silent): New function. + (breakpoint_set_thread): Likewise. + (breakpoint_set_task): Likewise. + (make_breakpoint_silent): Remove. + +2011-01-31 Tom Tromey <tromey@redhat.com> + * breakpoint.h (user_breakpoint_p): Declare. * breakpoint.c (user_breakpoint_p): New function. (breakpoint_1): Use it. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ff0ea18..60d91ac 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -940,6 +940,46 @@ breakpoint_set_commands (struct breakpoint *b, observer_notify_breakpoint_modified (b->number); } +/* Set the internal `silent' flag on the breakpoint. Note that this + is not the same as the "silent" that may appear in the breakpoint's + commands. */ + +void +breakpoint_set_silent (struct breakpoint *b, int silent) +{ + int old_silent = b->silent; + + b->silent = silent; + if (old_silent != silent) + observer_notify_breakpoint_modified (b->number); +} + +/* Set the thread for this breakpoint. If THREAD is -1, make the + breakpoint work for any thread. */ + +void +breakpoint_set_thread (struct breakpoint *b, int thread) +{ + int old_thread = b->thread; + + b->thread = thread; + if (old_thread != thread) + observer_notify_breakpoint_modified (b->number); +} + +/* Set the task for this breakpoint. If TASK is 0, make the + breakpoint work for any task. */ + +void +breakpoint_set_task (struct breakpoint *b, int task) +{ + int old_task = b->task; + + b->task = task; + if (old_task != task) + observer_notify_breakpoint_modified (b->number); +} + void check_tracepoint_command (char *line, void *closure) { @@ -10738,13 +10778,6 @@ set_ignore_count (int bptnum, int count, int from_tty) error (_("No breakpoint number %d."), bptnum); } -void -make_breakpoint_silent (struct breakpoint *b) -{ - /* Silence the breakpoint. */ - b->silent = 1; -} - /* Command to set ignore-count of breakpoint N to COUNT. */ static void diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 6eed2cd..a7d0c61 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -1063,6 +1063,12 @@ extern void enable_breakpoint (struct breakpoint *); extern void breakpoint_set_commands (struct breakpoint *b, struct command_line *commands); +extern void breakpoint_set_silent (struct breakpoint *b, int silent); + +extern void breakpoint_set_thread (struct breakpoint *b, int thread); + +extern void breakpoint_set_task (struct breakpoint *b, int task); + /* Clear the "inserted" flag in all breakpoints. */ extern void mark_breakpoints_out (void); @@ -1140,9 +1146,6 @@ extern int catch_syscall_enabled (void); Returns 0 if not, greater than 0 if we are. */ extern int catching_syscall_number (int syscall_number); -/* Tell a breakpoint to be quiet. */ -extern void make_breakpoint_silent (struct breakpoint *); - /* Return a tracepoint with the given number if found. */ extern struct breakpoint *get_tracepoint (int num); diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 5efbf39..2755fd0 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1545,7 +1545,7 @@ finish_backward (struct symbol *function) bp_breakpoint); /* Tell the breakpoint to keep quiet. We won't be done until we've done another reverse single-step. */ - make_breakpoint_silent (breakpoint); + breakpoint_set_silent (breakpoint, 1); old_chain = make_cleanup_delete_breakpoint (breakpoint); proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0); /* We will be stopped when proceed returns. */ diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index 52ea2c4..e58533a 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -201,7 +201,7 @@ bppy_set_silent (PyObject *self, PyObject *newvalue, void *closure) if (cmp < 0) return -1; else - self_bp->bp->silent = cmp; + breakpoint_set_silent (self_bp->bp, cmp); return 0; } @@ -242,7 +242,7 @@ bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure) return -1; } - self_bp->bp->thread = id; + breakpoint_set_thread (self_bp->bp, id); return 0; } @@ -283,7 +283,7 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure) return -1; } - self_bp->bp->task = id; + breakpoint_set_task (self_bp->bp, id); return 0; } |