aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-03-05 22:37:11 +0000
committerPedro Alves <palves@redhat.com>2009-03-05 22:37:11 +0000
commitaae64587896fc361f18a6a38e988c5610276bf17 (patch)
tree7450b7c9c3e4d1b7e218b5b259dfd816a7f7bafb /gdb/breakpoint.c
parent5fa9e92f74b051a84c435688595c141456a5d9f3 (diff)
downloadgdb-aae64587896fc361f18a6a38e988c5610276bf17.zip
gdb-aae64587896fc361f18a6a38e988c5610276bf17.tar.gz
gdb-aae64587896fc361f18a6a38e988c5610276bf17.tar.bz2
gdb/
2009-03-05 Pedro Alves <pedro@codesourcery.com> * breakpoint.c (check_duplicates_for): Skip permanent breakpoints duplicates of permanent breakpoints. gdb/testsuite/ 2009-03-05 Pedro Alves <pedro@codesourcery.com> * gdb.arch/i386-permbkpt.S, gdb.arch/i386-permbkpt.exp: New.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r--gdb/breakpoint.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b23b294..66252ba 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3948,8 +3948,8 @@ check_duplicates_for (CORE_ADDR address, struct obj_section *section)
}
/* If we found a permanent breakpoint at this address, go over the
- list again and declare all the other breakpoints there to be the
- duplicates. */
+ list again and declare all the other breakpoints there (except
+ other permanent breakpoints) to be the duplicates. */
if (perm_bp)
{
perm_bp->duplicate = 0;
@@ -3963,7 +3963,8 @@ check_duplicates_for (CORE_ADDR address, struct obj_section *section)
ALL_BP_LOCATIONS (b)
if (b != perm_bp)
{
- if (b->owner->enable_state != bp_disabled
+ if (b->owner->enable_state != bp_permanent
+ && b->owner->enable_state != bp_disabled
&& b->owner->enable_state != bp_call_disabled
&& b->enabled && !b->shlib_disabled
&& b->address == address /* address / overlay match */