diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/breakpoint.c | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b45fd61..5df0f39 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +Mon Mar 29 13:55:29 1993 Jim Kingdon (kingdon@cygnus.com) + + * breakpoint.c: Add comments regarding breakpoint_re_set. + Mon Mar 29 15:03:25 1993 Fred Fish (fnf@cygnus.com) * config/a29k/tm-a29k.h: Renamed from config/a29k/tm-29k.h. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 90e01ee..e64f5cc 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1535,7 +1535,11 @@ break_command_1 (arg, tempflag, from_tty) b->number = breakpoint_count; b->type = bp_breakpoint; b->cond = cond; - + + /* FIXME: We should add the filename if this is a static function + and probably if it is a line number (the line numbers could + have changed when we re-read symbols; possibly better to disable + the breakpoint in that case). */ if (addr_start) b->addr_string = savestring (addr_start, addr_end - addr_start); if (cond_start) @@ -2239,6 +2243,15 @@ breakpoint_re_set_one (bint) case bp_watchpoint: innermost_block = NULL; + /* The issue arises of what context to evaluate this in. The same + one as when it was set, but what does that mean when symbols have + been re-read? We could save the filename and functionname, but + if the context is more local than that, the best we could do would + be something like how many levels deep and which index at that + particular level, but that's going to be less stable than filenames + or functionnames. */ + /* So for now, just use a global context. */ + /* FIXME, use catch_errors. */ b->exp = parse_expression (b->exp_string); b->exp_valid_block = innermost_block; b->val = evaluate_expression (b->exp); |