mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 02:24:17 +08:00
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
This commit is contained in:
@ -486,15 +486,12 @@ catch_syscall_enabled (void)
|
|||||||
return inf_data->total_syscalls_count != 0;
|
return inf_data->total_syscalls_count != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper function for catching_syscall_number. If B is a syscall
|
/* Helper function for catching_syscall_number. return true if B is a syscall
|
||||||
catchpoint for SYSCALL_NUMBER, return 1 (which will make
|
catchpoint for SYSCALL_NUMBER, else false. */
|
||||||
'breakpoint_find_if' return). Otherwise, return 0. */
|
|
||||||
|
|
||||||
static int
|
static bool
|
||||||
catching_syscall_number_1 (struct breakpoint *b,
|
catching_syscall_number_1 (struct breakpoint *b, int syscall_number)
|
||||||
void *data)
|
|
||||||
{
|
{
|
||||||
int syscall_number = (int) (uintptr_t) data;
|
|
||||||
|
|
||||||
if (is_syscall_catchpoint_enabled (b))
|
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)
|
for (int iter : c->syscalls_to_be_caught)
|
||||||
if (syscall_number == iter)
|
if (syscall_number == iter)
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
bool
|
||||||
catching_syscall_number (int syscall_number)
|
catching_syscall_number (int syscall_number)
|
||||||
{
|
{
|
||||||
struct breakpoint *b = breakpoint_find_if (catching_syscall_number_1,
|
for (breakpoint *b : all_breakpoints ())
|
||||||
(void *) (uintptr_t) syscall_number);
|
if (catching_syscall_number_1 (b, syscall_number))
|
||||||
|
return true;
|
||||||
|
|
||||||
return b != NULL;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Complete syscall names. Used by "catch syscall". */
|
/* Complete syscall names. Used by "catch syscall". */
|
||||||
|
@ -627,19 +627,6 @@ static struct cmd_list_element *breakpoint_set_cmdlist;
|
|||||||
static struct cmd_list_element *breakpoint_show_cmdlist;
|
static struct cmd_list_element *breakpoint_show_cmdlist;
|
||||||
struct cmd_list_element *save_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. */
|
/* Return whether a breakpoint is an active enabled breakpoint. */
|
||||||
static int
|
static int
|
||||||
breakpoint_enabled (struct breakpoint *b)
|
breakpoint_enabled (struct breakpoint *b)
|
||||||
|
@ -885,20 +885,6 @@ struct watchpoint : public breakpoint
|
|||||||
CORE_ADDR hw_wp_mask;
|
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
|
/* Return true if BPT is either a software breakpoint or a hardware
|
||||||
breakpoint. */
|
breakpoint. */
|
||||||
|
|
||||||
@ -1678,8 +1664,8 @@ extern int catch_syscall_enabled (void);
|
|||||||
|
|
||||||
/* Checks if we are catching syscalls with the specific
|
/* Checks if we are catching syscalls with the specific
|
||||||
syscall_number. Used for "filtering" the catchpoints.
|
syscall_number. Used for "filtering" the catchpoints.
|
||||||
Returns 0 if not, greater than 0 if we are. */
|
Returns false if not, true if we are. */
|
||||||
extern int catching_syscall_number (int syscall_number);
|
extern bool catching_syscall_number (int syscall_number);
|
||||||
|
|
||||||
/* Return a tracepoint with the given number if found. */
|
/* Return a tracepoint with the given number if found. */
|
||||||
extern struct tracepoint *get_tracepoint (int num);
|
extern struct tracepoint *get_tracepoint (int num);
|
||||||
|
@ -4458,7 +4458,7 @@ handle_syscall_event (struct execution_control_state *ecs)
|
|||||||
ecs->event_thread->set_stop_pc (regcache_read_pc (regcache));
|
ecs->event_thread->set_stop_pc (regcache_read_pc (regcache));
|
||||||
|
|
||||||
if (catch_syscall_enabled () > 0
|
if (catch_syscall_enabled () > 0
|
||||||
&& catching_syscall_number (syscall_number) > 0)
|
&& catching_syscall_number (syscall_number))
|
||||||
{
|
{
|
||||||
infrun_debug_printf ("syscall number=%d", syscall_number);
|
infrun_debug_printf ("syscall number=%d", syscall_number);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user