gdb: remove breakpoint_find_if
authorSimon Marchi <simon.marchi@polymtl.ca>
Mon, 30 Aug 2021 20:10:41 +0000 (16:10 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Tue, 31 Aug 2021 13:55:31 +0000 (09:55 -0400)
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

gdb/break-catch-syscall.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/infrun.c

index 78e7079a831b8f3163b9f1686161bfc3dd44fbfc..32736f024ad2f4f74dac2eeb6c587e35efb3447d 100644 (file)
@@ -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".  */
index feca224ccf425fe4490f8f9a58c2b19720167580..f6c9683aecf1c1c6e5009d091616a22a52e24cd3 100644 (file)
@@ -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)
index ab65f41a91b530580ae6ad73d94321cc13114496..2b15622f98d250c665414d29d5c96e86c5f6ae0a 100644 (file)
@@ -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);
index 5ee650fa464581237278b513fc9ce9ac7c91a743..694bbe665f4bc829285827c4ecaa6d237742914d 100644 (file)
@@ -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);