extern ptid_t inferior_ptid;
-/* Is the inferior running right now, as a result of a 'run&',
- 'continue&' etc command? This is used in asycn gdb to determine
- whether a command that the user enters while the target is running
- is allowed or not. */
-extern int target_executing;
-
/* Are we simulating synchronous execution? This is used in async gdb
to implement the 'run', 'continue' etc commands, which will not
redisplay the prompt until the execution is actually over. */
extern void proceed (CORE_ADDR, enum target_signal, int);
+extern ptid_t context_switch_to (ptid_t ptid);
+
/* When set, stop the 'step' command if we enter a function which has
no line number information. The normal behavior is that we step
over such function. */
extern int step_stop_if_no_debug;
+/* If set, the inferior should be controlled in non-stop mode. In
+ this mode, each thread is controlled independently. Execution
+ commands apply only to the the selected thread by default, and stop
+ events stop only the thread that had the event -- the other threads
+ are kept running freely. */
+extern int non_stop;
+
extern void generic_mourn_inferior (void);
extern void terminal_save_ours (void);
extern CORE_ADDR read_pc (void);
-extern CORE_ADDR read_pc_pid (ptid_t);
-
extern void write_pc (CORE_ADDR);
-extern void write_pc_pid (CORE_ADDR, ptid_t);
-
extern CORE_ADDR unsigned_pointer_to_address (struct type *type,
const gdb_byte *buf);
extern void unsigned_address_to_pointer (struct type *type, gdb_byte *buf,
extern void address_to_signed_pointer (struct type *type, gdb_byte *buf,
CORE_ADDR addr);
-extern void wait_for_inferior (void);
+extern void wait_for_inferior (int treat_exec_as_sigtrap);
extern void fetch_inferior_event (void *);
extern void follow_inferior_reset_breakpoints (void);
+/* Throw an error indicating the current thread is running. */
+extern void error_is_running (void);
+
+/* Calls error_is_running if the current thread is running. */
+extern void ensure_not_running (void);
+
/* From infcmd.c */
extern void tty_command (char *, int);
extern void stepi_command (char *, int);
+extern void continue_1 (int all_threads);
+
extern void continue_command (char *, int);
extern void interrupt_target_command (char *args, int from_tty);
+extern void interrupt_target_1 (int all_threads);
+
/* Last signal that the inferior received (why it stopped). */
extern enum target_signal stop_signal;
extern CORE_ADDR stop_pc;
-/* Chain containing status of breakpoint(s) that we have stopped at. */
-
-extern bpstat stop_bpstat;
-
/* Flag indicating that a command has proceeded the inferior past the
current breakpoint. */
extern int stopped_by_random_signal;
-/* Range to single step within.
- If this is nonzero, respond to a single-step signal
- by continuing to step if the pc is in this range.
-
- If step_range_start and step_range_end are both 1, it means to step for
- a single instruction (FIXME: it might clean up wait_for_inferior in a
- minor way if this were changed to the address of the instruction and
- that address plus one. But maybe not.). */
-
-extern CORE_ADDR step_range_start; /* Inclusive */
-extern CORE_ADDR step_range_end; /* Exclusive */
-
-/* Stack frame address as of when stepping command was issued.
- This is how we know when we step into a subroutine call,
- and how to set the frame for the breakpoint used to step out. */
-
-extern struct frame_id step_frame_id;
-
/* 1 means step over all subroutine calls.
-1 means step over calls to undebuggable functions. */
STEP_OVER_UNDEBUGGABLE
};
-extern enum step_over_calls_kind step_over_calls;
-
/* If stepping, nonzero means step count is > 1
so don't print frame next time inferior stops
if it stops due to stepping. */
than forked. */
extern int attach_flag;
+
+/* True if we are debugging displaced stepping. */
+extern int debug_displaced;
+
+/* Dump LEN bytes at BUF in hex to FILE, followed by a newline. */
+void displaced_step_dump_bytes (struct ui_file *file,
+ const gdb_byte *buf, size_t len);
+
+
+/* When set, normal_stop will not call the normal_stop observer. */
+extern int suppress_stop_observer;
+
+/* When set, no calls to target_resumed observer will be made. */
+extern int suppress_resume_observer;
+
\f
/* Possible values for gdbarch_call_dummy_location. */
#define ON_STACK 1