diff options
author | Pedro Alves <palves@redhat.com> | 2014-05-22 12:29:11 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2014-05-22 12:29:11 +0100 |
commit | 45741a9c329a5afa111f7842ba980bd6a106e020 (patch) | |
tree | 9d5dfc832aff01efa1631d150558ca787d6e44ca /gdb/infrun.h | |
parent | 98eb56a4bc8a0d3c58ba6f616d6e9238377ecce5 (diff) | |
download | gdb-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.h | 164 |
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 */ |