diff options
author | Stu Grossman <grossman@cygnus> | 1992-02-28 04:10:02 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1992-02-28 04:10:02 +0000 |
commit | 8537ba607b34d6142d98849e89fb42e1e0829c1a (patch) | |
tree | 66c7810c614737663a362c5c2c6972433abe0b47 /gdb/breakpoint.c | |
parent | b543979cda1c55abab524c4dd9700d4bfe9f29dd (diff) | |
download | gdb-8537ba607b34d6142d98849e89fb42e1e0829c1a.zip gdb-8537ba607b34d6142d98849e89fb42e1e0829c1a.tar.gz gdb-8537ba607b34d6142d98849e89fb42e1e0829c1a.tar.bz2 |
* breakpoint.c (breakpoint_re_set_one): Don't reset breakpoint
unless symbol table indicates that something has changed.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 1f2d4e5..b9aef04 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2212,20 +2212,25 @@ breakpoint_re_set_one (bint) for (i = 0; i < sals.nelts; i++) { resolve_sal_pc (&sals.sals[i]); - b->symtab = sals.sals[i].symtab; - b->line_number = sals.sals[i].line; - b->address = sals.sals[i].pc; - - if (b->cond_string != NULL) + if (b->symtab != sals.sals[i].symtab + || b->line_number != sals.sals[i].line + || b->address != sals.sals[i].pc) { - s = b->cond_string; - b->cond = parse_exp_1 (&s, block_for_pc (sals.sals[i].pc), 0); - } + b->symtab = sals.sals[i].symtab; + b->line_number = sals.sals[i].line; + b->address = sals.sals[i].pc; + + if (b->cond_string != NULL) + { + s = b->cond_string; + b->cond = parse_exp_1 (&s, block_for_pc (sals.sals[i].pc), 0); + } - check_duplicates (b->address); + check_duplicates (b->address); + mention (b); + } b->enable = save_enable; /* Restore it, this worked. */ - mention (b); } free (sals.sals); break; @@ -2256,7 +2261,6 @@ breakpoint_re_set () ALL_BREAKPOINTS_SAFE (b, temp) { - b->symtab = 0; /* Be sure we don't point to old dead symtab */ sprintf (message, message1, b->number); /* Format possible error msg */ (void) catch_errors (breakpoint_re_set_one, (char *) b, message); } |