diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-05-13 19:34:00 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-05-13 19:34:00 +0000 |
commit | 0b30808c916cc4ff01cca027c672d9a4fcca0e1c (patch) | |
tree | 3ca00c77da9b892189753867326b238b11ec3d35 /gdb/infrun.c | |
parent | cdf2c5f516c73172ae0bfe06fed25cb8cb4ea215 (diff) | |
download | gdb-0b30808c916cc4ff01cca027c672d9a4fcca0e1c.zip gdb-0b30808c916cc4ff01cca027c672d9a4fcca0e1c.tar.gz gdb-0b30808c916cc4ff01cca027c672d9a4fcca0e1c.tar.bz2 |
2004-05-13 Andrew Cagney <cagney@redhat.com>
* infrun.c (handle_inferior_event): Check for
STEP_OVER_UNDEBUGGABLE after signal trampolines and function
calls. Update comments.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 0ba857b..225dc53 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2411,18 +2411,6 @@ process_event_stop_test: return; } - if (step_over_calls == STEP_OVER_UNDEBUGGABLE - && ecs->stop_func_name == NULL) - { - /* There is no symbol, not even a minimal symbol, corresponding - to the address where we just stopped. So we just stepped - inside undebuggable code. Since we want to step over this - kind of code, we keep going until the inferior returns from - the current function. */ - handle_step_into_function (ecs); - return; - } - if (step_range_end != 1 && (step_over_calls == STEP_OVER_UNDEBUGGABLE || step_over_calls == STEP_OVER_ALL) @@ -2437,6 +2425,22 @@ process_event_stop_test: return; } + if (step_over_calls == STEP_OVER_UNDEBUGGABLE + && ecs->stop_func_name == NULL) + { + /* The inferior just stepped into, or returned to, an + undebuggable function (where there is no symbol, not even a + minimal symbol, corresponding to the address where the + inferior stopped). Since we want to skip this kind of code, + we keep going until the inferior returns from this + function. */ + /* NOTE: cagney/2004-05-12: This test is performed after the + sigtramp test as often sigtramps, while recognized by GDB, + have no symbol information. */ + handle_step_into_function (ecs); + return; + } + if (frame_id_eq (frame_unwind_id (get_current_frame ()), step_frame_id)) { |