aboutsummaryrefslogtreecommitdiff
path: root/gdb/inferior.h
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-11-28 04:31:25 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-11-28 04:31:25 +0000
commit16c381f0589cead48e7e707c6584ec8629601aad (patch)
tree8e21dbf7ca0c4b2c178c17f8393b3582824af375 /gdb/inferior.h
parentf0df11bdc9986db64dfef6d534cad93926889bd0 (diff)
downloadgdb-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.h69
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;