mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 02:53:48 +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:
parent
c47cebdbd2
commit
fa5281d02b
@ -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>
|
||||
|
||||
* Makefile.in (cli-cmds.o): Add $(readline_h).
|
||||
|
@ -2588,7 +2588,7 @@ which its expression is valid.\n");
|
||||
commands, FIXME??? fields. */
|
||||
|
||||
bpstat
|
||||
bpstat_stop_status (CORE_ADDR bp_addr)
|
||||
bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid)
|
||||
{
|
||||
struct breakpoint *b, *temp;
|
||||
/* 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];
|
||||
/* Pointer to the last thing in the chain currently. */
|
||||
bpstat bs = root_bs;
|
||||
int thread_id = pid_to_thread_id (ptid);
|
||||
|
||||
ALL_BREAKPOINTS_SAFE (b, temp)
|
||||
{
|
||||
@ -2850,6 +2851,12 @@ bpstat_stop_status (CORE_ADDR bp_addr)
|
||||
/* Don't consider this a hit. */
|
||||
--(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)
|
||||
{
|
||||
b->ignore_count--;
|
||||
|
@ -403,7 +403,7 @@ extern void bpstat_clear (bpstat *);
|
||||
is part of the bpstat is copied as well. */
|
||||
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
|
||||
breakpoint (a challenging task). */
|
||||
|
@ -1589,7 +1589,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
||||
|
||||
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);
|
||||
|
||||
@ -1638,7 +1638,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
||||
ecs->saved_inferior_ptid = inferior_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);
|
||||
inferior_ptid = ecs->saved_inferior_ptid;
|
||||
@ -2028,7 +2028,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
||||
else
|
||||
{
|
||||
/* 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
|
||||
function. */
|
||||
|
Loading…
Reference in New Issue
Block a user