diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:31:25 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2010-11-28 04:31:25 +0000 |
commit | 16c381f0589cead48e7e707c6584ec8629601aad (patch) | |
tree | 8e21dbf7ca0c4b2c178c17f8393b3582824af375 /gdb/inferior.h | |
parent | f0df11bdc9986db64dfef6d534cad93926889bd0 (diff) | |
download | gdb-16c381f0589cead48e7e707c6584ec8629601aad.zip gdb-16c381f0589cead48e7e707c6584ec8629601aad.tar.gz gdb-16c381f0589cead48e7e707c6584ec8629601aad.tar.bz2 |
gdb/
Rename and move inferior_thread_state and inferior_status.
* gdbthread.h (struct thread_control_state): New struct, move fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step and stop_bpstat here from struct thread_info.
(struct thread_suspend_state): New struct, move field stop_signal here
from struct thread_info.
(struct thread_info): Move the fields above from this struct.
* inferior.h: Move the inferior_thread_state and inferior_status
declarations comment to their definitions at infrun.c.
(struct inferior_control_state): New struct, move field stop_soon from
struct inferior here.
(struct inferior_suspend_state): New empty struct.
(struct inferior): New fields control and suspend. Move out field
stop_soon.
* infrun.c (struct inferior_thread_state): Rename to ...
(infcall_suspend_state): ... here. Replace field stop_signal by
fields thread_suspend and inferior_suspend.
(save_inferior_thread_state): Rename to ...
(save_infcall_suspend_state): ... here. New variable inf. Update the
code for new fields.
(restore_inferior_thread_state): Rename to ...
(restore_infcall_suspend_state): ... here. New variable inf. Update
the code for new fields.
(do_restore_inferior_thread_state_cleanup): Rename to ...
(do_restore_infcall_suspend_state_cleanup): ... here.
(make_cleanup_restore_inferior_thread_state): Rename to ...
(make_cleanup_restore_infcall_suspend_state): ... here.
(discard_inferior_thread_state): Rename to ...
(discard_infcall_suspend_state): ... here.
(get_inferior_thread_state_regcache): Rename to ...
(get_infcall_suspend_state_regcache): ... here.
(struct inferior_status): Rename to ...
(struct infcall_control_state): ... here. Replace fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step, stop_bpstat and stop_soon by fields thread_control and
inferior_control.
(save_inferior_status): Rename to ...
(save_infcall_control_state): ... here. Update the code for new
fields.
(restore_inferior_status): Rename to ...
(restore_infcall_control_state): ... here. Update the code for new
fields.
(do_restore_inferior_status_cleanup): Rename to ...
(do_restore_infcall_control_state_cleanup): ... here.
(make_cleanup_restore_inferior_status): Rename to ...
(make_cleanup_restore_infcall_control_state): ... here.
(discard_inferior_status): Rename to ...
(discard_infcall_control_state): ... here.
* alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h,
exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c,
inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c,
mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c,
solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the
references to the moved fields and renamed functions.
Diffstat (limited to 'gdb/inferior.h')
-rw-r--r-- | gdb/inferior.h | 69 |
1 files changed, 40 insertions, 29 deletions
diff --git a/gdb/inferior.h b/gdb/inferior.h index 5abec68..b23a03b 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -43,37 +43,25 @@ struct terminal_info; #include "progspace.h" -/* Two structures are used to record inferior state. +struct infcall_suspend_state; +struct infcall_control_state; - inferior_thread_state contains state about the program itself like its - registers and any signal it received when it last stopped. - This state must be restored regardless of how the inferior function call - ends (either successfully, or after it hits a breakpoint or signal) - if the program is to properly continue where it left off. +extern struct infcall_suspend_state *save_infcall_suspend_state (void); +extern struct infcall_control_state *save_infcall_control_state (void); - inferior_status contains state regarding gdb's control of the inferior - itself like stepping control. It also contains session state like the - user's currently selected frame. +extern void restore_infcall_suspend_state (struct infcall_suspend_state *); +extern void restore_infcall_control_state (struct infcall_control_state *); - Call these routines around hand called functions, including function calls - in conditional breakpoints for example. */ +extern struct cleanup *make_cleanup_restore_infcall_suspend_state + (struct infcall_suspend_state *); +extern struct cleanup *make_cleanup_restore_infcall_control_state + (struct infcall_control_state *); -struct inferior_thread_state; -struct inferior_status; +extern void discard_infcall_suspend_state (struct infcall_suspend_state *); +extern void discard_infcall_control_state (struct infcall_control_state *); -extern struct inferior_thread_state *save_inferior_thread_state (void); -extern struct inferior_status *save_inferior_status (void); - -extern void restore_inferior_thread_state (struct inferior_thread_state *); -extern void restore_inferior_status (struct inferior_status *); - -extern struct cleanup *make_cleanup_restore_inferior_thread_state (struct inferior_thread_state *); -extern struct cleanup *make_cleanup_restore_inferior_status (struct inferior_status *); - -extern void discard_inferior_thread_state (struct inferior_thread_state *); -extern void discard_inferior_status (struct inferior_status *); - -extern struct regcache *get_inferior_thread_state_regcache (struct inferior_thread_state *); +extern struct regcache * + get_infcall_suspend_state_regcache (struct infcall_suspend_state *); /* The -1 ptid, often used to indicate either an error condition or a "don't care" condition, i.e, "run all threads." */ @@ -405,6 +393,24 @@ void displaced_step_dump_bytes (struct ui_file *file, struct private_inferior; +/* Inferior process specific part of `struct infcall_control_state'. + + Inferior thread counterpart is `struct thread_control_state'. */ + +struct inferior_control_state +{ + /* See the definition of stop_kind above. */ + enum stop_kind stop_soon; +}; + +/* Inferior process specific part of `struct infcall_suspend_state'. + + Inferior thread counterpart is `struct thread_suspend_state'. */ + +struct inferior_suspend_state +{ +}; + /* GDB represents the state of each program execution with an object called an inferior. An inferior typically corresponds to a process but is more general and applies also to targets that do not have a @@ -427,6 +433,14 @@ struct inferior the ptid_t.pid member of threads of this inferior. */ int pid; + /* State of GDB control of inferior process execution. + See `struct inferior_control_state'. */ + struct inferior_control_state control; + + /* State of inferior process to restore after GDB is done with an inferior + call. See `struct inferior_suspend_state'. */ + struct inferior_suspend_state suspend; + /* True if this was an auto-created inferior, e.g. created from following a fork; false, if this inferior was manually added by the user, and we should not attempt to prune it @@ -458,9 +472,6 @@ struct inferior in format described in environ.h. */ struct gdb_environ *environment; - /* See the definition of stop_kind above. */ - enum stop_kind stop_soon; - /* Nonzero if this child process was attached rather than forked. */ int attach_flag; |