* 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:
Ulrich Weigand
2007-05-11 12:44:34 +00:00
parent b4de647686
commit 1aafd4da21
2 changed files with 33 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-05-11 Ulrich Weigand <uweigand@de.ibm.com>
* breakpoint.c (single_step_breakpoint_inserted_here_p): New function.
(breakpoint_inserted_here_p): Call it.
(software_breakpoint_inserted_here_p): Likewise.
2007-05-10 Ulrich Weigand <uweigand@de.ibm.com>
* inf-ptrace.c (inf_ptrace_register_u_offset): Adapt parameter list.

View File

@ -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.