aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2014-05-22 12:29:11 +0100
committerPedro Alves <palves@redhat.com>2014-05-22 12:29:11 +0100
commit45741a9c329a5afa111f7842ba980bd6a106e020 (patch)
tree9d5dfc832aff01efa1631d150558ca787d6e44ca /gdb/infrun.h
parent98eb56a4bc8a0d3c58ba6f616d6e9238377ecce5 (diff)
downloadgdb-45741a9c329a5afa111f7842ba980bd6a106e020.zip
gdb-45741a9c329a5afa111f7842ba980bd6a106e020.tar.gz
gdb-45741a9c329a5afa111f7842ba980bd6a106e020.tar.bz2
Add new infrun.h header.
Move infrun.c declarations out of inferior.h to a new infrun.h file. Tested by building on: i686-w64-mingw32, enable-targets=all x86_64-linux, enable-targets=all i586-pc-msdosdjgpp And also grepped the whole tree for each symbol moved to find where infrun.h might be necessary. gdb/ 2014-05-22 Pedro Alves <palves@redhat.com> * inferior.h (debug_infrun, debug_displaced, stop_on_solib_events) (sync_execution, sched_multi, step_stop_if_no_debug, non_stop) (disable_randomization, enum exec_direction_kind) (execution_direction, stop_registers, start_remote) (clear_proceed_status, proceed, resume, user_visible_resume_ptid) (wait_for_inferior, normal_stop, get_last_target_status) (prepare_for_detach, fetch_inferior_event, init_wait_for_inferior) (insert_step_resume_breakpoint_at_sal) (follow_inferior_reset_breakpoints, stepping_past_instruction_at) (set_step_info, print_stop_event, signal_stop_state) (signal_print_state, signal_pass_state, signal_stop_update) (signal_print_update, signal_pass_update) (update_signals_program_target, clear_exit_convenience_vars) (displaced_step_dump_bytes, update_observer_mode) (signal_catch_update, gdb_signal_from_command): Move declarations ... * infrun.h: ... to this new file. * amd64-tdep.c: Include infrun.h. * annotate.c: Include infrun.h. * arch-utils.c: Include infrun.h. * arm-linux-tdep.c: Include infrun.h. * arm-tdep.c: Include infrun.h. * break-catch-sig.c: Include infrun.h. * breakpoint.c: Include infrun.h. * common/agent.c: Include infrun.h instead of inferior.h. * corelow.c: Include infrun.h. * event-top.c: Include infrun.h. * go32-nat.c: Include infrun.h. * i386-tdep.c: Include infrun.h. * inf-loop.c: Include infrun.h. * infcall.c: Include infrun.h. * infcmd.c: Include infrun.h. * infrun.c: Include infrun.h. * linux-fork.c: Include infrun.h. * linux-nat.c: Include infrun.h. * linux-thread-db.c: Include infrun.h. * monitor.c: Include infrun.h. * nto-tdep.c: Include infrun.h. * procfs.c: Include infrun.h. * record-btrace.c: Include infrun.h. * record-full.c: Include infrun.h. * remote-m32r-sdi.c: Include infrun.h. * remote-mips.c: Include infrun.h. * remote-notif.c: Include infrun.h. * remote-sim.c: Include infrun.h. * remote.c: Include infrun.h. * reverse.c: Include infrun.h. * rs6000-tdep.c: Include infrun.h. * s390-linux-tdep.c: Include infrun.h. * solib-irix.c: Include infrun.h. * solib-osf.c: Include infrun.h. * solib-svr4.c: Include infrun.h. * target.c: Include infrun.h. * top.c: Include infrun.h. * windows-nat.c: Include infrun.h. * mi/mi-interp.c: Include infrun.h. * mi/mi-main.c: Include infrun.h. * python/py-threadevent.c: Include infrun.h.
Diffstat (limited to 'gdb/infrun.h')
-rw-r--r--gdb/infrun.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/gdb/infrun.h b/gdb/infrun.h
new file mode 100644
index 0000000..f0649f3
--- /dev/null
+++ b/gdb/infrun.h
@@ -0,0 +1,164 @@
+/* Copyright (C) 1986-2014 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef INFRUN_H
+#define INFRUN_H 1
+
+#include "ptid.h"
+#include "symtab.h"
+
+struct target_waitstatus;
+struct frame_info;
+struct address_space;
+
+/* True if we are debugging run control. */
+extern unsigned int debug_infrun;
+
+/* True if we are debugging displaced stepping. */
+extern int debug_displaced;
+
+/* Nonzero if we want to give control to the user when we're notified
+ of shared library events by the dynamic linker. */
+extern int stop_on_solib_events;
+
+/* 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 int sync_execution;
+
+/* True if execution commands resume all threads of all processes by
+ default; otherwise, resume only threads of the current inferior
+ process. */
+extern int sched_multi;
+
+/* 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 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;
+
+/* When set (default), the target should attempt to disable the
+ operating system's address space randomization feature when
+ starting an inferior. */
+extern int disable_randomization;
+
+/* Reverse execution. */
+enum exec_direction_kind
+ {
+ EXEC_FORWARD,
+ EXEC_REVERSE
+ };
+
+/* The current execution direction. This should only be set to enum
+ exec_direction_kind values. It is only an int to make it
+ compatible with make_cleanup_restore_integer. */
+extern int execution_direction;
+
+/* Save register contents here when executing a "finish" command or
+ are about to pop a stack dummy frame, if-and-only-if
+ proceed_to_finish is set. Thus this contains the return value from
+ the called function (assuming values are returned in a
+ register). */
+extern struct regcache *stop_registers;
+
+extern void start_remote (int from_tty);
+
+extern void clear_proceed_status (void);
+
+extern void proceed (CORE_ADDR, enum gdb_signal, int);
+
+/* The `resume' routine should only be called in special circumstances.
+ Normally, use `proceed', which handles a lot of bookkeeping. */
+extern void resume (int, enum gdb_signal);
+
+extern ptid_t user_visible_resume_ptid (int step);
+
+extern void wait_for_inferior (void);
+
+extern void normal_stop (void);
+
+extern void get_last_target_status (ptid_t *ptid,
+ struct target_waitstatus *status);
+
+extern void prepare_for_detach (void);
+
+extern void fetch_inferior_event (void *);
+
+extern void init_wait_for_inferior (void);
+
+extern void insert_step_resume_breakpoint_at_sal (struct gdbarch *,
+ struct symtab_and_line ,
+ struct frame_id);
+
+extern void follow_inferior_reset_breakpoints (void);
+
+/* Returns true if we're trying to step past the instruction at
+ ADDRESS in ASPACE. */
+extern int stepping_past_instruction_at (struct address_space *aspace,
+ CORE_ADDR address);
+
+extern void set_step_info (struct frame_info *frame,
+ struct symtab_and_line sal);
+
+extern void print_stop_event (struct target_waitstatus *ws);
+
+extern int signal_stop_state (int);
+
+extern int signal_print_state (int);
+
+extern int signal_pass_state (int);
+
+extern int signal_stop_update (int, int);
+
+extern int signal_print_update (int, int);
+
+extern int signal_pass_update (int, int);
+
+extern void update_signals_program_target (void);
+
+/* Clear the convenience variables associated with the exit of the
+ inferior. Currently, those variables are $_exitcode and
+ $_exitsignal. */
+extern void clear_exit_convenience_vars (void);
+
+/* Dump LEN bytes at BUF in hex to FILE, followed by a newline. */
+extern void displaced_step_dump_bytes (struct ui_file *file,
+ const gdb_byte *buf, size_t len);
+
+extern struct displaced_step_closure *get_displaced_step_closure_by_addr
+ (CORE_ADDR addr);
+
+extern void update_observer_mode (void);
+
+extern void signal_catch_update (const unsigned int *);
+
+/* In some circumstances we allow a command to specify a numeric
+ signal. The idea is to keep these circumstances limited so that
+ users (and scripts) develop portable habits. For comparison,
+ POSIX.2 `kill' requires that 1,2,3,6,9,14, and 15 work (and using a
+ numeric signal at all is obsolescent. We are slightly more lenient
+ and allow 1-15 which should match host signal numbers on most
+ systems. Use of symbolic signal names is strongly encouraged. */
+enum gdb_signal gdb_signal_from_command (int num);
+
+#endif /* INFRUN_H */