summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog61
-rw-r--r--gdb/amd64-tdep.c1
-rw-r--r--gdb/annotate.c1
-rw-r--r--gdb/arch-utils.c1
-rw-r--r--gdb/arm-linux-tdep.c1
-rw-r--r--gdb/arm-tdep.c1
-rw-r--r--gdb/break-catch-sig.c1
-rw-r--r--gdb/breakpoint.c1
-rw-r--r--gdb/common/agent.c2
-rw-r--r--gdb/corelow.c1
-rw-r--r--gdb/event-top.c1
-rw-r--r--gdb/go32-nat.c1
-rw-r--r--gdb/i386-tdep.c1
-rw-r--r--gdb/inf-loop.c3
-rw-r--r--gdb/infcall.c1
-rw-r--r--gdb/infcmd.c1
-rw-r--r--gdb/inferior.h134
-rw-r--r--gdb/infrun.c1
-rw-r--r--gdb/infrun.h164
-rw-r--r--gdb/linux-fork.c1
-rw-r--r--gdb/linux-nat.c1
-rw-r--r--gdb/linux-thread-db.c1
-rw-r--r--gdb/mi/mi-interp.c1
-rw-r--r--gdb/mi/mi-main.c1
-rw-r--r--gdb/monitor.c1
-rw-r--r--gdb/nto-tdep.c1
-rw-r--r--gdb/procfs.c1
-rw-r--r--gdb/python/py-threadevent.c1
-rw-r--r--gdb/record-btrace.c1
-rw-r--r--gdb/record-full.c1
-rw-r--r--gdb/remote-m32r-sdi.c1
-rw-r--r--gdb/remote-mips.c1
-rw-r--r--gdb/remote-notif.c1
-rw-r--r--gdb/remote-sim.c1
-rw-r--r--gdb/remote.c1
-rw-r--r--gdb/reverse.c1
-rw-r--r--gdb/rs6000-tdep.c1
-rw-r--r--gdb/s390-linux-tdep.c1
-rw-r--r--gdb/solib-irix.c1
-rw-r--r--gdb/solib-osf.c1
-rw-r--r--gdb/solib-svr4.c1
-rw-r--r--gdb/target.c1
-rw-r--r--gdb/top.c1
-rw-r--r--gdb/windows-nat.c1
44 files changed, 267 insertions, 136 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4e65bdbdcaa..d1948b1fabc 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,66 @@
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.
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 10bd31b2690..45ed97b744c 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -29,6 +29,7 @@
#include "frame-base.h"
#include "frame-unwind.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "objfiles.h"
diff --git a/gdb/annotate.c b/gdb/annotate.c
index 135573316c2..6cce693385d 100644
--- a/gdb/annotate.c
+++ b/gdb/annotate.c
@@ -24,6 +24,7 @@
#include "breakpoint.h"
#include "observer.h"
#include "inferior.h"
+#include "infrun.h"
/* Prototypes for local functions. */
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index bff1a10902d..d8da7439ca1 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -23,6 +23,7 @@
#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"
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 028a95bc81e..65d9084e8f5 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -41,6 +41,7 @@
#include "glibc-tdep.h"
#include "arch-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "symfile.h"
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 7271777ca0e..74942b1fe82 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -23,6 +23,7 @@
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include <string.h>
diff --git a/gdb/break-catch-sig.c b/gdb/break-catch-sig.c
index d510e6d9345..c41bf331499 100644
--- a/gdb/break-catch-sig.c
+++ b/gdb/break-catch-sig.c
@@ -23,6 +23,7 @@
#include "breakpoint.h"
#include "gdbcmd.h"
#include "inferior.h"
+#include "infrun.h"
#include "annotate.h"
#include "valprint.h"
#include "cli/cli-utils.h"
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index f422998986f..676c7b888cb 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -32,6 +32,7 @@
#include "value.h"
#include "command.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "target.h"
#include "language.h"
diff --git a/gdb/common/agent.c b/gdb/common/agent.c
index f553b947dbb..54f861aecbb 100644
--- a/gdb/common/agent.c
+++ b/gdb/common/agent.c
@@ -22,7 +22,7 @@
#else
#include "defs.h"
#include "target.h"
-#include "inferior.h" /* for non_stop */
+#include "infrun.h"
#include "objfiles.h"
#endif
diff --git a/gdb/corelow.c b/gdb/corelow.c
index 02caeefc1cb..e6a5cb136cc 100644
--- a/gdb/corelow.c
+++ b/gdb/corelow.c
@@ -28,6 +28,7 @@
#endif
#include "frame.h" /* required by inferior.h */
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "command.h"
#include "bfd.h"
diff --git a/gdb/event-top.c b/gdb/event-top.c
index c353f487d2b..f690bc6c504 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -22,6 +22,7 @@
#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"
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 77843ea05c6..d614911a6a2 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -87,6 +87,7 @@
#include "i386-nat.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "gdb_wait.h"
#include "gdbcore.h"
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 88fc31f2a2b..5e3cc79808e 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -28,6 +28,7 @@
#include "frame-base.h"
#include "frame-unwind.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdbtypes.h"
diff --git a/gdb/inf-loop.c b/gdb/inf-loop.c
index 8d23dc72a4a..f5293ae8622 100644
--- a/gdb/inf-loop.c
+++ b/gdb/inf-loop.c
@@ -18,7 +18,8 @@
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"
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 9907263326b..9a859584e42 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -23,6 +23,7 @@
#include "target.h"
#include "regcache.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdb_assert.h"
#include "block.h"
#include "gdbcore.h"
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 920169de14f..6511d642cb7 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -25,6 +25,7 @@
#include "gdbtypes.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "environ.h"
#include "value.h"
#include "gdbcmd.h"
diff --git a/gdb/inferior.h b/gdb/inferior.h
index f8d358d4af3..14f4ec833e6 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -84,35 +84,6 @@ extern const char *get_inferior_io_terminal (void);
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,
@@ -128,27 +99,8 @@ extern void address_to_signed_pointer (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,
@@ -185,49 +137,6 @@ extern void startup_inferior (int);
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);
@@ -331,33 +240,6 @@ enum stop_kind
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);
/* Possible values for gdbarch_call_dummy_location. */
#define ON_STACK 1
@@ -633,20 +515,4 @@ extern int number_of_inferiors (void);
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) */
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 6d0bfd8c258..ec78148a062 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -19,6 +19,7 @@
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"
diff --git a/gdb/infrun.h b/gdb/infrun.h
new file mode 100644
index 00000000000..f0649f33a61
--- /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 */
diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c
index 9aece373be0..b9f8cfb5f13 100644
--- a/gdb/linux-fork.c
+++ b/gdb/linux-fork.c
@@ -20,6 +20,7 @@
#include "defs.h"
#include "arch-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
#include "gdbcmd.h"
#include "infcall.h"
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index f60d54c8191..767dcc9a015 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -19,6 +19,7 @@
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "nat/linux-nat.h"
#include "nat/linux-waitpid.h"
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index c0f7b1a4a59..c79d9947588 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -30,6 +30,7 @@
#include "gdbcmd.h"
#include "gdbthread.h"
#include "inferior.h"
+#include "infrun.h"
#include "symfile.h"
#include "objfiles.h"
#include "target.h"
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index e1fbb5e5b37..99479cc02b2 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -23,6 +23,7 @@
#include "event-top.h"
#include "event-loop.h"
#include "inferior.h"
+#include "infrun.h"
#include "ui-out.h"
#include "top.h"
#include "exceptions.h"
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 1598af0e73c..9ab4886fb1f 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -23,6 +23,7 @@
#include "arch-utils.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include <string.h>
#include "exceptions.h"
#include "top.h"
diff --git a/gdb/monitor.c b/gdb/monitor.c
index c46e2dfa1b8..25742ac5a3e 100644
--- a/gdb/monitor.c
+++ b/gdb/monitor.c
@@ -50,6 +50,7 @@
#include "monitor.h"
#include "gdbcmd.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdb_regex.h"
#include "srec.h"
#include "regcache.h"
diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c
index a160a9eaff9..1d0f8a10c1a 100644
--- a/gdb/nto-tdep.c
+++ b/gdb/nto-tdep.c
@@ -25,6 +25,7 @@
#include "nto-tdep.h"
#include "top.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbarch.h"
#include "bfd.h"
#include "elf-bfd.h"
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 80b0a6af649..cd3301af92e 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -22,6 +22,7 @@
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "gdbcore.h"
#include "elf-bfd.h" /* for elfcore_write_* */
diff --git a/gdb/python/py-threadevent.c b/gdb/python/py-threadevent.c
index 43fd83dd424..c64975c9c86 100644
--- a/gdb/python/py-threadevent.c
+++ b/gdb/python/py-threadevent.c
@@ -17,6 +17,7 @@
#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
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index d768225bd31..2304020f80c 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -35,6 +35,7 @@
#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;
diff --git a/gdb/record-full.c b/gdb/record-full.c
index 39db910baea..a496cf32e17 100644
--- a/gdb/record-full.c
+++ b/gdb/record-full.c
@@ -35,6 +35,7 @@
#include "inf-loop.h"
#include "gdb_bfd.h"
#include "observer.h"
+#include "infrun.h"
#include <signal.h>
diff --git a/gdb/remote-m32r-sdi.c b/gdb/remote-m32r-sdi.c
index 0c23403cf25..9c57171d0e9 100644
--- a/gdb/remote-m32r-sdi.c
+++ b/gdb/remote-m32r-sdi.c
@@ -24,6 +24,7 @@
#include "gdbcmd.h"
#include "gdbcore.h"
#include "inferior.h"
+#include "infrun.h"
#include "target.h"
#include "regcache.h"
#include <string.h>
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index 383d31ca5f9..7f0d957471c 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -22,6 +22,7 @@
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "gdbcmd.h"
diff --git a/gdb/remote-notif.c b/gdb/remote-notif.c
index d3e1b26394b..650a0f8e92e 100644
--- a/gdb/remote-notif.c
+++ b/gdb/remote-notif.c
@@ -38,6 +38,7 @@
#include "event-loop.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbcmd.h"
#include <string.h>
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 3bda0437567..2e7db4badac 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -22,6 +22,7 @@
#include "defs.h"
#include "inferior.h"
+#include "infrun.h"
#include "value.h"
#include <string.h>
#include <ctype.h>
diff --git a/gdb/remote.c b/gdb/remote.c
index 964bd41f052..6774d84d50e 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -24,6 +24,7 @@
#include <ctype.h>
#include <fcntl.h>
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "exceptions.h"
diff --git a/gdb/reverse.c b/gdb/reverse.c
index 30a03282460..defa8b63b98 100644
--- a/gdb/reverse.c
+++ b/gdb/reverse.c
@@ -25,6 +25,7 @@
#include "cli/cli-decode.h"
#include "cli/cli-utils.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
/* User interface:
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index dbe3aa24506..c4ce51c5430 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -20,6 +20,7 @@
#include "defs.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c
index 9ab5c703f61..ea743b591f9 100644
--- a/gdb/s390-linux-tdep.c
+++ b/gdb/s390-linux-tdep.c
@@ -24,6 +24,7 @@
#include "arch-utils.h"
#include "frame.h"
#include "inferior.h"
+#include "infrun.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
diff --git a/gdb/solib-irix.c b/gdb/solib-irix.c
index 6266ee00c3d..9c0838f1032 100644
--- a/gdb/solib-irix.c
+++ b/gdb/solib-irix.c
@@ -30,6 +30,7 @@
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "solist.h"
diff --git a/gdb/solib-osf.c b/gdb/solib-osf.c
index 90a26e88248..87777152d9d 100644
--- a/gdb/solib-osf.c
+++ b/gdb/solib-osf.c
@@ -52,6 +52,7 @@
#include "objfiles.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "gdbthread.h"
#include "solist.h"
#include "solib.h"
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 0da5692494c..af9d64891d0 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -30,6 +30,7 @@
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
+#include "infrun.h"
#include "regcache.h"
#include "gdbthread.h"
#include "observer.h"
diff --git a/gdb/target.c b/gdb/target.c
index 07e3c2b1af0..cf86e73268c 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -27,6 +27,7 @@
#include "gdbcmd.h"
#include "symtab.h"
#include "inferior.h"
+#include "infrun.h"
#include "bfd.h"
#include "symfile.h"
#include "objfiles.h"
diff --git a/gdb/top.c b/gdb/top.c
index 186b05f17fd..d98740a5169 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -25,6 +25,7 @@
#include "cli/cli-decode.h"
#include "symtab.h"
#include "inferior.h"
+#include "infrun.h"
#include "exceptions.h"
#include <signal.h>
#include "target.h"
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 88844fe11cd..16f4efb6577 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -24,6 +24,7 @@
#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"