mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 07:53:51 +08:00
* breakpoint.c (single_step_breakpoint_inserted_here_p): New function.
(breakpoint_inserted_here_p): Call it. (software_breakpoint_inserted_here_p): Likewise.
This commit is contained in:
@ -202,6 +202,8 @@ static void tcatch_command (char *arg, int from_tty);
|
||||
|
||||
static void ep_skip_leading_whitespace (char **s);
|
||||
|
||||
static int single_step_breakpoint_inserted_here_p (CORE_ADDR pc);
|
||||
|
||||
/* Prototypes for exported functions. */
|
||||
|
||||
/* If FALSE, gdb will not use hardware support for watchpoints, even
|
||||
@ -1841,6 +1843,10 @@ breakpoint_inserted_here_p (CORE_ADDR pc)
|
||||
}
|
||||
}
|
||||
|
||||
/* Also check for software single-step breakpoints. */
|
||||
if (single_step_breakpoint_inserted_here_p (pc))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1872,6 +1878,10 @@ software_breakpoint_inserted_here_p (CORE_ADDR pc)
|
||||
}
|
||||
}
|
||||
|
||||
/* Also check for software single-step breakpoints. */
|
||||
if (single_step_breakpoint_inserted_here_p (pc))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -7951,6 +7961,23 @@ remove_single_step_breakpoints (void)
|
||||
}
|
||||
}
|
||||
|
||||
/* Check whether a software single-step breakpoint is inserted at PC. */
|
||||
|
||||
static int
|
||||
single_step_breakpoint_inserted_here_p (CORE_ADDR pc)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
struct bp_target_info *bp_tgt = single_step_breakpoints[i];
|
||||
if (bp_tgt && bp_tgt->placed_address == pc)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* This help string is used for the break, hbreak, tbreak and thbreak commands.
|
||||
It is defined as a macro to prevent duplication.
|
||||
|
Reference in New Issue
Block a user