From: Simon Marchi Date: Mon, 30 Aug 2021 20:10:41 +0000 (-0400) Subject: gdb: remove breakpoint_find_if X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9fe3819e83a442f1bd563000120121e5518f7d53;p=binutils-gdb.git 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 --- diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c index 78e7079a831..32736f024ad 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 feca224ccf4..f6c9683aecf 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 ab65f41a91b..2b15622f98d 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 5ee650fa464..694bbe665f4 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);