mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 00:52:16 +08:00
* inferior.h (step_over_calls): Delete.
* gdbthread.h (save_infrun_state, load_infrun_state): Remove step_over_calls argument. * thread.c (save_infrun_state, load_infrun_state): Remove step_over_calls argument. Adjust. * infcmd.c (step_over_calls): Delete. (step_1): Adjust. * infrun.c (clear_proceed_status): Adjust. (context_switch): Don't context-switch step_over_calls. (handle_inferior_event, save_inferior_status) (restore_inferior_status): Adjust.
This commit is contained in:
@ -1,3 +1,19 @@
|
|||||||
|
2008-09-08 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* inferior.h (step_over_calls): Delete.
|
||||||
|
|
||||||
|
* gdbthread.h (save_infrun_state, load_infrun_state): Remove
|
||||||
|
step_over_calls argument.
|
||||||
|
* thread.c (save_infrun_state, load_infrun_state): Remove
|
||||||
|
step_over_calls argument. Adjust.
|
||||||
|
|
||||||
|
* infcmd.c (step_over_calls): Delete.
|
||||||
|
(step_1): Adjust.
|
||||||
|
* infrun.c (clear_proceed_status): Adjust.
|
||||||
|
(context_switch): Don't context-switch step_over_calls.
|
||||||
|
(handle_inferior_event, save_inferior_status)
|
||||||
|
(restore_inferior_status): Adjust.
|
||||||
|
|
||||||
2008-09-08 Pedro Alves <pedro@codesourcery.com>
|
2008-09-08 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
Remove context switching in favour of accessing thread_info fields
|
Remove context switching in favour of accessing thread_info fields
|
||||||
|
@ -219,7 +219,6 @@ extern void save_infrun_state (ptid_t ptid,
|
|||||||
struct continuation *continuations,
|
struct continuation *continuations,
|
||||||
struct continuation *intermediate_continuations,
|
struct continuation *intermediate_continuations,
|
||||||
int proceed_to_finish,
|
int proceed_to_finish,
|
||||||
enum step_over_calls_kind step_over_calls,
|
|
||||||
int stop_step,
|
int stop_step,
|
||||||
int step_multi,
|
int step_multi,
|
||||||
enum target_signal stop_signal,
|
enum target_signal stop_signal,
|
||||||
@ -231,7 +230,6 @@ extern void load_infrun_state (ptid_t ptid,
|
|||||||
struct continuation **continuations,
|
struct continuation **continuations,
|
||||||
struct continuation **intermediate_continuations,
|
struct continuation **intermediate_continuations,
|
||||||
int *proceed_to_finish,
|
int *proceed_to_finish,
|
||||||
enum step_over_calls_kind *step_over_calls,
|
|
||||||
int *stop_step,
|
int *stop_step,
|
||||||
int *step_multi,
|
int *step_multi,
|
||||||
enum target_signal *stop_signal,
|
enum target_signal *stop_signal,
|
||||||
|
12
gdb/infcmd.c
12
gdb/infcmd.c
@ -177,8 +177,6 @@ int stop_stack_dummy;
|
|||||||
|
|
||||||
int stopped_by_random_signal;
|
int stopped_by_random_signal;
|
||||||
|
|
||||||
enum step_over_calls_kind step_over_calls;
|
|
||||||
|
|
||||||
/* If stepping, nonzero means step count is > 1
|
/* If stepping, nonzero means step count is > 1
|
||||||
so don't print frame next time inferior stops
|
so don't print frame next time inferior stops
|
||||||
if it stops due to stepping. */
|
if it stops due to stepping. */
|
||||||
@ -819,11 +817,11 @@ which has no line number information.\n"), name);
|
|||||||
/* It is stepi.
|
/* It is stepi.
|
||||||
Don't step over function calls, not even to functions lacking
|
Don't step over function calls, not even to functions lacking
|
||||||
line numbers. */
|
line numbers. */
|
||||||
step_over_calls = STEP_OVER_NONE;
|
tp->step_over_calls = STEP_OVER_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skip_subroutines)
|
if (skip_subroutines)
|
||||||
step_over_calls = STEP_OVER_ALL;
|
tp->step_over_calls = STEP_OVER_ALL;
|
||||||
|
|
||||||
step_multi = (count > 1);
|
step_multi = (count > 1);
|
||||||
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
||||||
@ -937,11 +935,11 @@ which has no line number information.\n"), name);
|
|||||||
/* It is stepi.
|
/* It is stepi.
|
||||||
Don't step over function calls, not even to functions lacking
|
Don't step over function calls, not even to functions lacking
|
||||||
line numbers. */
|
line numbers. */
|
||||||
step_over_calls = STEP_OVER_NONE;
|
tp->step_over_calls = STEP_OVER_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skip_subroutines)
|
if (skip_subroutines)
|
||||||
step_over_calls = STEP_OVER_ALL;
|
tp->step_over_calls = STEP_OVER_ALL;
|
||||||
|
|
||||||
step_multi = (count > 1);
|
step_multi = (count > 1);
|
||||||
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 1);
|
||||||
@ -1171,7 +1169,7 @@ until_next_command (int from_tty)
|
|||||||
tp->step_range_end = sal.end;
|
tp->step_range_end = sal.end;
|
||||||
}
|
}
|
||||||
|
|
||||||
step_over_calls = STEP_OVER_ALL;
|
tp->step_over_calls = STEP_OVER_ALL;
|
||||||
tp->step_frame_id = get_frame_id (frame);
|
tp->step_frame_id = get_frame_id (frame);
|
||||||
|
|
||||||
step_multi = 0; /* Only one call to proceed */
|
step_multi = 0; /* Only one call to proceed */
|
||||||
|
@ -319,8 +319,6 @@ enum step_over_calls_kind
|
|||||||
STEP_OVER_UNDEBUGGABLE
|
STEP_OVER_UNDEBUGGABLE
|
||||||
};
|
};
|
||||||
|
|
||||||
extern enum step_over_calls_kind step_over_calls;
|
|
||||||
|
|
||||||
/* If stepping, nonzero means step count is > 1
|
/* If stepping, nonzero means step count is > 1
|
||||||
so don't print frame next time inferior stops
|
so don't print frame next time inferior stops
|
||||||
if it stops due to stepping. */
|
if it stops due to stepping. */
|
||||||
|
23
gdb/infrun.c
23
gdb/infrun.c
@ -1104,9 +1104,9 @@ clear_proceed_status (void)
|
|||||||
tp->step_range_start = 0;
|
tp->step_range_start = 0;
|
||||||
tp->step_range_end = 0;
|
tp->step_range_end = 0;
|
||||||
tp->step_frame_id = null_frame_id;
|
tp->step_frame_id = null_frame_id;
|
||||||
|
tp->step_over_calls = STEP_OVER_UNDEBUGGABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
step_over_calls = STEP_OVER_UNDEBUGGABLE;
|
|
||||||
stop_after_trap = 0;
|
stop_after_trap = 0;
|
||||||
stop_soon = NO_STOP_QUIETLY;
|
stop_soon = NO_STOP_QUIETLY;
|
||||||
proceed_to_finish = 0;
|
proceed_to_finish = 0;
|
||||||
@ -1715,7 +1715,6 @@ context_switch (ptid_t ptid)
|
|||||||
save_infrun_state (inferior_ptid,
|
save_infrun_state (inferior_ptid,
|
||||||
cmd_continuation, intermediate_continuation,
|
cmd_continuation, intermediate_continuation,
|
||||||
proceed_to_finish,
|
proceed_to_finish,
|
||||||
step_over_calls,
|
|
||||||
stop_step,
|
stop_step,
|
||||||
step_multi,
|
step_multi,
|
||||||
stop_signal,
|
stop_signal,
|
||||||
@ -1725,7 +1724,6 @@ context_switch (ptid_t ptid)
|
|||||||
load_infrun_state (ptid,
|
load_infrun_state (ptid,
|
||||||
&cmd_continuation, &intermediate_continuation,
|
&cmd_continuation, &intermediate_continuation,
|
||||||
&proceed_to_finish,
|
&proceed_to_finish,
|
||||||
&step_over_calls,
|
|
||||||
&stop_step,
|
&stop_step,
|
||||||
&step_multi,
|
&step_multi,
|
||||||
&stop_signal,
|
&stop_signal,
|
||||||
@ -3038,7 +3036,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
loader dynamic symbol resolution code, we keep on single stepping
|
loader dynamic symbol resolution code, we keep on single stepping
|
||||||
until we exit the run time loader code and reach the callee's
|
until we exit the run time loader code and reach the callee's
|
||||||
address. */
|
address. */
|
||||||
if (step_over_calls == STEP_OVER_UNDEBUGGABLE
|
if (ecs->event_thread->step_over_calls == STEP_OVER_UNDEBUGGABLE
|
||||||
&& in_solib_dynsym_resolve_code (stop_pc))
|
&& in_solib_dynsym_resolve_code (stop_pc))
|
||||||
{
|
{
|
||||||
CORE_ADDR pc_after_resolver =
|
CORE_ADDR pc_after_resolver =
|
||||||
@ -3063,8 +3061,8 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ecs->event_thread->step_range_end != 1
|
if (ecs->event_thread->step_range_end != 1
|
||||||
&& (step_over_calls == STEP_OVER_UNDEBUGGABLE
|
&& (ecs->event_thread->step_over_calls == STEP_OVER_UNDEBUGGABLE
|
||||||
|| step_over_calls == STEP_OVER_ALL)
|
|| ecs->event_thread->step_over_calls == STEP_OVER_ALL)
|
||||||
&& get_frame_type (get_current_frame ()) == SIGTRAMP_FRAME)
|
&& get_frame_type (get_current_frame ()) == SIGTRAMP_FRAME)
|
||||||
{
|
{
|
||||||
if (debug_infrun)
|
if (debug_infrun)
|
||||||
@ -3096,7 +3094,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
if (debug_infrun)
|
if (debug_infrun)
|
||||||
fprintf_unfiltered (gdb_stdlog, "infrun: stepped into subroutine\n");
|
fprintf_unfiltered (gdb_stdlog, "infrun: stepped into subroutine\n");
|
||||||
|
|
||||||
if ((step_over_calls == STEP_OVER_NONE)
|
if ((ecs->event_thread->step_over_calls == STEP_OVER_NONE)
|
||||||
|| ((ecs->event_thread->step_range_end == 1)
|
|| ((ecs->event_thread->step_range_end == 1)
|
||||||
&& in_prologue (ecs->event_thread->prev_pc,
|
&& in_prologue (ecs->event_thread->prev_pc,
|
||||||
ecs->stop_func_start)))
|
ecs->stop_func_start)))
|
||||||
@ -3113,7 +3111,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (step_over_calls == STEP_OVER_ALL)
|
if (ecs->event_thread->step_over_calls == STEP_OVER_ALL)
|
||||||
{
|
{
|
||||||
/* We're doing a "next", set a breakpoint at callee's return
|
/* We're doing a "next", set a breakpoint at callee's return
|
||||||
address (the address at which the caller will
|
address (the address at which the caller will
|
||||||
@ -3166,7 +3164,8 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
/* If we have no line number and the step-stop-if-no-debug is
|
/* If we have no line number and the step-stop-if-no-debug is
|
||||||
set, we stop the step so that the user has a chance to switch
|
set, we stop the step so that the user has a chance to switch
|
||||||
in assembly mode. */
|
in assembly mode. */
|
||||||
if (step_over_calls == STEP_OVER_UNDEBUGGABLE && step_stop_if_no_debug)
|
if (ecs->event_thread->step_over_calls == STEP_OVER_UNDEBUGGABLE
|
||||||
|
&& step_stop_if_no_debug)
|
||||||
{
|
{
|
||||||
stop_step = 1;
|
stop_step = 1;
|
||||||
print_stop_reason (END_STEPPING_RANGE, 0);
|
print_stop_reason (END_STEPPING_RANGE, 0);
|
||||||
@ -3221,7 +3220,7 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n");
|
|||||||
/* NOTE: tausq/2004-05-24: This if block used to be done before all
|
/* NOTE: tausq/2004-05-24: This if block used to be done before all
|
||||||
the trampoline processing logic, however, there are some trampolines
|
the trampoline processing logic, however, there are some trampolines
|
||||||
that have no names, so we should do trampoline handling first. */
|
that have no names, so we should do trampoline handling first. */
|
||||||
if (step_over_calls == STEP_OVER_UNDEBUGGABLE
|
if (ecs->event_thread->step_over_calls == STEP_OVER_UNDEBUGGABLE
|
||||||
&& ecs->stop_func_name == NULL
|
&& ecs->stop_func_name == NULL
|
||||||
&& stop_pc_sal.line == 0)
|
&& stop_pc_sal.line == 0)
|
||||||
{
|
{
|
||||||
@ -4372,7 +4371,7 @@ save_inferior_status (int restore_stack_info)
|
|||||||
inf_status->step_range_start = tp->step_range_start;
|
inf_status->step_range_start = tp->step_range_start;
|
||||||
inf_status->step_range_end = tp->step_range_end;
|
inf_status->step_range_end = tp->step_range_end;
|
||||||
inf_status->step_frame_id = tp->step_frame_id;
|
inf_status->step_frame_id = tp->step_frame_id;
|
||||||
inf_status->step_over_calls = step_over_calls;
|
inf_status->step_over_calls = tp->step_over_calls;
|
||||||
inf_status->stop_after_trap = stop_after_trap;
|
inf_status->stop_after_trap = stop_after_trap;
|
||||||
inf_status->stop_soon = stop_soon;
|
inf_status->stop_soon = stop_soon;
|
||||||
/* Save original bpstat chain here; replace it with copy of chain.
|
/* Save original bpstat chain here; replace it with copy of chain.
|
||||||
@ -4426,7 +4425,7 @@ restore_inferior_status (struct inferior_status *inf_status)
|
|||||||
tp->step_range_start = inf_status->step_range_start;
|
tp->step_range_start = inf_status->step_range_start;
|
||||||
tp->step_range_end = inf_status->step_range_end;
|
tp->step_range_end = inf_status->step_range_end;
|
||||||
tp->step_frame_id = inf_status->step_frame_id;
|
tp->step_frame_id = inf_status->step_frame_id;
|
||||||
step_over_calls = inf_status->step_over_calls;
|
tp->step_over_calls = inf_status->step_over_calls;
|
||||||
stop_after_trap = inf_status->stop_after_trap;
|
stop_after_trap = inf_status->stop_after_trap;
|
||||||
stop_soon = inf_status->stop_soon;
|
stop_soon = inf_status->stop_soon;
|
||||||
bpstat_clear (&stop_bpstat);
|
bpstat_clear (&stop_bpstat);
|
||||||
|
@ -446,7 +446,6 @@ load_infrun_state (ptid_t ptid,
|
|||||||
struct continuation **continuations,
|
struct continuation **continuations,
|
||||||
struct continuation **intermediate_continuations,
|
struct continuation **intermediate_continuations,
|
||||||
int *proceed_to_finish,
|
int *proceed_to_finish,
|
||||||
enum step_over_calls_kind *step_over_calls,
|
|
||||||
int *stop_step,
|
int *stop_step,
|
||||||
int *step_multi,
|
int *step_multi,
|
||||||
enum target_signal *stop_signal,
|
enum target_signal *stop_signal,
|
||||||
@ -469,7 +468,6 @@ load_infrun_state (ptid_t ptid,
|
|||||||
*intermediate_continuations = tp->intermediate_continuations;
|
*intermediate_continuations = tp->intermediate_continuations;
|
||||||
tp->intermediate_continuations = NULL;
|
tp->intermediate_continuations = NULL;
|
||||||
*proceed_to_finish = tp->proceed_to_finish;
|
*proceed_to_finish = tp->proceed_to_finish;
|
||||||
*step_over_calls = tp->step_over_calls;
|
|
||||||
*stop_step = tp->stop_step;
|
*stop_step = tp->stop_step;
|
||||||
*step_multi = tp->step_multi;
|
*step_multi = tp->step_multi;
|
||||||
*stop_signal = tp->stop_signal;
|
*stop_signal = tp->stop_signal;
|
||||||
@ -488,7 +486,6 @@ save_infrun_state (ptid_t ptid,
|
|||||||
struct continuation *continuations,
|
struct continuation *continuations,
|
||||||
struct continuation *intermediate_continuations,
|
struct continuation *intermediate_continuations,
|
||||||
int proceed_to_finish,
|
int proceed_to_finish,
|
||||||
enum step_over_calls_kind step_over_calls,
|
|
||||||
int stop_step,
|
int stop_step,
|
||||||
int step_multi,
|
int step_multi,
|
||||||
enum target_signal stop_signal,
|
enum target_signal stop_signal,
|
||||||
@ -509,7 +506,6 @@ save_infrun_state (ptid_t ptid,
|
|||||||
tp->continuations = continuations;
|
tp->continuations = continuations;
|
||||||
tp->intermediate_continuations = intermediate_continuations;
|
tp->intermediate_continuations = intermediate_continuations;
|
||||||
tp->proceed_to_finish = proceed_to_finish;
|
tp->proceed_to_finish = proceed_to_finish;
|
||||||
tp->step_over_calls = step_over_calls;
|
|
||||||
tp->stop_step = stop_step;
|
tp->stop_step = stop_step;
|
||||||
tp->step_multi = step_multi;
|
tp->step_multi = step_multi;
|
||||||
tp->stop_signal = stop_signal;
|
tp->stop_signal = stop_signal;
|
||||||
|
Reference in New Issue
Block a user