mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
* breakpoint.c (bpstat_stop_status): Take a ptid_t argument,
and check the specified thread for each breakpoint. * breakpoint.h (bpstat_stop_status): Update prototype. * infrun.c (handle_inferior_event): Update calls to bpstat_stop_status.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2004-02-01 Daniel Jacobowitz <drow@mvista.com>
|
||||||
|
|
||||||
|
* breakpoint.c (bpstat_stop_status): Take a ptid_t argument,
|
||||||
|
and check the specified thread for each breakpoint.
|
||||||
|
* breakpoint.h (bpstat_stop_status): Update prototype.
|
||||||
|
* infrun.c (handle_inferior_event): Update calls to
|
||||||
|
bpstat_stop_status.
|
||||||
|
|
||||||
2004-02-01 Daniel Jacobowitz <drow@mvista.com>
|
2004-02-01 Daniel Jacobowitz <drow@mvista.com>
|
||||||
|
|
||||||
* Makefile.in (cli-cmds.o): Add $(readline_h).
|
* Makefile.in (cli-cmds.o): Add $(readline_h).
|
||||||
|
@ -2588,7 +2588,7 @@ which its expression is valid.\n");
|
|||||||
commands, FIXME??? fields. */
|
commands, FIXME??? fields. */
|
||||||
|
|
||||||
bpstat
|
bpstat
|
||||||
bpstat_stop_status (CORE_ADDR bp_addr)
|
bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid)
|
||||||
{
|
{
|
||||||
struct breakpoint *b, *temp;
|
struct breakpoint *b, *temp;
|
||||||
/* True if we've hit a breakpoint (as opposed to a watchpoint). */
|
/* True if we've hit a breakpoint (as opposed to a watchpoint). */
|
||||||
@ -2597,6 +2597,7 @@ bpstat_stop_status (CORE_ADDR bp_addr)
|
|||||||
struct bpstats root_bs[1];
|
struct bpstats root_bs[1];
|
||||||
/* Pointer to the last thing in the chain currently. */
|
/* Pointer to the last thing in the chain currently. */
|
||||||
bpstat bs = root_bs;
|
bpstat bs = root_bs;
|
||||||
|
int thread_id = pid_to_thread_id (ptid);
|
||||||
|
|
||||||
ALL_BREAKPOINTS_SAFE (b, temp)
|
ALL_BREAKPOINTS_SAFE (b, temp)
|
||||||
{
|
{
|
||||||
@ -2850,6 +2851,12 @@ bpstat_stop_status (CORE_ADDR bp_addr)
|
|||||||
/* Don't consider this a hit. */
|
/* Don't consider this a hit. */
|
||||||
--(b->hit_count);
|
--(b->hit_count);
|
||||||
}
|
}
|
||||||
|
else if (b->thread != -1 && b->thread != thread_id)
|
||||||
|
{
|
||||||
|
bs->stop = 0;
|
||||||
|
/* Don't consider this a hit. */
|
||||||
|
--(b->hit_count);
|
||||||
|
}
|
||||||
else if (b->ignore_count > 0)
|
else if (b->ignore_count > 0)
|
||||||
{
|
{
|
||||||
b->ignore_count--;
|
b->ignore_count--;
|
||||||
|
@ -403,7 +403,7 @@ extern void bpstat_clear (bpstat *);
|
|||||||
is part of the bpstat is copied as well. */
|
is part of the bpstat is copied as well. */
|
||||||
extern bpstat bpstat_copy (bpstat);
|
extern bpstat bpstat_copy (bpstat);
|
||||||
|
|
||||||
extern bpstat bpstat_stop_status (CORE_ADDR pc);
|
extern bpstat bpstat_stop_status (CORE_ADDR pc, ptid_t ptid);
|
||||||
|
|
||||||
/* This bpstat_what stuff tells wait_for_inferior what to do with a
|
/* This bpstat_what stuff tells wait_for_inferior what to do with a
|
||||||
breakpoint (a challenging task). */
|
breakpoint (a challenging task). */
|
||||||
|
@ -1589,7 +1589,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||||||
|
|
||||||
stop_pc = read_pc ();
|
stop_pc = read_pc ();
|
||||||
|
|
||||||
stop_bpstat = bpstat_stop_status (stop_pc);
|
stop_bpstat = bpstat_stop_status (stop_pc, ecs->ptid);
|
||||||
|
|
||||||
ecs->random_signal = !bpstat_explains_signal (stop_bpstat);
|
ecs->random_signal = !bpstat_explains_signal (stop_bpstat);
|
||||||
|
|
||||||
@ -1638,7 +1638,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||||||
ecs->saved_inferior_ptid = inferior_ptid;
|
ecs->saved_inferior_ptid = inferior_ptid;
|
||||||
inferior_ptid = ecs->ptid;
|
inferior_ptid = ecs->ptid;
|
||||||
|
|
||||||
stop_bpstat = bpstat_stop_status (stop_pc);
|
stop_bpstat = bpstat_stop_status (stop_pc, ecs->ptid);
|
||||||
|
|
||||||
ecs->random_signal = !bpstat_explains_signal (stop_bpstat);
|
ecs->random_signal = !bpstat_explains_signal (stop_bpstat);
|
||||||
inferior_ptid = ecs->saved_inferior_ptid;
|
inferior_ptid = ecs->saved_inferior_ptid;
|
||||||
@ -2028,7 +2028,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* See if there is a breakpoint at the current PC. */
|
/* See if there is a breakpoint at the current PC. */
|
||||||
stop_bpstat = bpstat_stop_status (stop_pc);
|
stop_bpstat = bpstat_stop_status (stop_pc, ecs->ptid);
|
||||||
|
|
||||||
/* Following in case break condition called a
|
/* Following in case break condition called a
|
||||||
function. */
|
function. */
|
||||||
|
Reference in New Issue
Block a user