aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-09 15:21:02 -0600
committerTom Tromey <tromey@adacore.com>2019-07-10 14:53:53 -0600
commit0d12e84cfc9bd36b7bbda01a3c8f83f65a832398 (patch)
treefce7585f8f4259ff311de757c72f5e384ba72e7b
parentf06f1252b0b8ef20adb4296faaf8293c9d36f615 (diff)
downloadgdb-0d12e84cfc9bd36b7bbda01a3c8f83f65a832398.zip
gdb-0d12e84cfc9bd36b7bbda01a3c8f83f65a832398.tar.gz
gdb-0d12e84cfc9bd36b7bbda01a3c8f83f65a832398.tar.bz2
Don't include gdbarch.h from defs.h
I touched symtab.h and was surprised to see how many files were rebuilt. I looked into it a bit, and found that defs.h includes gdbarch.h, which in turn includes many things. gdbarch.h is only needed by a minority ofthe files in gdb, so this patch removes the include from defs.h and updates the fallout. I did "wc -l" on the files in build/gdb/.deps; this patch reduces the line count from 139935 to 137030; so there are definitely future build-time savings here. Note that while I configured with --enable-targets=all, it's possible that some *-nat.c file needs an update. I could not test all of these. The buildbot caught a few problems along these lines. gdb/ChangeLog 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.
-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 aa8b53a..5f3303d 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 3e87a4b..ca22494 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 7574658..e23cc3f 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 8c87e17..6e9719f 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 bfa611e..27b2398 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 caab08b..cc10a5d 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 155cf5c..588e7c0 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 807849a..36d2d38 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 d0fdc62..d377d0b 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 08096ad..466607d 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 a29c128..91f8eb8 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 0f38d59..193832f 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 5bb771b..57592df 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 188df05..ac0591e 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 05280d9..16a6ce9 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 1910ca2..143d02a 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 e76e794..387ef88 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 6ae265e..cdcea84 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 539fe06..ee4d69c 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 0f50c09..a6727e8 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 d58e030..5500a59 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 9ca10b7..22253c4 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 4fe8606..f22c154 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 c8472d9..530d8c5 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 27681cb..3bab740 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 cc714f0..b3c3f0d 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 0f8f916..b80b374 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 4edef18..768ba23 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 5a2e8f8..1716def 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 a400722..ece3006 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 bacba96..954428a 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 4e38b2e..2546c05 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 9991796..d924fc7 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 aebdd23..d3ede7c 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 b886f2e..6b8cbf6 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 07db655..e8f5aaf 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 6d91960..f611940 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 841bf98..02b51f5 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 e612eed..e93a5f3 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 47897fc..3071586 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 4b38f64..6148665 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 e526145..cee2d0c 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 bc8d9bd..0942050 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 1a131e2..7268d3e 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 6473468..c77676c 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 2ce842e..bc80fcd 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 5533345..983f996 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 3f78ceb..02af91a 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 c0d4948..456dd54 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 6a15c92..f249f82 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 32c433e..4a8e732 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 7cdb4d9..7a349d9 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 a7c09cc..023f0f4 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 338e8b9..11bb990 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 9e87520..e4058ed 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 6fe6289..759414d 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 4c088ec..a1c8839 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 abf8885..cf2ba59 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 4bfab9c..2727fe6 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 706096c..70f377f 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 2d38e60..f48cd9a 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 3a7a8ba..a0c106b 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 93d8e2f..8ced334 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 f75a17b..b8076dc 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 9b9f19b..cfe2a88 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 9c0341b..33670b2 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 9297fe2..1749f47 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 5c83f49..8abf69e 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 50e3e92..5bc1c3b 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 e7153fb..82cef4f 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 ec06145..73e7e32 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 f371b7f..a1641ab 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 52ecbbe..7225d95 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 8d0c302..f7d4bc6 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 3125a22..a17d55b 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 91061c5..adeb254 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 ddbf1d4..bf6566b 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 e2f13de..ecb90b2 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 8aa6017..a4684e6 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 4ae989a..976b344 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 94d8207..f5bb641 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 486d9ab..3f71d96 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 6149db9..3a8930a 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 c619f6e..ca885b4 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 4016006..4989772 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 26e6d0b..8dc94f8 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 5f27eed..5f0a663 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 68c55f4..39abb12 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 2b8bc93..ca33957 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 5f02199..2345486 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 c28e660..68cf405 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 7ed2fc0..a92104b 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 d911475..a33fa89 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 762afde..dce0323 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 e61fb06..6c3f6e6 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 94ce091..7584d5a 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 3c0aee7..fd72444 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 e730e5c..4ee7f24 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 7b2b79b..3a53621 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 17f4ae0..8090068 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 96a70d7..41b209e 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 eebd79d..7ceb938 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 796143c..be1fba9 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