diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-10-16 18:24:13 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-10-16 18:24:13 +0000 |
commit | 65815ea1330d1fcb97eb177105826dd5c7961aea (patch) | |
tree | d0c0d9e7a4613b8be3eee8d2522bb481f8e681c3 /gdb | |
parent | 40324f1b404edf73cafbf8c6c7deb017a4623ba8 (diff) | |
download | gdb-65815ea1330d1fcb97eb177105826dd5c7961aea.zip gdb-65815ea1330d1fcb97eb177105826dd5c7961aea.tar.gz gdb-65815ea1330d1fcb97eb177105826dd5c7961aea.tar.bz2 |
2003-10-16 Andrew Cagney <cagney@redhat.com>
* infrun.c (handle_inferior_event): Add comment about
"frame_id_inner" being too weak.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/infrun.c | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3834c54..654f63f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-10-16 Andrew Cagney <cagney@redhat.com> + + * infrun.c (handle_inferior_event): Add comment about + "frame_id_inner" being too weak. + 2003-10-16 Elena Zannoni <ezannoni@redhat.com> * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove diff --git a/gdb/infrun.c b/gdb/infrun.c index e22a90a..7412080 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2636,6 +2636,22 @@ process_event_stop_test: /* In the case where we just stepped out of a function into the middle of a line of the caller, continue stepping, but step_frame_id must be modified to current frame */ +#if 0 + /* NOTE: cagney/2003-10-16: I think this frame ID inner test is too + generous. It will trigger on things like a step into a frameless + stackless leaf function. I think the logic should instead look + at the unwound frame ID has that should give a more robust + indication of what happened. */ + if (step-ID == current-ID) + still stepping in same function; + else if (step-ID == unwind (current-ID)) + stepped into a function; + else + stepped out of a function; + /* Of course this assumes that the frame ID unwind code is robust + and we're willing to introduce frame unwind logic into this + function. Fortunatly, those days are nearly upon us. */ +#endif { struct frame_id current_frame = get_frame_id (get_current_frame ()); if (!(frame_id_inner (current_frame, step_frame_id))) |