diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2021-08-30 16:10:41 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2021-08-31 09:55:31 -0400 |
commit | 9fe3819e83a442f1bd563000120121e5518f7d53 (patch) | |
tree | 460f1bcd0c4c163581170e926f48e15b01d12d66 | |
parent | 88ae41e17980533927f98339bcb40015522f06c4 (diff) | |
download | gdb-9fe3819e83a442f1bd563000120121e5518f7d53.zip gdb-9fe3819e83a442f1bd563000120121e5518f7d53.tar.gz gdb-9fe3819e83a442f1bd563000120121e5518f7d53.tar.bz2 |
gdb: remove breakpoint_find_if
Remove breakpoint_find_if, replace its sole usage with using
all_breakpoints directly instead. At the same time, change return
types to use bool.
Change-Id: I9ec392236b4804b362d16ab563330b9c07311106
-rw-r--r-- | gdb/break-catch-syscall.c | 26 | ||||
-rw-r--r-- | gdb/breakpoint.c | 13 | ||||
-rw-r--r-- | gdb/breakpoint.h | 18 | ||||
-rw-r--r-- | gdb/infrun.c | 2 |
4 files changed, 15 insertions, 44 deletions
diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c index 78e7079..32736f0 100644 --- a/gdb/break-catch-syscall.c +++ b/gdb/break-catch-syscall.c @@ -486,15 +486,12 @@ catch_syscall_enabled (void) return inf_data->total_syscalls_count != 0; } -/* Helper function for catching_syscall_number. If B is a syscall - catchpoint for SYSCALL_NUMBER, return 1 (which will make - 'breakpoint_find_if' return). Otherwise, return 0. */ +/* Helper function for catching_syscall_number. return true if B is a syscall + catchpoint for SYSCALL_NUMBER, else false. */ -static int -catching_syscall_number_1 (struct breakpoint *b, - void *data) +static bool +catching_syscall_number_1 (struct breakpoint *b, int syscall_number) { - int syscall_number = (int) (uintptr_t) data; if (is_syscall_catchpoint_enabled (b)) { @@ -504,22 +501,23 @@ catching_syscall_number_1 (struct breakpoint *b, { for (int iter : c->syscalls_to_be_caught) if (syscall_number == iter) - return 1; + return true; } else - return 1; + return true; } - return 0; + return false; } -int +bool catching_syscall_number (int syscall_number) { - struct breakpoint *b = breakpoint_find_if (catching_syscall_number_1, - (void *) (uintptr_t) syscall_number); + for (breakpoint *b : all_breakpoints ()) + if (catching_syscall_number_1 (b, syscall_number)) + return true; - return b != NULL; + return false; } /* Complete syscall names. Used by "catch syscall". */ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index feca224..f6c9683 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -627,19 +627,6 @@ static struct cmd_list_element *breakpoint_set_cmdlist; static struct cmd_list_element *breakpoint_show_cmdlist; struct cmd_list_element *save_cmdlist; -/* See declaration at breakpoint.h. */ - -struct breakpoint * -breakpoint_find_if (int (*func) (struct breakpoint *b, void *d), - void *user_data) -{ - for (breakpoint *b : all_breakpoints ()) - if (func (b, user_data) != 0) - return b; - - return nullptr; -} - /* Return whether a breakpoint is an active enabled breakpoint. */ static int breakpoint_enabled (struct breakpoint *b) diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index ab65f41..2b15622 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -885,20 +885,6 @@ struct watchpoint : public breakpoint CORE_ADDR hw_wp_mask; }; -/* Given a function FUNC (struct breakpoint *B, void *DATA) and - USER_DATA, call FUNC for every known breakpoint passing USER_DATA - as argument. - - If FUNC returns 1, the loop stops and the current - 'struct breakpoint' being processed is returned. If FUNC returns - zero, the loop continues. - - This function returns either a 'struct breakpoint' pointer or NULL. - It was based on BFD's bfd_sections_find_if function. */ - -extern struct breakpoint *breakpoint_find_if - (int (*func) (struct breakpoint *b, void *d), void *user_data); - /* Return true if BPT is either a software breakpoint or a hardware breakpoint. */ @@ -1678,8 +1664,8 @@ extern int catch_syscall_enabled (void); /* Checks if we are catching syscalls with the specific syscall_number. Used for "filtering" the catchpoints. - Returns 0 if not, greater than 0 if we are. */ -extern int catching_syscall_number (int syscall_number); + Returns false if not, true if we are. */ +extern bool catching_syscall_number (int syscall_number); /* Return a tracepoint with the given number if found. */ extern struct tracepoint *get_tracepoint (int num); diff --git a/gdb/infrun.c b/gdb/infrun.c index 5ee650f..694bbe6 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4458,7 +4458,7 @@ handle_syscall_event (struct execution_control_state *ecs) ecs->event_thread->set_stop_pc (regcache_read_pc (regcache)); if (catch_syscall_enabled () > 0 - && catching_syscall_number (syscall_number) > 0) + && catching_syscall_number (syscall_number)) { infrun_debug_printf ("syscall number=%d", syscall_number); |