summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog31
-rw-r--r--gdb/aarch64-ravenscar-thread.c1
-rw-r--r--gdb/aarch64-tdep.c1
-rw-r--r--gdb/alpha-bsd-tdep.h2
-rw-r--r--gdb/alpha-linux-tdep.c1
-rw-r--r--gdb/alpha-mdebug-tdep.c1
-rw-r--r--gdb/arch-utils.h3
-rw-r--r--gdb/arm-tdep.h2
-rw-r--r--gdb/ax-general.c1
-rw-r--r--gdb/btrace.c1
-rw-r--r--gdb/buildsym-legacy.c1
-rw-r--r--gdb/buildsym.h2
-rw-r--r--gdb/c-lang.c1
-rw-r--r--gdb/cli/cli-cmds.h1
-rw-r--r--gdb/cli/cli-decode.h1
-rw-r--r--gdb/cli/cli-dump.c1
-rw-r--r--gdb/cli/cli-script.h2
-rw-r--r--gdb/cli/cli-style.h1
-rw-r--r--gdb/coff-pe-read.h1
-rw-r--r--gdb/compile/compile-c-support.c1
-rw-r--r--gdb/compile/compile-cplus.h1
-rw-r--r--gdb/compile/compile-loc2c.c1
-rw-r--r--gdb/corefile.c1
-rw-r--r--gdb/cp-valprint.c1
-rw-r--r--gdb/cris-linux-tdep.c1
-rw-r--r--gdb/ctf.c1
-rw-r--r--gdb/d-lang.c1
-rw-r--r--gdb/d-namespace.c1
-rw-r--r--gdb/dcache.c1
-rw-r--r--gdb/defs.h3
-rw-r--r--gdb/dicos-tdep.c1
-rw-r--r--gdb/dictionary.c1
-rw-r--r--gdb/disasm-selftests.c1
-rw-r--r--gdb/dummy-frame.c1
-rw-r--r--gdb/dummy-frame.h1
-rw-r--r--gdb/dwarf2-frame-tailcall.c1
-rw-r--r--gdb/dwarf2expr.c1
-rw-r--r--gdb/expression.h2
-rw-r--r--gdb/f-lang.c1
-rw-r--r--gdb/frame-base.c1
-rw-r--r--gdb/frame-unwind.c1
-rw-r--r--gdb/frv-linux-tdep.c1
-rw-r--r--gdb/gdbarch-selftests.c1
-rw-r--r--gdb/gdbtypes.h1
-rw-r--r--gdb/go-lang.c1
-rw-r--r--gdb/hppa-nbsd-tdep.c1
-rw-r--r--gdb/hppa-obsd-tdep.c1
-rw-r--r--gdb/i386-dicos-tdep.c1
-rw-r--r--gdb/i386-tdep.h1
-rw-r--r--gdb/ia64-vms-tdep.c1
-rw-r--r--gdb/inf-ptrace.c1
-rw-r--r--gdb/interps.h1
-rw-r--r--gdb/language.c1
-rw-r--r--gdb/linux-record.c1
-rw-r--r--gdb/location.h2
-rw-r--r--gdb/m2-lang.c1
-rw-r--r--gdb/m32r-linux-tdep.c1
-rw-r--r--gdb/mem-break.c2
-rw-r--r--gdb/memattr.c1
-rw-r--r--gdb/mn10300-linux-tdep.c1
-rw-r--r--gdb/nios2-linux-tdep.c1
-rw-r--r--gdb/objfiles.h1
-rw-r--r--gdb/opencl-lang.c1
-rw-r--r--gdb/or1k-linux-tdep.c1
-rw-r--r--gdb/p-lang.c1
-rw-r--r--gdb/parser-defs.h1
-rw-r--r--gdb/ppc-tdep.h2
-rw-r--r--gdb/probe.h2
-rw-r--r--gdb/procfs.c2
-rw-r--r--gdb/python/py-record-btrace.c1
-rw-r--r--gdb/record-btrace.c1
-rw-r--r--gdb/record.h1
-rw-r--r--gdb/regcache-dump.c1
-rw-r--r--gdb/regcache.h2
-rw-r--r--gdb/riscv-fbsd-tdep.c1
-rw-r--r--gdb/riscv-linux-tdep.c1
-rw-r--r--gdb/rust-exp.y1
-rw-r--r--gdb/s390-linux-nat.c1
-rw-r--r--gdb/sh-linux-tdep.c1
-rw-r--r--gdb/sh-nbsd-tdep.c1
-rw-r--r--gdb/source-cache.c1
-rw-r--r--gdb/sparc-nbsd-tdep.c1
-rw-r--r--gdb/sparc-obsd-tdep.c1
-rw-r--r--gdb/sparc-ravenscar-thread.c1
-rw-r--r--gdb/sparc64-fbsd-tdep.c1
-rw-r--r--gdb/std-regs.c2
-rw-r--r--gdb/target-descriptions.h1
-rw-r--r--gdb/target-float.c2
-rw-r--r--gdb/tic6x-linux-tdep.c1
-rw-r--r--gdb/tilegx-linux-tdep.c1
-rw-r--r--gdb/top.c1
-rw-r--r--gdb/tracefile.c1
-rw-r--r--gdb/trad-frame.c1
-rw-r--r--gdb/type-stack.h1
-rw-r--r--gdb/ui-style.c1
-rw-r--r--gdb/utils.c1
-rw-r--r--gdb/utils.h3
-rw-r--r--gdb/valarith.c1
-rw-r--r--gdb/valprint.c1
-rw-r--r--gdb/varobj.c1
-rw-r--r--gdb/x86-tdep.c1
-rw-r--r--gdb/xml-support.h1
-rw-r--r--gdb/xtensa-linux-tdep.c1
103 files changed, 144 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aa8b53a1214..5f3303dcde9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,34 @@
+2019-07-10 Tom Tromey <tom@tromey.com>
+
+ * defs.h: Don't include gdbarch.h.
+ * aarch64-ravenscar-thread.c, aarch64-tdep.c, alpha-bsd-tdep.h,
+ alpha-linux-tdep.c, alpha-mdebug-tdep.c, arch-utils.h, arm-tdep.h,
+ ax-general.c, btrace.c, buildsym-legacy.c, buildsym.h, c-lang.c,
+ cli/cli-decode.h, cli/cli-dump.c, cli/cli-script.h,
+ cli/cli-style.h, coff-pe-read.h, compile/compile-c-support.c,
+ compile/compile-cplus.h, compile/compile-loc2c.c, corefile.c,
+ cp-valprint.c, cris-linux-tdep.c, ctf.c, d-lang.c, d-namespace.c,
+ dcache.c, dicos-tdep.c, dictionary.c, disasm-selftests.c,
+ dummy-frame.c, dummy-frame.h, dwarf2-frame-tailcall.c,
+ dwarf2expr.c, expression.h, f-lang.c, frame-base.c,
+ frame-unwind.c, frv-linux-tdep.c, gdbarch-selftests.c, gdbtypes.h,
+ go-lang.c, hppa-nbsd-tdep.c, hppa-obsd-tdep.c, i386-dicos-tdep.c,
+ i386-tdep.h, ia64-vms-tdep.c, interps.h, language.c,
+ linux-record.c, location.h, m2-lang.c, m32r-linux-tdep.c,
+ mem-break.c, memattr.c, mn10300-linux-tdep.c, nios2-linux-tdep.c,
+ objfiles.h, opencl-lang.c, or1k-linux-tdep.c, p-lang.c,
+ parser-defs.h, ppc-tdep.h, probe.h, python/py-record-btrace.c,
+ record-btrace.c, record.h, regcache-dump.c, regcache.h,
+ riscv-fbsd-tdep.c, riscv-linux-tdep.c, rust-exp.y,
+ sh-linux-tdep.c, sh-nbsd-tdep.c, source-cache.c,
+ sparc-nbsd-tdep.c, sparc-obsd-tdep.c, sparc-ravenscar-thread.c,
+ sparc64-fbsd-tdep.c, std-regs.c, target-descriptions.h,
+ target-float.c, tic6x-linux-tdep.c, tilegx-linux-tdep.c, top.c,
+ tracefile.c, trad-frame.c, type-stack.h, ui-style.c, utils.c,
+ utils.h, valarith.c, valprint.c, varobj.c, x86-tdep.c,
+ xml-support.h, xtensa-linux-tdep.c, cli/cli-cmds.h: Update.
+ * s390-linux-nat.c, procfs.c, inf-ptrace.c: Likewise.
+
2019-07-10 Tom Tromey <tromey@adacore.com>
* ada-lang.h (is_ada_exception_catchpoint): Declare.
diff --git a/gdb/aarch64-ravenscar-thread.c b/gdb/aarch64-ravenscar-thread.c
index 3e87a4bf5b9..ca22494a5ce 100644
--- a/gdb/aarch64-ravenscar-thread.c
+++ b/gdb/aarch64-ravenscar-thread.c
@@ -24,6 +24,7 @@
#include "inferior.h"
#include "ravenscar-thread.h"
#include "aarch64-ravenscar-thread.h"
+#include "gdbarch.h"
#define NO_OFFSET -1
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index 757465828a1..e23cc3f9567 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -57,6 +57,7 @@
#include "record.h"
#include "record-full.h"
#include "arch/aarch64-insn.h"
+#include "gdbarch.h"
#include "opcode/aarch64.h"
#include <algorithm>
diff --git a/gdb/alpha-bsd-tdep.h b/gdb/alpha-bsd-tdep.h
index 8c87e179a07..6e9719ff92c 100644
--- a/gdb/alpha-bsd-tdep.h
+++ b/gdb/alpha-bsd-tdep.h
@@ -20,6 +20,8 @@
#ifndef ALPHA_BSD_TDEP_H
#define ALPHA_BSD_TDEP_H
+#include "gdbarch.h"
+
struct regcache;
void alphabsd_supply_reg (struct regcache *, const char *, int);
diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c
index bfa611e646f..27b2398fdbc 100644
--- a/gdb/alpha-linux-tdep.c
+++ b/gdb/alpha-linux-tdep.c
@@ -25,6 +25,7 @@
#include "regcache.h"
#include "linux-tdep.h"
#include "alpha-tdep.h"
+#include "gdbarch.h"
/* This enum represents the signals' numbers on the Alpha
architecture. It just contains the signal definitions which are
diff --git a/gdb/alpha-mdebug-tdep.c b/gdb/alpha-mdebug-tdep.c
index caab08b1220..cc10a5dd987 100644
--- a/gdb/alpha-mdebug-tdep.c
+++ b/gdb/alpha-mdebug-tdep.c
@@ -27,6 +27,7 @@
#include "alpha-tdep.h"
#include "mdebugread.h"
+#include "gdbarch.h"
/* FIXME: Some of this code should perhaps be merged with mips. */
diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
index 155cf5cfe30..588e7c07624 100644
--- a/gdb/arch-utils.h
+++ b/gdb/arch-utils.h
@@ -20,7 +20,8 @@
#ifndef ARCH_UTILS_H
#define ARCH_UTILS_H
-struct gdbarch;
+#include "gdbarch.h"
+
struct frame_info;
struct minimal_symbol;
struct type;
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index 807849a5ffc..36d2d381cfa 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -20,13 +20,13 @@
#define ARM_TDEP_H
/* Forward declarations. */
-struct gdbarch;
struct regset;
struct address_space;
struct get_next_pcs;
struct arm_get_next_pcs;
struct gdb_get_next_pcs;
+#include "gdbarch.h"
#include "arch/arm.h"
#include "infrun.h"
diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index d0fdc621f88..d377d0b6eb2 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -23,6 +23,7 @@
#include "defs.h"
#include "ax.h"
+#include "gdbarch.h"
#include "value.h"
#include "user-regs.h"
diff --git a/gdb/btrace.c b/gdb/btrace.c
index 08096adeb1d..466607dbfc2 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -34,6 +34,7 @@
#include "gdbsupport/rsp-low.h"
#include "gdbcmd.h"
#include "cli/cli-utils.h"
+#include "gdbarch.h"
/* For maintenance commands. */
#include "record-btrace.h"
diff --git a/gdb/buildsym-legacy.c b/gdb/buildsym-legacy.c
index a29c1280971..91f8eb869b7 100644
--- a/gdb/buildsym-legacy.c
+++ b/gdb/buildsym-legacy.c
@@ -18,6 +18,7 @@
#include "defs.h"
#include "buildsym-legacy.h"
+#include "symtab.h"
/* The work-in-progress of the compunit we are building.
This is created first, before any subfiles by start_symtab. */
diff --git a/gdb/buildsym.h b/gdb/buildsym.h
index 0f38d597a0f..193832fc37a 100644
--- a/gdb/buildsym.h
+++ b/gdb/buildsym.h
@@ -19,6 +19,8 @@
#if !defined (BUILDSYM_H)
#define BUILDSYM_H 1
+#include "gdb_obstack.h"
+
struct objfile;
struct symbol;
struct addrmap;
diff --git a/gdb/c-lang.c b/gdb/c-lang.c
index 5bb771b8643..57592dfbce0 100644
--- a/gdb/c-lang.c
+++ b/gdb/c-lang.c
@@ -35,6 +35,7 @@
#include "gdb_obstack.h"
#include <ctype.h>
#include "gdbcore.h"
+#include "gdbarch.h"
/* Given a C string type, STR_TYPE, return the corresponding target
character set name. */
diff --git a/gdb/cli/cli-cmds.h b/gdb/cli/cli-cmds.h
index 188df05febd..ac0591e2e89 100644
--- a/gdb/cli/cli-cmds.h
+++ b/gdb/cli/cli-cmds.h
@@ -19,6 +19,7 @@
#include "gdbsupport/filestuff.h"
#include "gdbsupport/gdb_optional.h"
+#include "completer.h"
/* Chain containing all defined commands. */
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index 05280d9d220..16a6ce9f66b 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -25,6 +25,7 @@
#include "command.h"
#include "gdb_regex.h"
#include "cli-script.h"
+#include "completer.h"
#if 0
/* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
diff --git a/gdb/cli/cli-dump.c b/gdb/cli/cli-dump.c
index 1910ca27659..143d02ab88d 100644
--- a/gdb/cli/cli-dump.c
+++ b/gdb/cli/cli-dump.c
@@ -32,6 +32,7 @@
#include "gdb_bfd.h"
#include "gdbsupport/filestuff.h"
#include "gdbsupport/byte-vector.h"
+#include "gdbarch.h"
static gdb::unique_xmalloc_ptr<char>
scan_expression (const char **cmd, const char *def)
diff --git a/gdb/cli/cli-script.h b/gdb/cli/cli-script.h
index e76e794be57..387ef88e3d0 100644
--- a/gdb/cli/cli-script.h
+++ b/gdb/cli/cli-script.h
@@ -17,6 +17,8 @@
#ifndef CLI_CLI_SCRIPT_H
#define CLI_CLI_SCRIPT_H
+#include "gdbsupport/function-view.h"
+
struct ui_file;
struct cmd_list_element;
diff --git a/gdb/cli/cli-style.h b/gdb/cli/cli-style.h
index 6ae265e6ef4..cdcea84f0ee 100644
--- a/gdb/cli/cli-style.h
+++ b/gdb/cli/cli-style.h
@@ -21,6 +21,7 @@
#define CLI_CLI_STYLE_H
#include "ui-file.h"
+#include "command.h"
/* A single CLI style option. */
class cli_style_option
diff --git a/gdb/coff-pe-read.h b/gdb/coff-pe-read.h
index 539fe065454..ee4d69cec7c 100644
--- a/gdb/coff-pe-read.h
+++ b/gdb/coff-pe-read.h
@@ -22,6 +22,7 @@
#if !defined (COFF_PE_READ_H)
#define COFF_PE_READ_H
+class minimal_symbol_reader;
struct objfile;
struct bfd;
diff --git a/gdb/compile/compile-c-support.c b/gdb/compile/compile-c-support.c
index 0f50c091038..a6727e83afa 100644
--- a/gdb/compile/compile-c-support.c
+++ b/gdb/compile/compile-c-support.c
@@ -29,6 +29,7 @@
#include "regcache.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/preprocessor.h"
+#include "gdbarch.h"
/* See compile-internal.h. */
diff --git a/gdb/compile/compile-cplus.h b/gdb/compile/compile-cplus.h
index d58e030b5a2..5500a592183 100644
--- a/gdb/compile/compile-cplus.h
+++ b/gdb/compile/compile-cplus.h
@@ -19,6 +19,7 @@
#include "gdbsupport/enum-flags.h"
#include "gcc-cp-plugin.h"
+#include "symtab.h"
struct type;
struct block;
diff --git a/gdb/compile/compile-loc2c.c b/gdb/compile/compile-loc2c.c
index 9ca10b77210..22253c4dbfd 100644
--- a/gdb/compile/compile-loc2c.c
+++ b/gdb/compile/compile-loc2c.c
@@ -30,6 +30,7 @@
#include "dwarf2-frame.h"
#include "gdbsupport/gdb_vecs.h"
#include "value.h"
+#include "gdbarch.h"
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 4fe8606a22d..f22c1540cb1 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -32,6 +32,7 @@
#include "completer.h"
#include "observable.h"
#include "cli/cli-utils.h"
+#include "gdbarch.h"
/* You can have any number of hooks for `exec_file_command' command to
call. If there's only one hook, it is set in exec_file_display
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
index c8472d94b24..530d8c52691 100644
--- a/gdb/cp-valprint.c
+++ b/gdb/cp-valprint.c
@@ -36,6 +36,7 @@
#include "extension.h"
#include "typeprint.h"
#include "gdbsupport/byte-vector.h"
+#include "gdbarch.h"
static struct obstack dont_print_vb_obstack;
static struct obstack dont_print_statmem_obstack;
diff --git a/gdb/cris-linux-tdep.c b/gdb/cris-linux-tdep.c
index 27681cb8b27..3bab7404b17 100644
--- a/gdb/cris-linux-tdep.c
+++ b/gdb/cris-linux-tdep.c
@@ -26,6 +26,7 @@
#include "linux-tdep.h"
#include "solib-svr4.h"
#include "symtab.h"
+#include "gdbarch.h"
#include "cris-tdep.h"
diff --git a/gdb/ctf.c b/gdb/ctf.c
index cc714f00e2c..b3c3f0d7b26 100644
--- a/gdb/ctf.c
+++ b/gdb/ctf.c
@@ -32,6 +32,7 @@
#include <ctype.h>
#include <algorithm>
#include "gdbsupport/filestuff.h"
+#include "gdbarch.h"
/* The CTF target. */
diff --git a/gdb/d-lang.c b/gdb/d-lang.c
index 0f8f916c9b1..b80b374d6f1 100644
--- a/gdb/d-lang.c
+++ b/gdb/d-lang.c
@@ -25,6 +25,7 @@
#include "c-lang.h"
#include "demangle.h"
#include "cp-support.h"
+#include "gdbarch.h"
/* The name of the symbol to use to get the name of the main subprogram. */
static const char D_MAIN[] = "D main";
diff --git a/gdb/d-namespace.c b/gdb/d-namespace.c
index 4edef188e9e..768ba23f014 100644
--- a/gdb/d-namespace.c
+++ b/gdb/d-namespace.c
@@ -24,6 +24,7 @@
#include "namespace.h"
#include "d-lang.h"
#include "gdb_obstack.h"
+#include "gdbarch.h"
/* This returns the length of first component of NAME, which should be
the demangled name of a D variable/function/method/etc.
diff --git a/gdb/dcache.c b/gdb/dcache.c
index 5a2e8f8000b..1716def4c4a 100644
--- a/gdb/dcache.c
+++ b/gdb/dcache.c
@@ -24,6 +24,7 @@
#include "target-dcache.h"
#include "inferior.h"
#include "splay-tree.h"
+#include "gdbarch.h"
/* Commands with a prefix of `{set,show} dcache'. */
static struct cmd_list_element *dcache_set_list = NULL;
diff --git a/gdb/defs.h b/gdb/defs.h
index a400722a970..ece3006de4e 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -519,9 +519,6 @@ enum symbol_needs_kind
SYMBOL_NEEDS_FRAME
};
-/* Dynamic target-system-dependent parameters for GDB. */
-#include "gdbarch.h"
-
/* In findvar.c. */
template<typename T, typename = RequireLongest<T>>
diff --git a/gdb/dicos-tdep.c b/gdb/dicos-tdep.c
index bacba963685..954428a1101 100644
--- a/gdb/dicos-tdep.c
+++ b/gdb/dicos-tdep.c
@@ -23,6 +23,7 @@
#include "solib-target.h"
#include "inferior.h"
#include "dicos-tdep.h"
+#include "gdbarch.h"
void
dicos_init_abi (struct gdbarch *gdbarch)
diff --git a/gdb/dictionary.c b/gdb/dictionary.c
index 4e38b2e2340..2546c054e17 100644
--- a/gdb/dictionary.c
+++ b/gdb/dictionary.c
@@ -28,6 +28,7 @@
#include "dictionary.h"
#include "safe-ctype.h"
#include <unordered_map>
+#include "language.h"
/* This file implements dictionaries, which are tables that associate
symbols to names. They are represented by an opaque type 'struct
diff --git a/gdb/disasm-selftests.c b/gdb/disasm-selftests.c
index 9991796cc0a..d924fc725fd 100644
--- a/gdb/disasm-selftests.c
+++ b/gdb/disasm-selftests.c
@@ -23,6 +23,7 @@
#if GDB_SELF_TEST
#include "gdbsupport/selftest.h"
#include "selftest-arch.h"
+#include "gdbarch.h"
namespace selftests {
diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c
index aebdd233d74..d3ede7c9a0c 100644
--- a/gdb/dummy-frame.c
+++ b/gdb/dummy-frame.c
@@ -29,6 +29,7 @@
#include "observable.h"
#include "gdbthread.h"
#include "infcall.h"
+#include "gdbarch.h"
struct dummy_frame_id
{
diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h
index b886f2eb010..6b8cbf6fc7a 100644
--- a/gdb/dummy-frame.h
+++ b/gdb/dummy-frame.h
@@ -24,6 +24,7 @@
struct infcall_suspend_state;
struct frame_unwind;
+class thread_info;
/* Push the information needed to identify, and unwind from, a dummy
frame onto the dummy frame stack. */
diff --git a/gdb/dwarf2-frame-tailcall.c b/gdb/dwarf2-frame-tailcall.c
index 07db655ec56..e8f5aaf9c75 100644
--- a/gdb/dwarf2-frame-tailcall.c
+++ b/gdb/dwarf2-frame-tailcall.c
@@ -28,6 +28,7 @@
#include "regcache.h"
#include "value.h"
#include "dwarf2-frame.h"
+#include "gdbarch.h"
/* Contains struct tailcall_cache indexed by next_bottom_frame. */
static htab_t cache_htab;
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index 6d919600e84..f611940ad31 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -28,6 +28,7 @@
#include "dwarf2expr.h"
#include "dwarf2loc.h"
#include "gdbsupport/underlying.h"
+#include "gdbarch.h"
/* Cookie for gdbarch data. */
diff --git a/gdb/expression.h b/gdb/expression.h
index 841bf9891be..02b51f56e0d 100644
--- a/gdb/expression.h
+++ b/gdb/expression.h
@@ -20,6 +20,8 @@
#if !defined (EXPRESSION_H)
#define EXPRESSION_H 1
+#include "gdbtypes.h"
+
/* While parsing expressions we need to track the innermost lexical block
that we encounter. In some situations we need to track the innermost
block just for symbols, and in other situations we want to track the
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index e612eeda7f7..e93a5f34276 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -35,6 +35,7 @@
#include "charset.h"
#include "c-lang.h"
#include "target-float.h"
+#include "gdbarch.h"
#include <math.h>
diff --git a/gdb/frame-base.c b/gdb/frame-base.c
index 47897fc653d..30715869793 100644
--- a/gdb/frame-base.c
+++ b/gdb/frame-base.c
@@ -21,6 +21,7 @@
#include "frame-base.h"
#include "frame.h"
#include "gdb_obstack.h"
+#include "gdbarch.h"
/* A default frame base implementations. If it wasn't for the old
DEPRECATED_FRAME_LOCALS_ADDRESS and DEPRECATED_FRAME_ARGS_ADDRESS,
diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c
index 4b38f64c2f1..61486652d42 100644
--- a/gdb/frame-unwind.c
+++ b/gdb/frame-unwind.c
@@ -26,6 +26,7 @@
#include "regcache.h"
#include "gdb_obstack.h"
#include "target.h"
+#include "gdbarch.h"
static struct gdbarch_data *frame_unwind_data;
diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c
index e5261455fd9..cee2d0c5e24 100644
--- a/gdb/frv-linux-tdep.c
+++ b/gdb/frv-linux-tdep.c
@@ -31,6 +31,7 @@
#include "frame-unwind.h"
#include "regset.h"
#include "linux-tdep.h"
+#include "gdbarch.h"
/* Define the size (in bytes) of an FR-V instruction. */
static const int frv_instr_size = 4;
diff --git a/gdb/gdbarch-selftests.c b/gdb/gdbarch-selftests.c
index bc8d9bda7aa..0942050479b 100644
--- a/gdb/gdbarch-selftests.c
+++ b/gdb/gdbarch-selftests.c
@@ -27,6 +27,7 @@
#include "test-target.h"
#include "target-float.h"
#include "gdbsupport/def-vector.h"
+#include "gdbarch.h"
namespace selftests {
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 1a131e2279c..7268d3e4aa3 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -50,7 +50,6 @@
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/underlying.h"
#include "gdbsupport/print-utils.h"
-#include "gdbarch.h"
/* Forward declarations for prototypes. */
struct field;
diff --git a/gdb/go-lang.c b/gdb/go-lang.c
index 6473468d4d9..c77676c8a57 100644
--- a/gdb/go-lang.c
+++ b/gdb/go-lang.c
@@ -40,6 +40,7 @@
#include "go-lang.h"
#include "c-lang.h"
#include "parser-defs.h"
+#include "gdbarch.h"
#include <ctype.h>
diff --git a/gdb/hppa-nbsd-tdep.c b/gdb/hppa-nbsd-tdep.c
index 2ce842e7af7..bc80fcd4157 100644
--- a/gdb/hppa-nbsd-tdep.c
+++ b/gdb/hppa-nbsd-tdep.c
@@ -27,6 +27,7 @@
#include "hppa-tdep.h"
#include "hppa-bsd-tdep.h"
+#include "gdbarch.h"
/* From <machine/mcontext.h>. */
static int hppanbsd_mc_reg_offset[] =
diff --git a/gdb/hppa-obsd-tdep.c b/gdb/hppa-obsd-tdep.c
index 553334535ee..983f9962078 100644
--- a/gdb/hppa-obsd-tdep.c
+++ b/gdb/hppa-obsd-tdep.c
@@ -24,6 +24,7 @@
#include "hppa-tdep.h"
#include "hppa-bsd-tdep.h"
+#include "gdbarch.h"
/* Core file support. */
diff --git a/gdb/i386-dicos-tdep.c b/gdb/i386-dicos-tdep.c
index 3f78cebb526..02af91aefd8 100644
--- a/gdb/i386-dicos-tdep.c
+++ b/gdb/i386-dicos-tdep.c
@@ -20,6 +20,7 @@
#include "defs.h"
#include "osabi.h"
#include "dicos-tdep.h"
+#include "gdbarch.h"
static void
i386_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index c0d494824cc..456dd549c67 100644
--- a/gdb/i386-tdep.h
+++ b/gdb/i386-tdep.h
@@ -20,6 +20,7 @@
#ifndef I386_TDEP_H
#define I386_TDEP_H
+#include "gdbarch.h"
#include "infrun.h"
struct frame_info;
diff --git a/gdb/ia64-vms-tdep.c b/gdb/ia64-vms-tdep.c
index 6a15c92c805..f249f82438b 100644
--- a/gdb/ia64-vms-tdep.c
+++ b/gdb/ia64-vms-tdep.c
@@ -23,6 +23,7 @@
#include "osabi.h"
#include "gdbtypes.h"
#include "gdbcore.h"
+#include "gdbarch.h"
#ifdef HAVE_LIBUNWIND_IA64_H
diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
index 32c433e3eaf..4a8e7323736 100644
--- a/gdb/inf-ptrace.c
+++ b/gdb/inf-ptrace.c
@@ -33,6 +33,7 @@
#include "gdbthread.h"
#include "nat/fork-inferior.h"
#include "utils.h"
+#include "gdbarch.h"
diff --git a/gdb/interps.h b/gdb/interps.h
index 7cdb4d97e80..7a349d9209a 100644
--- a/gdb/interps.h
+++ b/gdb/interps.h
@@ -25,6 +25,7 @@
struct ui_out;
struct interp;
struct ui;
+class completion_tracker;
typedef struct interp *(*interp_factory_func) (const char *name);
diff --git a/gdb/language.c b/gdb/language.c
index a7c09ccd6db..023f0f4ccba 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -45,6 +45,7 @@
#include "frame.h"
#include "c-lang.h"
#include <algorithm>
+#include "gdbarch.h"
static int unk_lang_parser (struct parser_state *);
diff --git a/gdb/linux-record.c b/gdb/linux-record.c
index 338e8b93c91..11bb990fcae 100644
--- a/gdb/linux-record.c
+++ b/gdb/linux-record.c
@@ -24,6 +24,7 @@
#include "record.h"
#include "record-full.h"
#include "linux-record.h"
+#include "gdbarch.h"
/* These macros are the values of the first argument of system call
"sys_ptrace". The values of these macros were obtained from Linux
diff --git a/gdb/location.h b/gdb/location.h
index 9e87520dfb1..e4058ed6bd9 100644
--- a/gdb/location.h
+++ b/gdb/location.h
@@ -19,6 +19,8 @@
#ifndef LOCATION_H
#define LOCATION_H
+#include "symtab.h"
+
struct language_defn;
struct event_location;
diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index 6fe628978cf..759414d7f0f 100644
--- a/gdb/m2-lang.c
+++ b/gdb/m2-lang.c
@@ -27,6 +27,7 @@
#include "m2-lang.h"
#include "c-lang.h"
#include "valprint.h"
+#include "gdbarch.h"
static void m2_printchar (int, struct type *, struct ui_file *);
static void m2_emit_char (int, struct type *, struct ui_file *, int);
diff --git a/gdb/m32r-linux-tdep.c b/gdb/m32r-linux-tdep.c
index 4c088ec0dee..a1c88394351 100644
--- a/gdb/m32r-linux-tdep.c
+++ b/gdb/m32r-linux-tdep.c
@@ -36,6 +36,7 @@
#include "m32r-tdep.h"
#include "linux-tdep.h"
+#include "gdbarch.h"
diff --git a/gdb/mem-break.c b/gdb/mem-break.c
index abf8885b5ad..cf2ba593a59 100644
--- a/gdb/mem-break.c
+++ b/gdb/mem-break.c
@@ -24,6 +24,8 @@
#include "breakpoint.h"
#include "inferior.h"
#include "target.h"
+#include "gdbarch.h"
+
/* Insert a breakpoint on targets that don't have any better
breakpoint support. We read the contents of the target location
and stash it, then overwrite it with a breakpoint instruction.
diff --git a/gdb/memattr.c b/gdb/memattr.c
index 4bfab9c021d..2727fe6c754 100644
--- a/gdb/memattr.c
+++ b/gdb/memattr.c
@@ -29,6 +29,7 @@
#include "breakpoint.h"
#include "cli/cli-utils.h"
#include <algorithm>
+#include "gdbarch.h"
static std::vector<mem_region> user_mem_region_list, target_mem_region_list;
static std::vector<mem_region> *mem_region_list = &target_mem_region_list;
diff --git a/gdb/mn10300-linux-tdep.c b/gdb/mn10300-linux-tdep.c
index 706096c7529..70f377f80ae 100644
--- a/gdb/mn10300-linux-tdep.c
+++ b/gdb/mn10300-linux-tdep.c
@@ -30,6 +30,7 @@
#include "trad-frame.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
+#include "gdbarch.h"
/* Transliterated from <asm-mn10300/elf.h>... */
#define MN10300_ELF_NGREG 28
diff --git a/gdb/nios2-linux-tdep.c b/gdb/nios2-linux-tdep.c
index 2d38e603c06..f48cd9a1bad 100644
--- a/gdb/nios2-linux-tdep.c
+++ b/gdb/nios2-linux-tdep.c
@@ -29,6 +29,7 @@
#include "linux-tdep.h"
#include "glibc-tdep.h"
#include "nios2-tdep.h"
+#include "gdbarch.h"
/* Core file and register set support. */
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 3a7a8ba940b..a0c106be3d4 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -33,6 +33,7 @@
#include "gdbsupport/next-iterator.h"
#include "gdbsupport/safe-iterator.h"
#include "bcache.h"
+#include "gdbarch.h"
struct htab;
struct objfile_data;
diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c
index 93d8e2f5dd3..8ced334a2d3 100644
--- a/gdb/opencl-lang.c
+++ b/gdb/opencl-lang.c
@@ -26,6 +26,7 @@
#include "language.h"
#include "varobj.h"
#include "c-lang.h"
+#include "gdbarch.h"
/* This macro generates enum values from a given type. */
diff --git a/gdb/or1k-linux-tdep.c b/gdb/or1k-linux-tdep.c
index f75a17b2c53..b8076dc8056 100644
--- a/gdb/or1k-linux-tdep.c
+++ b/gdb/or1k-linux-tdep.c
@@ -25,6 +25,7 @@
#include "regset.h"
#include "tramp-frame.h"
#include "trad-frame.h"
+#include "gdbarch.h"
/* Define the general register mapping. The kernel puts the PC at offset 0,
gdb puts it at offset 32. Register x0 is always 0 and can be ignored.
diff --git a/gdb/p-lang.c b/gdb/p-lang.c
index 9b9f19b69cf..cfe2a888722 100644
--- a/gdb/p-lang.c
+++ b/gdb/p-lang.c
@@ -31,6 +31,7 @@
#include "value.h"
#include <ctype.h>
#include "c-lang.h"
+#include "gdbarch.h"
/* All GPC versions until now (2007-09-27) also define a symbol called
'_p_initialize'. Check for the presence of this symbol first. */
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index 9c0341b556e..33670b29c4c 100644
--- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h
@@ -25,6 +25,7 @@
#include "gdbsupport/vec.h"
#include "expression.h"
+#include "symtab.h"
struct block;
struct language_defn;
diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h
index 9297fe2b097..1749f476eb1 100644
--- a/gdb/ppc-tdep.h
+++ b/gdb/ppc-tdep.h
@@ -20,6 +20,8 @@
#ifndef PPC_TDEP_H
#define PPC_TDEP_H
+#include "gdbarch.h"
+
struct gdbarch;
struct frame_info;
struct value;
diff --git a/gdb/probe.h b/gdb/probe.h
index 5c83f494714..8abf69e3540 100644
--- a/gdb/probe.h
+++ b/gdb/probe.h
@@ -20,6 +20,8 @@
#if !defined (PROBE_H)
#define PROBE_H 1
+#include "symtab.h"
+
struct event_location;
struct linespec_result;
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 50e3e928425..5bc1c3b28a5 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -31,7 +31,7 @@
#include "regcache.h"
#include "inf-child.h"
#include "nat/fork-inferior.h"
-#include "gdbsupport/filestuff.h"
+#include "gdbarch.h"
#define _STRUCTURED_PROC 1 /* Should be done by configure script. */
diff --git a/gdb/python/py-record-btrace.c b/gdb/python/py-record-btrace.c
index e7153fb6d7b..82cef4f0864 100644
--- a/gdb/python/py-record-btrace.c
+++ b/gdb/python/py-record-btrace.c
@@ -26,6 +26,7 @@
#include "py-record-btrace.h"
#include "record-btrace.h"
#include "disasm.h"
+#include "gdbarch.h"
#if defined (IS_PY3K)
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index ec06145585f..73e7e3292a5 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -41,6 +41,7 @@
#include "gdbsupport/vec.h"
#include "inferior.h"
#include <algorithm>
+#include "gdbarch.h"
static const target_info record_btrace_target_info = {
"record-btrace",
diff --git a/gdb/record.h b/gdb/record.h
index f371b7f7cc1..a1641abd6e8 100644
--- a/gdb/record.h
+++ b/gdb/record.h
@@ -23,6 +23,7 @@
#include "target/waitstatus.h" /* For enum target_stop_reason. */
#include "gdbsupport/enum-flags.h"
+struct address_space;
struct cmd_list_element;
struct inferior;
diff --git a/gdb/regcache-dump.c b/gdb/regcache-dump.c
index 52ecbbe1387..7225d95f85e 100644
--- a/gdb/regcache-dump.c
+++ b/gdb/regcache-dump.c
@@ -23,6 +23,7 @@
#include "remote.h"
#include "reggroups.h"
#include "target.h"
+#include "gdbarch.h"
/* Dump registers from regcache, used for dumping raw registers and
cooked registers. */
diff --git a/gdb/regcache.h b/gdb/regcache.h
index 8d0c302ac3e..f7d4bc60f65 100644
--- a/gdb/regcache.h
+++ b/gdb/regcache.h
@@ -21,12 +21,14 @@
#define REGCACHE_H
#include "gdbsupport/common-regcache.h"
+#include "gdbsupport/function-view.h"
#include <forward_list>
struct regcache;
struct regset;
struct gdbarch;
struct address_space;
+class thread_info;
extern struct regcache *get_current_regcache (void);
extern struct regcache *get_thread_regcache (ptid_t ptid);
diff --git a/gdb/riscv-fbsd-tdep.c b/gdb/riscv-fbsd-tdep.c
index 3125a2285e1..a17d55b08b0 100644
--- a/gdb/riscv-fbsd-tdep.c
+++ b/gdb/riscv-fbsd-tdep.c
@@ -25,6 +25,7 @@
#include "target.h"
#include "trad-frame.h"
#include "tramp-frame.h"
+#include "gdbarch.h"
/* Register maps. */
diff --git a/gdb/riscv-linux-tdep.c b/gdb/riscv-linux-tdep.c
index 91061c5b3e9..adeb25441da 100644
--- a/gdb/riscv-linux-tdep.c
+++ b/gdb/riscv-linux-tdep.c
@@ -25,6 +25,7 @@
#include "regset.h"
#include "tramp-frame.h"
#include "trad-frame.h"
+#include "gdbarch.h"
/* Define the general register mapping. The kernel puts the PC at offset 0,
gdb puts it at offset 32. Register x0 is always 0 and can be ignored.
diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y
index ddbf1d4bba3..bf6566b8d29 100644
--- a/gdb/rust-exp.y
+++ b/gdb/rust-exp.y
@@ -41,6 +41,7 @@
#include "gdbsupport/selftest.h"
#include "value.h"
#include "gdbsupport/vec.h"
+#include "gdbarch.h"
#define GDB_YY_REMAP_PREFIX rust
#include "yy-remap.h"
diff --git a/gdb/s390-linux-nat.c b/gdb/s390-linux-nat.c
index e2f13def9de..ecb90b2422b 100644
--- a/gdb/s390-linux-nat.c
+++ b/gdb/s390-linux-nat.c
@@ -43,6 +43,7 @@
#include <algorithm>
#include "inf-ptrace.h"
#include "linux-tdep.h"
+#include "gdbarch.h"
/* Per-thread arch-specific data. */
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
index 8aa60170a9c..a4684e65da7 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -29,6 +29,7 @@
#include "glibc-tdep.h"
#include "sh-tdep.h"
#include "linux-tdep.h"
+#include "gdbarch.h"
#define REGSx16(base) \
{(base), 0}, \
diff --git a/gdb/sh-nbsd-tdep.c b/gdb/sh-nbsd-tdep.c
index 4ae989a3926..976b344965b 100644
--- a/gdb/sh-nbsd-tdep.c
+++ b/gdb/sh-nbsd-tdep.c
@@ -27,6 +27,7 @@
#include "sh-tdep.h"
#include "solib-svr4.h"
+#include "gdbarch.h"
/* Convert a register number into an offset into a ptrace
register structure. */
diff --git a/gdb/source-cache.c b/gdb/source-cache.c
index 94d82073bcc..f5bb641a22b 100644
--- a/gdb/source-cache.c
+++ b/gdb/source-cache.c
@@ -21,6 +21,7 @@
#include "gdbsupport/scoped_fd.h"
#include "source.h"
#include "cli/cli-style.h"
+#include "symtab.h"
#ifdef HAVE_SOURCE_HIGHLIGHT
/* If Gnulib redirects 'open' and 'close' to its replacements
diff --git a/gdb/sparc-nbsd-tdep.c b/gdb/sparc-nbsd-tdep.c
index 486d9abadc1..3f71d964591 100644
--- a/gdb/sparc-nbsd-tdep.c
+++ b/gdb/sparc-nbsd-tdep.c
@@ -29,6 +29,7 @@
#include "solib-svr4.h"
#include "symtab.h"
#include "trad-frame.h"
+#include "gdbarch.h"
#include "sparc-tdep.h"
#include "nbsd-tdep.h"
diff --git a/gdb/sparc-obsd-tdep.c b/gdb/sparc-obsd-tdep.c
index 6149db9419b..3a8930a9efe 100644
--- a/gdb/sparc-obsd-tdep.c
+++ b/gdb/sparc-obsd-tdep.c
@@ -30,6 +30,7 @@
#include "sparc-tdep.h"
#include "solib-svr4.h"
#include "bsd-uthread.h"
+#include "gdbarch.h"
/* Signal trampolines. */
diff --git a/gdb/sparc-ravenscar-thread.c b/gdb/sparc-ravenscar-thread.c
index c619f6e3c10..ca885b42420 100644
--- a/gdb/sparc-ravenscar-thread.c
+++ b/gdb/sparc-ravenscar-thread.c
@@ -24,6 +24,7 @@
#include "inferior.h"
#include "ravenscar-thread.h"
#include "sparc-ravenscar-thread.h"
+#include "gdbarch.h"
struct sparc_ravenscar_ops : public ravenscar_arch_ops
{
diff --git a/gdb/sparc64-fbsd-tdep.c b/gdb/sparc64-fbsd-tdep.c
index 4016006bd35..4989772f118 100644
--- a/gdb/sparc64-fbsd-tdep.c
+++ b/gdb/sparc64-fbsd-tdep.c
@@ -30,6 +30,7 @@
#include "sparc64-tdep.h"
#include "fbsd-tdep.h"
#include "solib-svr4.h"
+#include "gdbarch.h"
/* From <machine/reg.h>. */
const struct sparc_gregmap sparc64fbsd_gregmap =
diff --git a/gdb/std-regs.c b/gdb/std-regs.c
index 26e6d0bf419..8dc94f80120 100644
--- a/gdb/std-regs.c
+++ b/gdb/std-regs.c
@@ -24,6 +24,8 @@
#include "frame.h"
#include "gdbtypes.h"
#include "value.h"
+#include "gdbarch.h"
+
static struct value *
value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
{
diff --git a/gdb/target-descriptions.h b/gdb/target-descriptions.h
index 5f27eed06db..5f0a6637cf4 100644
--- a/gdb/target-descriptions.h
+++ b/gdb/target-descriptions.h
@@ -22,6 +22,7 @@
#ifndef TARGET_DESCRIPTIONS_H
#define TARGET_DESCRIPTIONS_H 1
#include "gdbsupport/tdesc.h"
+#include "gdbarch.h"
struct tdesc_arch_data;
struct target_ops;
diff --git a/gdb/target-float.c b/gdb/target-float.c
index 68c55f4dc7d..39abb126965 100644
--- a/gdb/target-float.c
+++ b/gdb/target-float.c
@@ -21,7 +21,7 @@
#include "gdbtypes.h"
#include "floatformat.h"
#include "target-float.h"
-
+#include "gdbarch.h"
/* Target floating-point operations.
diff --git a/gdb/tic6x-linux-tdep.c b/gdb/tic6x-linux-tdep.c
index 2b8bc93fd1d..ca3395763b5 100644
--- a/gdb/tic6x-linux-tdep.c
+++ b/gdb/tic6x-linux-tdep.c
@@ -26,6 +26,7 @@
#include "tramp-frame.h"
#include "elf-bfd.h"
#include "elf/tic6x.h"
+#include "gdbarch.h"
/* The offset from rt_sigframe pointer to SP register. */
#define TIC6X_SP_RT_SIGFRAME 8
diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c
index 5f02199da29..23454860bb6 100644
--- a/gdb/tilegx-linux-tdep.c
+++ b/gdb/tilegx-linux-tdep.c
@@ -28,6 +28,7 @@
#include "tramp-frame.h"
#include "trad-frame.h"
#include "tilegx-tdep.h"
+#include "gdbarch.h"
/* Signal trampoline support. */
diff --git a/gdb/top.c b/gdb/top.c
index c28e660a057..68cf405f6e0 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -53,6 +53,7 @@
#include "gdbsupport/buffer.h"
#include "gdb_select.h"
#include "gdbsupport/scope-exit.h"
+#include "gdbarch.h"
/* readline include files. */
#include "readline/readline.h"
diff --git a/gdb/tracefile.c b/gdb/tracefile.c
index 7ed2fc08e49..a92104bbf34 100644
--- a/gdb/tracefile.c
+++ b/gdb/tracefile.c
@@ -23,6 +23,7 @@
#include "exec.h"
#include "regcache.h"
#include "gdbsupport/byte-vector.h"
+#include "gdbarch.h"
/* Helper macros. */
diff --git a/gdb/trad-frame.c b/gdb/trad-frame.c
index d9114753c5e..a33fa89e335 100644
--- a/gdb/trad-frame.c
+++ b/gdb/trad-frame.c
@@ -24,6 +24,7 @@
#include "frame-unwind.h"
#include "target.h"
#include "value.h"
+#include "gdbarch.h"
struct trad_frame_cache
{
diff --git a/gdb/type-stack.h b/gdb/type-stack.h
index 762afde0bf7..dce032343b3 100644
--- a/gdb/type-stack.h
+++ b/gdb/type-stack.h
@@ -20,6 +20,7 @@
#ifndef TYPE_STACK_H
#define TYPE_STACK_H
+#include "gdbtypes.h"
#include <vector>
struct type;
diff --git a/gdb/ui-style.c b/gdb/ui-style.c
index e61fb064ea0..6c3f6e6646f 100644
--- a/gdb/ui-style.c
+++ b/gdb/ui-style.c
@@ -18,6 +18,7 @@
#include "defs.h"
#include "ui-style.h"
+#include "gdb_regex.h"
/* A regular expression that is used for matching ANSI terminal escape
sequences. */
diff --git a/gdb/utils.c b/gdb/utils.c
index 94ce09118d8..7584d5ab3af 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -73,6 +73,7 @@
#include "gdbsupport/pathstuff.h"
#include "cli/cli-style.h"
#include "gdbsupport/scope-exit.h"
+#include "gdbarch.h"
void (*deprecated_error_begin_hook) (void);
diff --git a/gdb/utils.h b/gdb/utils.h
index 3c0aee73eda..fd724444aa0 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -25,6 +25,9 @@
#include "gdbsupport/scoped_restore.h"
#include <chrono>
+struct completion_match_for_lcd;
+class compiled_regex;
+
extern void initialize_utils (void);
/* String utilities. */
diff --git a/gdb/valarith.c b/gdb/valarith.c
index e730e5c55d5..4ee7f248b56 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -27,6 +27,7 @@
#include "target-float.h"
#include "infcall.h"
#include "gdbsupport/byte-vector.h"
+#include "gdbarch.h"
/* Define whether or not the C operator '/' truncates towards zero for
differently signed operands (truncation direction is undefined in C). */
diff --git a/gdb/valprint.c b/gdb/valprint.c
index 7b2b79b5396..3a53621b2d0 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -37,6 +37,7 @@
#include <algorithm>
#include "gdbsupport/byte-vector.h"
#include "cli/cli-option.h"
+#include "gdbarch.h"
/* Maximum number of wchars returned from wchar_iterate. */
#define MAX_WCHARS 4
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 17f4ae06d8c..809006827f2 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -31,6 +31,7 @@
#include "inferior.h"
#include "varobj-iter.h"
#include "parser-defs.h"
+#include "gdbarch.h"
#if HAVE_PYTHON
#include "python/python.h"
diff --git a/gdb/x86-tdep.c b/gdb/x86-tdep.c
index 96a70d73158..41b209ef546 100644
--- a/gdb/x86-tdep.c
+++ b/gdb/x86-tdep.c
@@ -19,6 +19,7 @@
#include "defs.h"
#include "x86-tdep.h"
+#include "symtab.h"
/* Check whether NAME is included in NAMES[LO] (inclusive) to NAMES[HI]
diff --git a/gdb/xml-support.h b/gdb/xml-support.h
index eebd79d33a4..7ceb9385454 100644
--- a/gdb/xml-support.h
+++ b/gdb/xml-support.h
@@ -25,6 +25,7 @@
#include "gdbsupport/vec.h"
#include "gdbsupport/xml-utils.h"
#include "gdbsupport/byte-vector.h"
+#include "gdbsupport/gdb_optional.h"
struct gdb_xml_parser;
struct gdb_xml_element;
diff --git a/gdb/xtensa-linux-tdep.c b/gdb/xtensa-linux-tdep.c
index 796143c6699..be1fba97c72 100644
--- a/gdb/xtensa-linux-tdep.c
+++ b/gdb/xtensa-linux-tdep.c
@@ -23,6 +23,7 @@
#include "linux-tdep.h"
#include "solib-svr4.h"
#include "symtab.h"
+#include "gdbarch.h"
/* This enum represents the signals' numbers on the Xtensa
architecture. It just contains the signal definitions which are