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:
parent
13326b4e26
commit
a587af0bd5
|
@ -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
|
||||
|
|
19
gdb/infrun.c
19
gdb/infrun.c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue