2004-04-29 Joel Brobecker <brobecker@gnat.com>

Committed by Andrew Cagney.
        * infrun.c (handle_inferior_event): Rely on frame IDs to detect
        function calls.
This commit is contained in:
Andrew Cagney 2004-04-29 22:36:24 +00:00
parent 13326b4e26
commit a587af0bd5
2 changed files with 20 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2004-04-29 Joel Brobecker <brobecker@gnat.com>
Committed by Andrew Cagney.
* infrun.c (handle_inferior_event): Rely on frame IDs to detect
function calls.
2004-04-29 Andrew Cagney <cagney@redhat.com>
* mips-tdep.c (mips_abi_regsize): Replace tdep parameter with

View File

@ -2465,6 +2465,18 @@ 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;
}
/* We can't update step_sp every time through the loop, because
reading the stack pointer would slow down stepping too much.
But we can update it every time we leave the step range. */
@ -2543,11 +2555,8 @@ process_event_stop_test:
return;
}
if (((stop_pc == ecs->stop_func_start /* Quick test */
|| in_prologue (stop_pc, ecs->stop_func_start))
&& !IN_SOLIB_RETURN_TRAMPOLINE (stop_pc, ecs->stop_func_name))
|| IN_SOLIB_CALL_TRAMPOLINE (stop_pc, ecs->stop_func_name)
|| ecs->stop_func_name == 0)
if (frame_id_eq (get_frame_id (get_prev_frame (get_current_frame ())),
step_frame_id))
{
/* It's a subroutine call. */
handle_step_into_function (ecs);