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.
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.
+
+2014-05-22 Pedro Alves <palves@redhat.com>
+
* infrun.c (handle_inferior_event): Store the exit code for
--return-child-result here, instead of ...
(print_exited_reason): ... here.
#include "frame-base.h"
#include "frame-unwind.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "objfiles.h"
#include "breakpoint.h"
#include "observer.h"
#include "inferior.h"
+#include "infrun.h"
\f
/* Prototypes for local functions. */
#include "buildsym.h"
#include "gdbcmd.h"
#include "inferior.h" /* enum CALL_DUMMY_LOCATION et al. */
+#include "infrun.h"
#include <string.h>
#include "regcache.h"
#include "gdb_assert.h"
#include "glibc-tdep.h"
#include "arch-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "symfile.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include <string.h>
#include "breakpoint.h"
#include "gdbcmd.h"
#include "inferior.h"
+#include "infrun.h"
#include "annotate.h"
#include "valprint.h"
#include "cli/cli-utils.h"
#include "value.h"
#include "command.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "target.h"
#include "language.h"
#else
#include "defs.h"
#include "target.h"
-#include "inferior.h" /* for non_stop */
+#include "infrun.h"
#include "objfiles.h"
#endif
#endif
#include "frame.h" /* required by inferior.h */
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "command.h"
#include "bfd.h"
#include "defs.h"
#include "top.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "terminal.h" /* for job_control */
#include "event-loop.h"
#include "i386-nat.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "gdb_wait.h"
#include "gdbcore.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdbtypes.h"
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-#include "inferior.h" /* For fetch_inferior_event. */
+#include "inferior.h"
+#include "infrun.h"
#include "target.h" /* For enum inferior_event_type. */
#include "event-loop.h"
#include "event-top.h"
#include "target.h"
#include "regcache.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdb_assert.h"
#include "block.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "environ.h"
#include "value.h"
#include "gdbcmd.h"
extern ptid_t inferior_ptid;
-/* 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;
-
-/* Inferior environment. */
-
-extern void clear_proceed_status (void);
-
-extern void proceed (CORE_ADDR, enum gdb_signal, int);
-
-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;
-
extern void generic_mourn_inferior (void);
extern CORE_ADDR unsigned_pointer_to_address (struct gdbarch *gdbarch,
struct type *type, gdb_byte *buf,
CORE_ADDR addr);
-extern void wait_for_inferior (void);
-
-extern void prepare_for_detach (void);
-
-extern void fetch_inferior_event (void *);
-
-extern void init_wait_for_inferior (void);
-
extern void reopen_exec_file (void);
-/* 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 insert_step_resume_breakpoint_at_sal (struct gdbarch *,
- struct symtab_and_line ,
- struct frame_id);
-
/* From misc files */
extern void default_print_registers_info (struct gdbarch *gdbarch,
extern char *construct_inferior_arguments (int, char **);
-/* From infrun.c */
-
-extern unsigned int debug_infrun;
-
-extern int stop_on_solib_events;
-
-extern void start_remote (int from_tty);
-
-extern void normal_stop (void);
-
-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 get_last_target_status(ptid_t *ptid,
- struct target_waitstatus *status);
-
-extern void follow_inferior_reset_breakpoints (void);
-
-void set_step_info (struct frame_info *frame, struct symtab_and_line sal);
-
-/* 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);
-
-/* 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);
-
/* From infcmd.c */
extern void post_create_inferior (struct target_ops *, int);
STOP_QUIETLY_NO_SIGSTOP
};
-/* 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;
-
-/* 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);
-
-struct displaced_step_closure *get_displaced_step_closure_by_addr (CORE_ADDR addr);
\f
/* Possible values for gdbarch_call_dummy_location. */
#define ON_STACK 1
extern struct inferior *add_inferior_with_spaces (void);
-extern void update_observer_mode (void);
-
-extern void update_signals_program_target (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 /* !defined (INFERIOR_H) */
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
+#include "infrun.h"
#include <string.h>
#include <ctype.h>
#include "symtab.h"
--- /dev/null
+/* 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 */
#include "defs.h"
#include "arch-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
#include "gdbcmd.h"
#include "infcall.h"
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "nat/linux-nat.h"
#include "nat/linux-waitpid.h"
#include "gdbcmd.h"
#include "gdbthread.h"
#include "inferior.h"
+#include "infrun.h"
#include "symfile.h"
#include "objfiles.h"
#include "target.h"
#include "event-top.h"
#include "event-loop.h"
#include "inferior.h"
+#include "infrun.h"
#include "ui-out.h"
#include "top.h"
#include "exceptions.h"
#include "arch-utils.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include <string.h>
#include "exceptions.h"
#include "top.h"
#include "monitor.h"
#include "gdbcmd.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdb_regex.h"
#include "srec.h"
#include "regcache.h"
#include "nto-tdep.h"
#include "top.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbarch.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "gdbcore.h"
#include "elf-bfd.h" /* for elfcore_write_* */
#include "defs.h"
#include "py-event.h"
+#include "infrun.h"
/* thread events can either be thread specific or process wide. If gdb is
running in non-stop mode then the event is thread specific, otherwise
#include "regcache.h"
#include "frame-unwind.h"
#include "hashtab.h"
+#include "infrun.h"
/* The target_ops of record-btrace. */
static struct target_ops record_btrace_ops;
#include "inf-loop.h"
#include "gdb_bfd.h"
#include "observer.h"
+#include "infrun.h"
#include <signal.h>
#include "gdbcmd.h"
#include "gdbcore.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "regcache.h"
#include <string.h>
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "gdbcmd.h"
#include "event-loop.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include <string.h>
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "value.h"
#include <string.h>
#include <ctype.h>
#include <ctype.h>
#include <fcntl.h>
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "exceptions.h"
#include "cli/cli-decode.h"
#include "cli/cli-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
/* User interface:
#include "defs.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
#include "arch-utils.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "solist.h"
#include "objfiles.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "solist.h"
#include "solib.h"
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
#include "gdbthread.h"
#include "observer.h"
#include "gdbcmd.h"
#include "symtab.h"
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "objfiles.h"
#include "cli/cli-decode.h"
#include "symtab.h"
#include "inferior.h"
+#include "infrun.h"
#include "exceptions.h"
#include <signal.h>
#include "target.h"
#include "defs.h"
#include "frame.h" /* required by inferior.h */
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "exceptions.h"
#include "gdbcore.h"