* 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:
Pedro Alves
2008-09-08 21:43:00 +00:00
parent 4e1c45eac7
commit 078130d0ca
6 changed files with 32 additions and 27 deletions

View File

@ -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

View File

@ -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,

View File

@ -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 */

View File

@ -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. */

View File

@ -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);

View File

@ -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;