OSDN Git Service

Per-thread commands.
authorpalves <palves>
Wed, 9 Jul 2008 22:30:45 +0000 (22:30 +0000)
committerpalves <palves>
Wed, 9 Jul 2008 22:30:45 +0000 (22:30 +0000)
commitcaa65fd56415e8a33fbe42898474cb2f9dbd58c8
treebfc3c96d905c7bebbdee47f1dcd4b77b8ac9681b
parent47d76696143b3713a9f379aec416430d29511288
Per-thread commands.

* gdbthread.h: Remove unneeded forward declarations.
Include "inferior.h".
(struct thread_info): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi and stop_signal members.
(save_infrun_state): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat parameters.
(load_infrun_state): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat parameters.

* thread.c (load_infrun_state): In non-stop mode, load
continuations, intermediate_continuations, proceed_to_finish,
step_over_calls, stop_step, step_multi and stop_signal.
(save_infrun_state): Store continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(save_infrun_state): Store continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(free_thread): Clear The thread's stop_bpstat.

* inferior.h (context_switch_to): Declare.

* infrun.c (ecss): New global.
(context_switch): Context switch continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(wait_for_inferior): Use global ecss.
(async_ecss, async_ecs): Delete.
(fetch_inferior_event): Use global ecss.
(context_switch_to): New.

* top.c (execute_command): In non-stop, only check if the current
thread is running, in all-stop, check if there's any thread
running.

* breakpoint.c (bpstat_remove_breakpoint): New.
(bpstat_remove_breakpoint_callback): New.
(delete_breakpoint): Clear the stop_bpstats of all threads.

* mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the
current thread is running, in all-stop, check if there's any
thread running.

* Makefile.in (gdbthread_h): Depend on $(inferior_h).
gdb/ChangeLog
gdb/Makefile.in
gdb/breakpoint.c
gdb/gdbthread.h
gdb/inferior.h
gdb/infrun.c
gdb/mi/mi-main.c
gdb/thread.c
gdb/top.c