Re: [PATCH] Move gdbserver to top level

Tom Tromey
2020-01-26T15:41:53Z

>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:

Pedro> I think this should have a NEWS entry, given that it affects
Pedro> people building standalone gdbserver today. Do you have
Pedro> documentation changes queued?

Nope, I've added those now.

>> +// Host modules specific to gdbserver.
>> +dependencies = { module=configure-gdbserver; on=all-intl; };

Pedro> This surprised me, as I don't think gdbserver actually depends on
Pedro> intl currently? Might still be a good idea to actually enable it,
Pedro> but I was surprised from an "as pure as possible" perspective.

I don't recall (I wrote this patch originally in May of last year), but
maybe I just copied gdb's dependencies. Anyway, I've dropped them now.

Tom

commit 4c5c9a7a0b64c98f60c2ab79ad705d14ea568d0f
Author: Tom Tromey <tom@tromey.com>
Date: Sun Dec 15 07:37:06 2019 -0700

Move gdbserver to top level

This patch moves gdbserver to the top level.

This patch is as close to a pure move as possible -- gdbserver still
builds its own variant of gnulib and gdbsupport. Changing this will
be done in a separate patch.

[v2] Note that, per Simon's review comment, this patch changes the
tree so that gdbserver is not built for or1k or score. This makes
sense, because there is apparently not actually a gdbserver port here.

[v3] This version of the patch also splits out some configury into a
new file, gdbserver/configure.host, so that the top-level configure
script can simply rely on it in order to decide whether gdbserver
should be built.

[v4] This version adds documentation and removes some unnecessary
top-level dependencies.

Tested by the buildbot.

ChangeLog
2020-01-26 Tom Tromey <tom@tromey.com>

* src-release.sh (GDB_SUPPORT_DIRS): Add gdbserver.
* gdbserver: New directory, moved from gdb/gdbserver.
* configure.ac (host_tools): Add gdbserver.
Only build gdbserver on certain systems.
* Makefile.in, configure: Rebuild.
* Makefile.def (host_modules, dependencies): Add gdbserver.
* MAINTAINERS: Add gdbserver.

gdb/ChangeLog
2020-01-26 Tom Tromey <tom@tromey.com>

* README: Update gdbserver documentation.
* gdbserver: Move to top level.
* configure.tgt (build_gdbserver): Remove.
* configure.ac: Remove --enable-gdbserver.
* configure: Rebuild.
* Makefile.in (distclean): Don't mention gdbserver.

Change-Id: I826b7565b54604711dc7a11edea0499cd51ff39e

diff --git a/ChangeLog b/ChangeLog
index 582d1f27704..e9e7cc85a3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-01-26 Tom Tromey <tom@tromey.com>
+
+ * src-release.sh (GDB_SUPPORT_DIRS): Add gdbserver.
+ * gdbserver: New directory, moved from gdb/gdbserver.
+ * configure.ac (host_tools): Add gdbserver.
+ Only build gdbserver on certain systems.
+ * Makefile.in, configure: Rebuild.
+ * Makefile.def (host_modules, dependencies): Add gdbserver.
+ * MAINTAINERS: Add gdbserver.
+
2020-01-19 Simon Marchi <simon.marchi@polymtl.ca>

* remote-sim.c (gdbsim_target::wait): Return
diff --git a/MAINTAINERS b/MAINTAINERS
index 805f2e3ac43..5b8a4efbdf6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -41,7 +41,7 @@ config.guess; config.sub; readline/support/config.{sub,guess}
depcomp; mkinstalldirs
Send bug reports and patches to bug-automake@gnu.org.

-gdb/; gdbsupport/; gnulib/; readline/; sim/; GDB's part of include/
+gdb/; gdbserver/; gdbsupport/; gnulib/; readline/; sim/; GDB's part of include/
GDB: http://www.gnu.org/software/gdb/
Patches to gdb-patches@sourceware.org.
See also gdb/MAINTAINERS and sim/MAINTAINERS.
diff --git a/Makefile.def b/Makefile.def
index 253eb45ef14..72cb133a09a 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -114,6 +114,7 @@ host_modules= { module= zlib; no_install=true; no_check=true;
extra_configure_flags='@extra_host_zlib_configure_flags@';};
host_modules= { module= gnulib; };
host_modules= { module= gdbsupport; };
+host_modules= { module= gdbserver; };
host_modules= { module= gdb; };
host_modules= { module= expect; };
host_modules= { module= guile; };
diff --git a/configure.ac b/configure.ac
index 4bd869a63a9..40669228e3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-# 2014, 2015, 2016, 2019 Free Software Foundation, Inc.
+# 2014, 2015, 2016, 2019, 2020 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -140,7 +140,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
# If --enable-gold is used, "gold" may replace "ld".
-host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
+host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"

# these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler)
@@ -782,6 +782,20 @@ case "${target}" in
;;
esac

+# Only allow gdbserver on some systems.
+if test -d ${srcdir}/gdbserver; then
+ if test x$enable_gdbserver = x; then
+ AC_MSG_CHECKING([for gdbserver support])
+ . ${srcdir}/gdbserver/configure.host
+ if test x$build_gdbserver = xyes; then
+ AC_MSG_RESULT([yes])
+ else
+ noconfigdirs="$noconfigdirs gdbserver"
+ AC_MSG_RESULT([no])
+ fi
+ fi
+fi
+
# Disable libgo for some systems where it is known to not work.
# For testing, you can easily override this with --enable-libgo.
if test x$enable_libgo = x; then
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b3aa3e03106..cfdf099fed7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2020-01-26 Tom Tromey <tom@tromey.com>
+
+ * README: Update gdbserver documentation.
+ * gdbserver: Move to top level.
+ * configure.tgt (build_gdbserver): Remove.
+ * configure.ac: Remove --enable-gdbserver.
+ * configure: Rebuild.
+ * Makefile.in (distclean): Don't mention gdbserver.
+
2020-01-25 Philippe Waroquiers <philippe.waroquiers@skynet.be>

* NEWS: Mention the new option and the set/show commands.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 45d1586e85e..49fff371337 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1898,13 +1898,8 @@ clean mostlyclean: $(CONFIG_CLEAN)
# I believe this is wrong; the makefile standards for distclean just
# describe removing files; the only sort of "re-create a distribution"
# functionality described is if the distributed files are unmodified.
-# NB: While GDBSERVER might be configured on native systems, it isn't
-# always included in SUBDIRS. Remove the gdbserver files explicitly.
distclean: clean
@$(MAKE) $(FLAGS_TO_PASS) DO=distclean "DODIRS=$(CLEANDIRS)" subdir_do
- rm -f gdbserver/config.status gdbserver/config.log
- rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h
- rm -f gdbserver/Makefile gdbserver/config.cache
rm -f nm.h config.status config.h stamp-h b jit-reader.h
rm -f gdb-gdb.py gdb-gdb.gdb
rm -f y.output yacc.acts yacc.tmp y.tab.h
diff --git a/gdb/README b/gdb/README
index be7fdcb65d8..3895758ece5 100644
--- a/gdb/README
+++ b/gdb/README
@@ -583,12 +583,11 @@ of remote stubs to be used with remote.c. They are designed to run
standalone on an m68k, i386, or SPARC cpu and communicate properly
with the remote.c stub over a serial line.

- The directory gdb/gdbserver/ contains `gdbserver', a program that
+ The directory gdbserver/ contains `gdbserver', a program that
allows remote debugging for Unix applications. GDBserver is only
-supported for some native configurations, including Sun 3, Sun 4, and
-Linux.
+supported for some native configurations.

- The file gdb/gdbserver/README includes further notes on GDBserver; in
+ The file gdbserver/README includes further notes on GDBserver; in
particular, it explains how to build GDBserver for cross-debugging
(where GDBserver runs on the target machine, which is of a different
architecture than the host machine running GDB).
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 0ca169101b3..335971fdf66 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -254,7 +254,6 @@ AC_SUBST(HAVE_NATIVE_GCORE_TARGET)
# For other settings, only the main target counts.
gdb_sim=
gdb_osabi=
-build_gdbserver=
targ=$target; . ${srcdir}/configure.tgt

# Fetch the default architecture and default target vector from BFD.
@@ -2001,33 +2000,6 @@ if test x"${gdb_osabi}" != x ; then
[Define to the default OS ABI for this configuration.])
fi

-AC_ARG_ENABLE(gdbserver,
-AS_HELP_STRING([--enable-gdbserver],
- [automatically build gdbserver (yes/no/auto, default is auto)]),
-[case "${enableval}" in
- yes| no|auto) ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-gdbserver option) ;;
-esac],[enable_gdbserver=auto])
-
-# We only build gdbserver automatically in a native configuration, and
-# only if the user did not explicitly disable its build.
-if test "$gdb_native" = "yes" -a "$enable_gdbserver" != "no"; then
- AC_MSG_CHECKING(whether gdbserver is supported on this host)
- if test "x$build_gdbserver" = xyes; then
- AC_MSG_RESULT(yes)
- AC_CONFIG_SUBDIRS(gdbserver)
- gdbserver_build_enabled=yes
- else
- AC_MSG_RESULT(no)
- fi
-fi
-
-# If the user explicitly request the gdbserver to be built, verify that
-# we were in fact able to enable it.
-if test "$enable_gdbserver" = "yes" -a "$gdbserver_build_enabled" != "yes"; then
- AC_MSG_ERROR(Automatic gdbserver build is not supported for this configuration)
-fi
-
# Check for babeltrace and babeltrace-ctf
AC_ARG_WITH(babeltrace,
AC_HELP_STRING([--with-babeltrace], [include babeltrace support (auto/yes/no)]),
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index ab4c098c0da..755187dca65 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -5,7 +5,6 @@
# gdb_target_obs target-specific object files to use
# gdb_sim simulator library for target
# gdb_osabi default OS ABI to use with target
-# build_gdbserver set to "yes" if gdbserver supports target
# gdb_have_gcore set to "true"/"false" if this target can run gcore

# NOTE: Every file added to a gdb_target_obs variable for any target here
@@ -129,7 +128,6 @@ aarch64*-*-linux*)
arm-tdep.o arm-linux-tdep.o \
glibc-tdep.o linux-tdep.o solib-svr4.o \
symfile-mem.o linux-record.o"
- build_gdbserver=yes
;;

alpha*-*-linux*)
@@ -162,13 +160,11 @@ arc*-*-elf32)
arm*-wince-pe | arm*-*-mingw32ce*)
# Target: ARM based machine running Windows CE (win32)
gdb_target_obs="arm-wince-tdep.o windows-tdep.o"
- build_gdbserver=yes
;;
arm*-*-linux*)
# Target: ARM based machine running GNU/Linux
gdb_target_obs="arch/arm-linux.o arm-linux-tdep.o glibc-tdep.o \
solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
- build_gdbserver=yes
;;
arm*-*-freebsd*)
# Target: FreeBSD/arm
@@ -202,7 +198,6 @@ bfin-*-*linux*)
# Target: Blackfin Linux
gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o"
gdb_sim=../sim/bfin/libsim.a
- build_gdbserver=yes
;;
bfin-*-*)
# Target: Blackfin processor
@@ -285,7 +280,6 @@ i[34567]86-*-nto*)
# Target: Intel 386 running qnx6.
gdb_target_obs="solib-svr4.o \
i386-nto-tdep.o nto-tdep.o"
- build_gdbserver=yes
;;
i[34567]86-*-solaris2* | x86_64-*-solaris2*)
# Target: Solaris x86_64
@@ -303,7 +297,6 @@ i[34567]86-*-linux*)
# Target: GNU/Linux x86-64
gdb_target_obs="amd64-linux-tdep.o ${gdb_target_obs}"
fi
- build_gdbserver=yes
;;
i[34567]86-*-gnu*)
# Target: Intel 386 running the GNU Hurd
@@ -312,12 +305,10 @@ i[34567]86-*-gnu*)
i[34567]86-*-cygwin*)
# Target: Intel 386 running win32
gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
- build_gdbserver=yes
;;
i[34567]86-*-mingw32*)
# Target: Intel 386 running win32
gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
- build_gdbserver=yes
;;
i[34567]86-*-go32* | i[34567]86-*-msdosdjgpp*)
# Target: i386 running DJGPP/go32.
@@ -328,7 +319,6 @@ ia64-*-linux*)
# Target: Intel IA-64 running GNU/Linux
gdb_target_obs="ia64-linux-tdep.o linux-tdep.o \
solib-svr4.o symfile-mem.o"
- build_gdbserver=yes
;;
ia64-*-*vms*)
# Target: Intel IA-64 running OpenVMS
@@ -359,7 +349,6 @@ m32r*-*-linux*)
glibc-tdep.o solib-svr4.o symfile-mem.o \
linux-tdep.o"
gdb_sim=../sim/m32r/libsim.a
- build_gdbserver=yes
;;
m32r*-*-*)
# Target: Renesas m32r processor
@@ -382,7 +371,6 @@ m68*-*-linux*)
# Target: Motorola m68k with a.out and ELF
gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \
linux-tdep.o glibc-tdep.o symfile-mem.o"
- build_gdbserver=yes
;;
m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
# Target: NetBSD/m68k
@@ -416,7 +404,6 @@ mips*-*-linux*)
gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \
solib-svr4.o symfile-mem.o linux-tdep.o"
gdb_sim=../sim/mips/libsim.a
- build_gdbserver=yes
;;
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
# Target: MIPS running NetBSD
@@ -480,7 +467,6 @@ or1k*-*-linux*)
gdb_target_obs="or1k-tdep.o or1k-linux-tdep.o solib-svr4.o \
symfile-mem.o glibc-tdep.o linux-tdep.o"
gdb_sim=../sim/or1k/libsim.a
- build_gdbserver=yes
;;

or1k-*-* | or1knd-*-*)
@@ -522,7 +508,6 @@ powerpc*-*-linux*)
linux-record.o \
arch/ppc-linux-common.o"
gdb_sim=../sim/ppc/libsim.a
- build_gdbserver=yes
;;
powerpc-*-lynx*178)
# Target: PowerPC running Lynx178.
@@ -541,7 +526,6 @@ s390*-*-linux*)
# Target: S390 running Linux
gdb_target_obs="s390-linux-tdep.o s390-tdep.o solib-svr4.o \
linux-tdep.o linux-record.o symfile-mem.o"
- build_gdbserver=yes
;;

riscv*-*-freebsd*)
@@ -575,7 +559,6 @@ rx-*-elf)
score-*-*)
# Target: S+core embedded system
gdb_target_obs="score-tdep.o"
- build_gdbserver=yes
;;

sh*-*-linux*)
@@ -584,7 +567,6 @@ sh*-*-linux*)
solib-svr4.o symfile-mem.o \
glibc-tdep.o linux-tdep.o"
gdb_sim=../sim/sh/libsim.a
- build_gdbserver=yes
;;
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
# Target: NetBSD/sh
@@ -612,7 +594,6 @@ sparc-*-linux*)
gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o \
sparc64-linux-tdep.o ${gdb_target_obs}"
fi
- build_gdbserver=yes
;;
sparc64-*-linux*)
# Target: GNU/Linux UltraSPARC
@@ -620,7 +601,6 @@ sparc64-*-linux*)
sparc64-linux-tdep.o sparc-tdep.o sparc-sol2-tdep.o \
sparc-linux-tdep.o solib-svr4.o linux-tdep.o \
ravenscar-thread.o sparc-ravenscar-thread.o"
- build_gdbserver=yes
;;
sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
# Target: FreeBSD/sparc64
@@ -689,7 +669,6 @@ tilegx-*-linux*)
# Target: TILE-Gx
gdb_target_obs="tilegx-tdep.o tilegx-linux-tdep.o solib-svr4.o \
symfile-mem.o glibc-tdep.o linux-tdep.o"
- build_gdbserver=yes
;;

xstormy16-*-*)
@@ -742,7 +721,6 @@ x86_64-*-linux*)
gdb_target_obs="amd64-linux-tdep.o ${i386_tobjs} \
i386-linux-tdep.o glibc-tdep.o \
solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
- build_gdbserver=yes
;;
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
# Target: FreeBSD/amd64
@@ -754,7 +732,6 @@ x86_64-*-mingw* | x86_64-*-cygwin*)
gdb_target_obs="amd64-windows-tdep.o \
${i386_tobjs} i386-cygwin-tdep.o \
windows-tdep.o"
- build_gdbserver=yes
;;
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
# Target: NetBSD/amd64
@@ -772,7 +749,6 @@ x86_64-*-rtems*)
xtensa*-*-*linux*)
# Target: GNU/Linux Xtensa
gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
- build_gdbserver=yes
;;

esac
diff --git a/gdb/gdbserver/.gitignore b/gdbserver/.gitignore
similarity index 100%
rename from gdb/gdbserver/.gitignore
rename to gdbserver/.gitignore
diff --git a/gdb/gdbserver/ChangeLog b/gdbserver/ChangeLog
similarity index 99%
rename from gdb/gdbserver/ChangeLog
rename to gdbserver/ChangeLog
index aeb9cb6c778..857e17cd187 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,18 @@
+2020-01-26 Tom Tromey <tom@tromey.com>
+
+ * README: Update build documentation.
+ * configure.host: New file.
+ * configure.ac: Update paths.
+ * configure: Rebuild.
+ * acinclude.m4: Update paths.
+ * Makefile.in: Update include paths.
+ (depcomp, INCLUDE_DIR, INCGNU, INCSUPPORT, INCLUDE_CFLAGS)
+ (SFILES, XML_DIR, n, $(GNULIB_BUILDDIR)/Makefile, config.status)
+ (version-generated.c, stamp-xml, regdat_sh, arch/%-ipa.o)
+ (gdbsupport/%-ipa.o, %-ipa.o, arch/%.o, gdbsupport/%.o, %.o)
+ (%-generated.c): Update paths.
+ * Move entire directory from ../gdb/gdbserver.
+
2020-01-24 Hannes Domani <ssbssa@yahoo.de>

* Makefile.in (install-strip): New target.
diff --git a/gdb/gdbserver/Makefile.in b/gdbserver/Makefile.in
similarity index 85%
rename from gdb/gdbserver/Makefile.in
rename to gdbserver/Makefile.in
index 3922b5231c4..60a52d3412b 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdbserver/Makefile.in
@@ -66,7 +66,7 @@ STRIP = @STRIP@
# Dependency tracking information.
DEPMODE = @CCDEPMODE@
DEPDIR = @DEPDIR@
-depcomp = $(SHELL) $(srcdir)/../../depcomp
+depcomp = $(SHELL) $(srcdir)/../depcomp

# Directory containing source files. Don't clean up the spacing,
# this exact string is matched for by the "configure" script.
@@ -75,7 +75,7 @@ abs_top_srcdir = @abs_top_srcdir@
abs_srcdir = @abs_srcdir@
VPATH = @srcdir@

-include $(srcdir)/../silent-rules.mk
+include $(srcdir)/../gdb/silent-rules.mk

# Note that these are overridden by GNU make-specific code below if
# GNU make is used. The overrides implement dependency tracking.
@@ -94,7 +94,7 @@ POSTCOMPILE = @true
CC_LD = $(CXX) $(CXX_DIALECT)

# Where is the "include" directory? Traditionally ../include or ./include
-INCLUDE_DIR = ${srcdir}/../../include
+INCLUDE_DIR = ${srcdir}/../include
INCLUDE_DEP = $$(INCLUDE_DIR)

LIBIBERTY_BUILDDIR = build-libiberty-gdbserver
@@ -107,26 +107,26 @@ ustinc = @ustinc@
# gnulib
GNULIB_BUILDDIR = build-gnulib-gdbserver
LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
-INCGNU = -I$(srcdir)/../../gnulib/import -I$(GNULIB_BUILDDIR)/import
+INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import

# Generated headers in the gnulib directory. These must be listed
# so that they are generated before other files are compiled.
GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@

-INCSUPPORT = -I$(srcdir)/../.. -I../..
+INCSUPPORT = -I$(srcdir)/.. -I..

# All the includes used for CFLAGS and for lint.
# -I. for config files.
# -I${srcdir} for our headers.
-# -I$(srcdir)/../regformats for regdef.h.
+# -I$(srcdir)/../gdb/regformats for regdef.h.
#
# We do not include ../target or ../nat in here because headers
# in those directories should be included with the subdirectory.
# e.g.: "target/wait.h".
#
INCLUDE_CFLAGS = -I. -I${srcdir} \
- -I$(srcdir)/../regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \
- $(INCGNU) $(INCSUPPORT)
+ -I$(srcdir)/../gdb/regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \
+ -I$(srcdir)/../gdb $(INCGNU) $(INCSUPPORT)

# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
# from the config/ directory.
@@ -202,46 +202,46 @@ SFILES = \
$(srcdir)/win32-low.c \
$(srcdir)/wincecompat.c \
$(srcdir)/x86-low.c \
- $(srcdir)/../alloc.c \
- $(srcdir)/../arch/arm.c \
- $(srcdir)/../arch/arm-get-next-pcs.c \
- $(srcdir)/../arch/arm-linux.c \
- $(srcdir)/../arch/ppc-linux-common.c \
- $(srcdir)/../../gdbsupport/btrace-common.c \
- $(srcdir)/../../gdbsupport/buffer.c \
- $(srcdir)/../../gdbsupport/cleanups.c \
- $(srcdir)/../../gdbsupport/common-debug.c \
- $(srcdir)/../../gdbsupport/common-exceptions.c \
- $(srcdir)/../../gdbsupport/common-inferior.c \
- $(srcdir)/../../gdbsupport/common-regcache.c \
- $(srcdir)/../../gdbsupport/common-utils.c \
- $(srcdir)/../../gdbsupport/errors.c \
- $(srcdir)/../../gdbsupport/environ.c \
- $(srcdir)/../../gdbsupport/fileio.c \
- $(srcdir)/../../gdbsupport/filestuff.c \
- $(srcdir)/../../gdbsupport/job-control.c \
- $(srcdir)/../../gdbsupport/gdb-dlfcn.c \
- $(srcdir)/../../gdbsupport/gdb_tilde_expand.c \
- $(srcdir)/../../gdbsupport/gdb_vecs.c \
- $(srcdir)/../../gdbsupport/gdb_wait.c \
- $(srcdir)/../../gdbsupport/netstuff.c \
- $(srcdir)/../../gdbsupport/new-op.c \
- $(srcdir)/../../gdbsupport/pathstuff.c \
- $(srcdir)/../../gdbsupport/print-utils.c \
- $(srcdir)/../../gdbsupport/ptid.c \
- $(srcdir)/../../gdbsupport/rsp-low.c \
- $(srcdir)/../../gdbsupport/safe-strerror.c \
- $(srcdir)/../../gdbsupport/tdesc.c \
- $(srcdir)/../../gdbsupport/xml-utils.c \
- $(srcdir)/../nat/aarch64-sve-linux-ptrace.c \
- $(srcdir)/../nat/linux-btrace.c \
- $(srcdir)/../nat/linux-namespaces.c \
- $(srcdir)/../nat/linux-osdata.c \
- $(srcdir)/../nat/linux-personality.c \
- $(srcdir)/../nat/mips-linux-watch.c \
- $(srcdir)/../nat/ppc-linux.c \
- $(srcdir)/../nat/fork-inferior.c \
- $(srcdir)/../target/waitstatus.c
+ $(srcdir)/../gdb/alloc.c \
+ $(srcdir)/../gdb/arch/arm.c \
+ $(srcdir)/../gdb/arch/arm-get-next-pcs.c \
+ $(srcdir)/../gdb/arch/arm-linux.c \
+ $(srcdir)/../gdb/arch/ppc-linux-common.c \
+ $(srcdir)/../gdbsupport/btrace-common.c \
+ $(srcdir)/../gdbsupport/buffer.c \
+ $(srcdir)/../gdbsupport/cleanups.c \
+ $(srcdir)/../gdbsupport/common-debug.c \
+ $(srcdir)/../gdbsupport/common-exceptions.c \
+ $(srcdir)/../gdbsupport/common-inferior.c \
+ $(srcdir)/../gdbsupport/common-regcache.c \
+ $(srcdir)/../gdbsupport/common-utils.c \
+ $(srcdir)/../gdbsupport/errors.c \
+ $(srcdir)/../gdbsupport/environ.c \
+ $(srcdir)/../gdbsupport/fileio.c \
+ $(srcdir)/../gdbsupport/filestuff.c \
+ $(srcdir)/../gdbsupport/job-control.c \
+ $(srcdir)/../gdbsupport/gdb-dlfcn.c \
+ $(srcdir)/../gdbsupport/gdb_tilde_expand.c \
+ $(srcdir)/../gdbsupport/gdb_vecs.c \
+ $(srcdir)/../gdbsupport/gdb_wait.c \
+ $(srcdir)/../gdbsupport/netstuff.c \
+ $(srcdir)/../gdbsupport/new-op.c \
+ $(srcdir)/../gdbsupport/pathstuff.c \
+ $(srcdir)/../gdbsupport/print-utils.c \
+ $(srcdir)/../gdbsupport/ptid.c \
+ $(srcdir)/../gdbsupport/rsp-low.c \
+ $(srcdir)/../gdbsupport/safe-strerror.c \
+ $(srcdir)/../gdbsupport/tdesc.c \
+ $(srcdir)/../gdbsupport/xml-utils.c \
+ $(srcdir)/../gdb/nat/aarch64-sve-linux-ptrace.c \
+ $(srcdir)/../gdb/nat/linux-btrace.c \
+ $(srcdir)/../gdb/nat/linux-namespaces.c \
+ $(srcdir)/../gdb/nat/linux-osdata.c \
+ $(srcdir)/../gdb/nat/linux-personality.c \
+ $(srcdir)/../gdb/nat/mips-linux-watch.c \
+ $(srcdir)/../gdb/nat/ppc-linux.c \
+ $(srcdir)/../gdb/nat/fork-inferior.c \
+ $(srcdir)/../gdb/target/waitstatus.c

DEPFILES = @GDBSERVER_DEPFILES@

@@ -322,7 +322,7 @@ XM_CLIBS = @LIBS@
CDEPS = $(srcdir)/proc-service.list

# XML files to compile in to gdbserver, if any.
-XML_DIR = $(srcdir)/../features
+XML_DIR = $(srcdir)/../gdb/features
XML_FILES = @srv_xmlfiles@
XML_BUILTIN = @srv_xmlbuiltin@

@@ -388,10 +388,10 @@ install-only:
n=`echo gdbserver | sed '$(program_transform_name)'`; \
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
if [ x"$(IPA_DEPFILES)" != x ]; then \
- $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir); \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir); \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(IPA_LIB) $(DESTDIR)$(libdir)/$(IPA_LIB); \
fi; \
- $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
# Note that we run install and not install-only, as the latter
# is not part of GNU standards and in particular not provided
@@ -522,14 +522,14 @@ stamp-h: config.in config.status
Makefile: Makefile.in config.status
$(SHELL) ./config.status $@

-$(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../../gnulib/Makefile.in config.status
+$(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../gnulib/Makefile.in config.status
@cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
CONFIG_COMMANDS="depfiles" \
CONFIG_HEADERS= \
CONFIG_LINKS= \
$(SHELL) config.status

-config.status: configure configure.srv $(srcdir)/../../bfd/development.sh
+config.status: configure configure.srv $(srcdir)/../bfd/development.sh
$(SHELL) ./config.status --recheck

# automatic rebuilding in automake-generated Makefiles requires
@@ -541,8 +541,8 @@ am--refresh:

force:

-version-generated.c: Makefile $(srcdir)/../version.in $(srcdir)/../../bfd/version.h $(srcdir)/../../gdbsupport/create-version.sh
- $(ECHO_GEN) $(SHELL) $(srcdir)/../../gdbsupport/create-version.sh $(srcdir)/.. \
+version-generated.c: Makefile $(srcdir)/../gdb/version.in $(srcdir)/../bfd/version.h $(srcdir)/../gdbsupport/create-version.sh
+ $(ECHO_GEN) $(SHELL) $(srcdir)/../gdbsupport/create-version.sh $(srcdir)/../gdb \
$(host_alias) $(target_alias) $@

xml-builtin-generated.c: stamp-xml; @true
@@ -550,7 +550,7 @@ stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
$(SILENCE) rm -f xml-builtin.tmp
$(ECHO_GEN_XML_BUILTIN_GENERATED) $(SHELL) $(XML_DIR)/feature_to_c.sh \
xml-builtin.tmp $(XML_FILES)
- $(SILENCE) $(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin-generated.c
+ $(SILENCE) $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin-generated.c
$(SILENCE) echo stamp > stamp-xml

.PRECIOUS: xml-builtin.c
@@ -566,7 +566,7 @@ stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
# will remove them.
MAKEOVERRIDES =

-regdat_sh = $(srcdir)/../regformats/regdat.sh
+regdat_sh = $(srcdir)/../gdb/regformats/regdat.sh

UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION

@@ -596,11 +596,11 @@ ax.o: ax.c

# Rules for objects that go in the in-process agent.

-arch/%-ipa.o: ../arch/%.c
+arch/%-ipa.o: ../gdb/arch/%.c
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)

-gdbsupport/%-ipa.o: ../../gdbsupport/%.c
+gdbsupport/%-ipa.o: ../gdbsupport/%.c
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)

@@ -612,7 +612,7 @@ gdbsupport/%-ipa.o: ../../gdbsupport/%.c
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)

-%-ipa.o: ../%.c
+%-ipa.o: ../gdb/%.c
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)

@@ -629,11 +629,11 @@ gdbsupport/%-ipa.o: ../../gdbsupport/%.c

# Rules for objects that go in the gdbserver binary.

-arch/%.o: ../arch/%.c
+arch/%.o: ../gdb/arch/%.c
$(COMPILE) $<
$(POSTCOMPILE)

-gdbsupport/%.o: ../../gdbsupport/%.c
+gdbsupport/%.o: ../gdbsupport/%.c
$(COMPILE) $<
$(POSTCOMPILE)

@@ -645,28 +645,28 @@ gdbsupport/%.o: ../../gdbsupport/%.c
$(COMPILE) $<
$(POSTCOMPILE)

-nat/%.o: ../nat/%.c
+nat/%.o: ../gdb/nat/%.c
$(COMPILE) $<
$(POSTCOMPILE)

-target/%.o: ../target/%.c
+target/%.o: ../gdb/target/%.c
$(COMPILE) $<
$(POSTCOMPILE)

-%.o: ../%.c
+%.o: ../gdb/%.c
$(COMPILE) $<
$(POSTCOMPILE)

# Rules for register format descriptions. Suffix destination files with
# -generated to identify and clean them easily.

-%-generated.c: ../regformats/%.dat $(regdat_sh)
+%-generated.c: ../gdb/regformats/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@

-%-generated.c: ../regformats/arm/%.dat $(regdat_sh)
+%-generated.c: ../gdb/regformats/arm/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@

-%-generated.c: ../regformats/rs6000/%.dat $(regdat_sh)
+%-generated.c: ../gdb/regformats/rs6000/%.dat $(regdat_sh)
$(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@

#
@@ -711,7 +711,7 @@ all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\
-include $(all_deps_files)

# Disable implicit make rules.
-include $(srcdir)/../disable-implicit-rules.mk
+include $(srcdir)/../gdb/disable-implicit-rules.mk

# Do not delete intermediate files (e.g. *-generated.c).
.SECONDARY:
diff --git a/gdb/gdbserver/README b/gdbserver/README
similarity index 89%
rename from gdb/gdbserver/README
rename to gdbserver/README
index 52a876b24e8..6b8be9669ef 100644
--- a/gdb/gdbserver/README
+++ b/gdbserver/README
@@ -100,27 +100,24 @@ The supported targets as of November 2006 are:
spu*-*-*
x86_64-*-linux*

-Configuring GDBserver you should specify the same machine for host and
-target (which are the machine that GDBserver is going to run on. This
-is not the same as the machine that GDB is going to run on; building
-GDBserver automatically as part of building a whole tree of tools does
-not currently work if cross-compilation is involved (we don't get the
-right CC in the Makefile, to start with)).
-
-Building GDBserver for your target is very straightforward. If you build
-GDB natively on a target which GDBserver supports, it will be built
+Building GDBserver for your host is very straightforward. If you build
+GDB natively on a host which GDBserver supports, it will be built
automatically when you build GDB. You can also build just GDBserver:

% mkdir obj
% cd obj
- % path-to-gdbserver-sources/configure
+ % path-to-toplevel-sources/configure --disable-gdb
% make

+(If you have a combined binutils+gdb tree, you may want to also
+disable other directories when configuring, e.g., binutils, gas, gold,
+gprof, and ld.)
+
If you prefer to cross-compile to your target, then you can also build
GDBserver that way. In a Bourne shell, for example:

% export CC=your-cross-compiler
- % path-to-gdbserver-sources/configure your-target-name
+ % path-to-topevel-sources/configure your-target-name --disable-gdb
% make

Using GDBreplay:
diff --git a/gdb/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
similarity index 63%
rename from gdb/gdbserver/acinclude.m4
rename to gdbserver/acinclude.m4
index eba3a131315..5a284515c82 100644
--- a/gdb/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -1,42 +1,42 @@
dnl gdb/gdbserver/configure.in uses BFD_HAVE_SYS_PROCFS_TYPE.
-m4_include(../../bfd/bfd.m4)
+m4_include(../bfd/bfd.m4)

-m4_include(../acx_configure_dir.m4)
+m4_include(../gdb/acx_configure_dir.m4)

# This gets AM_GDB_WARNINGS.
-m4_include(../warning.m4)
+m4_include(../gdb/warning.m4)

dnl This gets autoconf bugfixes
-m4_include(../../config/override.m4)
+m4_include(../config/override.m4)

dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../../config/acx.m4)
+m4_include(../config/acx.m4)

-m4_include(../../config/depstand.m4)
-m4_include(../../config/lead-dot.m4)
+m4_include(../config/depstand.m4)
+m4_include(../config/lead-dot.m4)

dnl Needed for common.m4
dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../../config/lib-ld.m4)
-m4_include(../../config/lib-prefix.m4)
-m4_include(../../config/lib-link.m4)
+m4_include(../config/lib-ld.m4)
+m4_include(../config/lib-prefix.m4)
+m4_include(../config/lib-link.m4)
dnl codeset.m4 is needed for common.m4, but not for
dnl anything else in gdbserver.
-m4_include(../../config/codeset.m4)
-m4_include(../../gdbsupport/common.m4)
+m4_include(../config/codeset.m4)
+m4_include(../gdbsupport/common.m4)

dnl For libiberty_INIT.
-m4_include(../libiberty.m4)
+m4_include(../gdb/libiberty.m4)

dnl For GDB_AC_PTRACE.
-m4_include(../ptrace.m4)
+m4_include(../gdb/ptrace.m4)

-m4_include(../ax_cxx_compile_stdcxx.m4)
+m4_include(../gdb/ax_cxx_compile_stdcxx.m4)

dnl For GDB_AC_SELFTEST.
-m4_include(../selftest.m4)
+m4_include(../gdb/selftest.m4)

-m4_include([../../config/ax_pthread.m4])
+m4_include([../config/ax_pthread.m4])

dnl Check for existence of a type $1 in libthread_db.h
dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
diff --git a/gdb/gdbserver/aclocal.m4 b/gdbserver/aclocal.m4
similarity index 100%
rename from gdb/gdbserver/aclocal.m4
rename to gdbserver/aclocal.m4
diff --git a/gdb/gdbserver/ax.c b/gdbserver/ax.c
similarity index 100%
rename from gdb/gdbserver/ax.c
rename to gdbserver/ax.c
diff --git a/gdb/gdbserver/ax.h b/gdbserver/ax.h
similarity index 100%
rename from gdb/gdbserver/ax.h
rename to gdbserver/ax.h
diff --git a/gdb/gdbserver/config.in b/gdbserver/config.in
similarity index 100%
rename from gdb/gdbserver/config.in
rename to gdbserver/config.in
diff --git a/gdb/gdbserver/configure b/gdbserver/configure
similarity index 99%
rename from gdb/gdbserver/configure
rename to gdbserver/configure
diff --git a/gdb/gdbserver/configure.ac b/gdbserver/configure.ac
similarity index 98%
rename from gdb/gdbserver/configure.ac
rename to gdbserver/configure.ac
index 03b36dc699a..285a297a1c6 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -44,7 +44,7 @@ AX_CXX_COMPILE_STDCXX(11, , mandatory)
AC_HEADER_STDC

# Set the 'development' global.
-. $srcdir/../../bfd/development.sh
+. $srcdir/../bfd/development.sh

GDB_AC_SELFTEST([
srv_selftest_objs="gdbsupport/selftest.o"
@@ -80,10 +80,10 @@ fi
# gdbserver/. We need to build gnulib under some other directory not
# "gnulib", to avoid the problem of both GDB and GDBserver wanting to
# build it in the same directory, when building in the source dir.
-ACX_CONFIGURE_DIR(["../../gnulib"], ["build-gnulib-gdbserver"],
+ACX_CONFIGURE_DIR(["../gnulib"], ["build-gnulib-gdbserver"],
["$gnulib_extra_configure_args"])

-ACX_CONFIGURE_DIR(["../../libiberty"], ["build-libiberty-gdbserver"])
+ACX_CONFIGURE_DIR(["../libiberty"], ["build-libiberty-gdbserver"])

AC_CHECK_HEADERS(termios.h sys/reg.h string.h dnl
sys/procfs.h linux/elf.h dnl
diff --git a/gdbserver/configure.host b/gdbserver/configure.host
new file mode 100644
index 00000000000..86d3a80148d
--- /dev/null
+++ b/gdbserver/configure.host
@@ -0,0 +1,111 @@
+# Configure helper for gdbserver
+# Copyright (C) 2000-2020 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/>.
+
+# Source this to determine whether gdbserver can be built for a given
+# host. This will set the variable "build_gdbserver". The variable
+# "host" must be set before sourcing.
+
+build_gdbserver=
+case "$host" in
+aarch64*-*-linux*)
+ # Target: AArch64 linux
+ build_gdbserver=yes
+ ;;
+
+arm*-wince-pe | arm*-*-mingw32ce*)
+ # Target: ARM based machine running Windows CE (win32)
+ build_gdbserver=yes
+ ;;
+arm*-*-linux*)
+ # Target: ARM based machine running GNU/Linux
+ build_gdbserver=yes
+ ;;
+bfin-*-*linux*)
+ # Target: Blackfin Linux
+ gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o"
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-nto*)
+ # Target: Intel 386 running qnx6.
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-linux*)
+ # Target: Intel 386 running GNU/Linux
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-cygwin*)
+ # Target: Intel 386 running win32
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-mingw32*)
+ # Target: Intel 386 running win32
+ build_gdbserver=yes
+ ;;
+ia64-*-linux*)
+ # Target: Intel IA-64 running GNU/Linux
+ build_gdbserver=yes
+ ;;
+m32r*-*-linux*)
+ # Target: Renesas M32R running GNU/Linux
+ build_gdbserver=yes
+ ;;
+m68*-*-linux*)
+ # Target: Motorola m68k with a.out and ELF
+ build_gdbserver=yes
+ ;;
+mips*-*-linux*)
+ # Target: Linux/MIPS
+ build_gdbserver=yes
+ ;;
+powerpc*-*-linux*)
+ # Target: PowerPC running Linux
+ build_gdbserver=yes
+ ;;
+s390*-*-linux*)
+ # Target: S390 running Linux
+ build_gdbserver=yes
+ ;;
+sh*-*-linux*)
+ # Target: GNU/Linux Super-H
+ build_gdbserver=yes
+ ;;
+sparc-*-linux*)
+ # Target: GNU/Linux SPARC
+ build_gdbserver=yes
+ ;;
+sparc64-*-linux*)
+ # Target: GNU/Linux UltraSPARC
+ build_gdbserver=yes
+ ;;
+tilegx-*-linux*)
+ # Target: TILE-Gx
+ build_gdbserver=yes
+ ;;
+x86_64-*-linux*)
+ # Target: GNU/Linux x86-64
+ build_gdbserver=yes
+ ;;
+x86_64-*-mingw* | x86_64-*-cygwin*)
+ # Target: MingW/amd64
+ build_gdbserver=yes
+ ;;
+xtensa*-*-*linux*)
+ # Target: GNU/Linux Xtensa
+ build_gdbserver=yes
+ ;;
+esac
diff --git a/gdb/gdbserver/configure.srv b/gdbserver/configure.srv
similarity index 100%
rename from gdb/gdbserver/configure.srv
rename to gdbserver/configure.srv
diff --git a/gdb/gdbserver/debug.c b/gdbserver/debug.c
similarity index 100%
rename from gdb/gdbserver/debug.c
rename to gdbserver/debug.c
diff --git a/gdb/gdbserver/debug.h b/gdbserver/debug.h
similarity index 100%
rename from gdb/gdbserver/debug.h
rename to gdbserver/debug.h
diff --git a/gdb/gdbserver/dll.c b/gdbserver/dll.c
similarity index 100%
rename from gdb/gdbserver/dll.c
rename to gdbserver/dll.c
diff --git a/gdb/gdbserver/dll.h b/gdbserver/dll.h
similarity index 100%
rename from gdb/gdbserver/dll.h
rename to gdbserver/dll.h
diff --git a/gdb/gdbserver/event-loop.c b/gdbserver/event-loop.c
similarity index 100%
rename from gdb/gdbserver/event-loop.c
rename to gdbserver/event-loop.c
diff --git a/gdb/gdbserver/event-loop.h b/gdbserver/event-loop.h
similarity index 100%
rename from gdb/gdbserver/event-loop.h
rename to gdbserver/event-loop.h
diff --git a/gdb/gdbserver/fork-child.c b/gdbserver/fork-child.c
similarity index 100%
rename from gdb/gdbserver/fork-child.c
rename to gdbserver/fork-child.c
diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdbserver/gdb_proc_service.h
similarity index 100%
rename from gdb/gdbserver/gdb_proc_service.h
rename to gdbserver/gdb_proc_service.h
diff --git a/gdb/gdbserver/gdbreplay.c b/gdbserver/gdbreplay.c
similarity index 100%
rename from gdb/gdbserver/gdbreplay.c
rename to gdbserver/gdbreplay.c
diff --git a/gdb/gdbserver/gdbthread.h b/gdbserver/gdbthread.h
similarity index 100%
rename from gdb/gdbserver/gdbthread.h
rename to gdbserver/gdbthread.h
diff --git a/gdb/gdbserver/hostio-errno.c b/gdbserver/hostio-errno.c
similarity index 100%
rename from gdb/gdbserver/hostio-errno.c
rename to gdbserver/hostio-errno.c
diff --git a/gdb/gdbserver/hostio.c b/gdbserver/hostio.c
similarity index 100%
rename from gdb/gdbserver/hostio.c
rename to gdbserver/hostio.c
diff --git a/gdb/gdbserver/hostio.h b/gdbserver/hostio.h
similarity index 100%
rename from gdb/gdbserver/hostio.h
rename to gdbserver/hostio.h
diff --git a/gdb/gdbserver/i387-fp.c b/gdbserver/i387-fp.c
similarity index 100%
rename from gdb/gdbserver/i387-fp.c
rename to gdbserver/i387-fp.c
diff --git a/gdb/gdbserver/i387-fp.h b/gdbserver/i387-fp.h
similarity index 100%
rename from gdb/gdbserver/i387-fp.h
rename to gdbserver/i387-fp.h
diff --git a/gdb/gdbserver/inferiors.c b/gdbserver/inferiors.c
similarity index 100%
rename from gdb/gdbserver/inferiors.c
rename to gdbserver/inferiors.c
diff --git a/gdb/gdbserver/inferiors.h b/gdbserver/inferiors.h
similarity index 100%
rename from gdb/gdbserver/inferiors.h
rename to gdbserver/inferiors.h
diff --git a/gdb/gdbserver/linux-aarch32-low.c b/gdbserver/linux-aarch32-low.c
similarity index 100%
rename from gdb/gdbserver/linux-aarch32-low.c
rename to gdbserver/linux-aarch32-low.c
diff --git a/gdb/gdbserver/linux-aarch32-low.h b/gdbserver/linux-aarch32-low.h
similarity index 100%
rename from gdb/gdbserver/linux-aarch32-low.h
rename to gdbserver/linux-aarch32-low.h
diff --git a/gdb/gdbserver/linux-aarch32-tdesc.c b/gdbserver/linux-aarch32-tdesc.c
similarity index 100%
rename from gdb/gdbserver/linux-aarch32-tdesc.c
rename to gdbserver/linux-aarch32-tdesc.c
diff --git a/gdb/gdbserver/linux-aarch32-tdesc.h b/gdbserver/linux-aarch32-tdesc.h
similarity index 100%
rename from gdb/gdbserver/linux-aarch32-tdesc.h
rename to gdbserver/linux-aarch32-tdesc.h
diff --git a/gdb/gdbserver/linux-aarch64-ipa.c b/gdbserver/linux-aarch64-ipa.c
similarity index 100%
rename from gdb/gdbserver/linux-aarch64-ipa.c
rename to gdbserver/linux-aarch64-ipa.c
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdbserver/linux-aarch64-low.c
similarity index 100%
rename from gdb/gdbserver/linux-aarch64-low.c
rename to gdbserver/linux-aarch64-low.c
diff --git a/gdb/gdbserver/linux-aarch64-tdesc.c b/gdbserver/linux-aarch64-tdesc.c
similarity index 100%
rename from gdb/gdbserver/linux-aarch64-tdesc.c
rename to gdbserver/linux-aarch64-tdesc.c
diff --git a/gdb/gdbserver/linux-aarch64-tdesc.h b/gdbserver/linux-aarch64-tdesc.h
similarity index 100%
rename from gdb/gdbserver/linux-aarch64-tdesc.h
rename to gdbserver/linux-aarch64-tdesc.h
diff --git a/gdb/gdbserver/linux-amd64-ipa.c b/gdbserver/linux-amd64-ipa.c
similarity index 100%
rename from gdb/gdbserver/linux-amd64-ipa.c
rename to gdbserver/linux-amd64-ipa.c
diff --git a/gdb/gdbserver/linux-arm-low.c b/gdbserver/linux-arm-low.c
similarity index 100%
rename from gdb/gdbserver/linux-arm-low.c
rename to gdbserver/linux-arm-low.c
diff --git a/gdb/gdbserver/linux-arm-tdesc.c b/gdbserver/linux-arm-tdesc.c
similarity index 100%
rename from gdb/gdbserver/linux-arm-tdesc.c
rename to gdbserver/linux-arm-tdesc.c
diff --git a/gdb/gdbserver/linux-arm-tdesc.h b/gdbserver/linux-arm-tdesc.h
similarity index 100%
rename from gdb/gdbserver/linux-arm-tdesc.h
rename to gdbserver/linux-arm-tdesc.h
diff --git a/gdb/gdbserver/linux-bfin-low.c b/gdbserver/linux-bfin-low.c
similarity index 100%
rename from gdb/gdbserver/linux-bfin-low.c
rename to gdbserver/linux-bfin-low.c
diff --git a/gdb/gdbserver/linux-cris-low.c b/gdbserver/linux-cris-low.c
similarity index 100%
rename from gdb/gdbserver/linux-cris-low.c
rename to gdbserver/linux-cris-low.c
diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdbserver/linux-crisv32-low.c
similarity index 100%
rename from gdb/gdbserver/linux-crisv32-low.c
rename to gdbserver/linux-crisv32-low.c
diff --git a/gdb/gdbserver/linux-i386-ipa.c b/gdbserver/linux-i386-ipa.c
similarity index 100%
rename from gdb/gdbserver/linux-i386-ipa.c
rename to gdbserver/linux-i386-ipa.c
diff --git a/gdb/gdbserver/linux-ia64-low.c b/gdbserver/linux-ia64-low.c
similarity index 100%
rename from gdb/gdbserver/linux-ia64-low.c
rename to gdbserver/linux-ia64-low.c
diff --git a/gdb/gdbserver/linux-low.c b/gdbserver/linux-low.c
similarity index 100%
rename from gdb/gdbserver/linux-low.c
rename to gdbserver/linux-low.c
diff --git a/gdb/gdbserver/linux-low.h b/gdbserver/linux-low.h
similarity index 100%
rename from gdb/gdbserver/linux-low.h
rename to gdbserver/linux-low.h
diff --git a/gdb/gdbserver/linux-m32r-low.c b/gdbserver/linux-m32r-low.c
similarity index 100%
rename from gdb/gdbserver/linux-m32r-low.c
rename to gdbserver/linux-m32r-low.c
diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdbserver/linux-m68k-low.c
similarity index 100%
rename from gdb/gdbserver/linux-m68k-low.c
rename to gdbserver/linux-m68k-low.c
diff --git a/gdb/gdbserver/linux-mips-low.c b/gdbserver/linux-mips-low.c
similarity index 100%
rename from gdb/gdbserver/linux-mips-low.c
rename to gdbserver/linux-mips-low.c
diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdbserver/linux-nios2-low.c
similarity index 100%
rename from gdb/gdbserver/linux-nios2-low.c
rename to gdbserver/linux-nios2-low.c
diff --git a/gdb/gdbserver/linux-ppc-ipa.c b/gdbserver/linux-ppc-ipa.c
similarity index 100%
rename from gdb/gdbserver/linux-ppc-ipa.c
rename to gdbserver/linux-ppc-ipa.c
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdbserver/linux-ppc-low.c
similarity index 100%
rename from gdb/gdbserver/linux-ppc-low.c
rename to gdbserver/linux-ppc-low.c
diff --git a/gdb/gdbserver/linux-ppc-tdesc-init.h b/gdbserver/linux-ppc-tdesc-init.h
similarity index 100%
rename from gdb/gdbserver/linux-ppc-tdesc-init.h
rename to gdbserver/linux-ppc-tdesc-init.h
diff --git a/gdb/gdbserver/linux-s390-ipa.c b/gdbserver/linux-s390-ipa.c
similarity index 100%
rename from gdb/gdbserver/linux-s390-ipa.c
rename to gdbserver/linux-s390-ipa.c
diff --git a/gdb/gdbserver/linux-s390-low.c b/gdbserver/linux-s390-low.c
similarity index 100%
rename from gdb/gdbserver/linux-s390-low.c
rename to gdbserver/linux-s390-low.c
diff --git a/gdb/gdbserver/linux-s390-tdesc.h b/gdbserver/linux-s390-tdesc.h
similarity index 100%
rename from gdb/gdbserver/linux-s390-tdesc.h
rename to gdbserver/linux-s390-tdesc.h
diff --git a/gdb/gdbserver/linux-sh-low.c b/gdbserver/linux-sh-low.c
similarity index 100%
rename from gdb/gdbserver/linux-sh-low.c
rename to gdbserver/linux-sh-low.c
diff --git a/gdb/gdbserver/linux-sparc-low.c b/gdbserver/linux-sparc-low.c
similarity index 100%
rename from gdb/gdbserver/linux-sparc-low.c
rename to gdbserver/linux-sparc-low.c
diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdbserver/linux-tic6x-low.c
similarity index 100%
rename from gdb/gdbserver/linux-tic6x-low.c
rename to gdbserver/linux-tic6x-low.c
diff --git a/gdb/gdbserver/linux-tile-low.c b/gdbserver/linux-tile-low.c
similarity index 100%
rename from gdb/gdbserver/linux-tile-low.c
rename to gdbserver/linux-tile-low.c
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdbserver/linux-x86-low.c
similarity index 100%
rename from gdb/gdbserver/linux-x86-low.c
rename to gdbserver/linux-x86-low.c
diff --git a/gdb/gdbserver/linux-x86-tdesc.c b/gdbserver/linux-x86-tdesc.c
similarity index 100%
rename from gdb/gdbserver/linux-x86-tdesc.c
rename to gdbserver/linux-x86-tdesc.c
diff --git a/gdb/gdbserver/linux-x86-tdesc.h b/gdbserver/linux-x86-tdesc.h
similarity index 100%
rename from gdb/gdbserver/linux-x86-tdesc.h
rename to gdbserver/linux-x86-tdesc.h
diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdbserver/linux-xtensa-low.c
similarity index 100%
rename from gdb/gdbserver/linux-xtensa-low.c
rename to gdbserver/linux-xtensa-low.c
diff --git a/gdb/gdbserver/lynx-i386-low.c b/gdbserver/lynx-i386-low.c
similarity index 100%
rename from gdb/gdbserver/lynx-i386-low.c
rename to gdbserver/lynx-i386-low.c
diff --git a/gdb/gdbserver/lynx-low.c b/gdbserver/lynx-low.c
similarity index 100%
rename from gdb/gdbserver/lynx-low.c
rename to gdbserver/lynx-low.c
diff --git a/gdb/gdbserver/lynx-low.h b/gdbserver/lynx-low.h
similarity index 100%
rename from gdb/gdbserver/lynx-low.h
rename to gdbserver/lynx-low.h
diff --git a/gdb/gdbserver/lynx-ppc-low.c b/gdbserver/lynx-ppc-low.c
similarity index 100%
rename from gdb/gdbserver/lynx-ppc-low.c
rename to gdbserver/lynx-ppc-low.c
diff --git a/gdb/gdbserver/mem-break.c b/gdbserver/mem-break.c
similarity index 100%
rename from gdb/gdbserver/mem-break.c
rename to gdbserver/mem-break.c
diff --git a/gdb/gdbserver/mem-break.h b/gdbserver/mem-break.h
similarity index 100%
rename from gdb/gdbserver/mem-break.h
rename to gdbserver/mem-break.h
diff --git a/gdb/gdbserver/notif.c b/gdbserver/notif.c
similarity index 100%
rename from gdb/gdbserver/notif.c
rename to gdbserver/notif.c
diff --git a/gdb/gdbserver/notif.h b/gdbserver/notif.h
similarity index 100%
rename from gdb/gdbserver/notif.h
rename to gdbserver/notif.h
diff --git a/gdb/gdbserver/nto-low.c b/gdbserver/nto-low.c
similarity index 100%
rename from gdb/gdbserver/nto-low.c
rename to gdbserver/nto-low.c
diff --git a/gdb/gdbserver/nto-low.h b/gdbserver/nto-low.h
similarity index 100%
rename from gdb/gdbserver/nto-low.h
rename to gdbserver/nto-low.h
diff --git a/gdb/gdbserver/nto-x86-low.c b/gdbserver/nto-x86-low.c
similarity index 100%
rename from gdb/gdbserver/nto-x86-low.c
rename to gdbserver/nto-x86-low.c
diff --git a/gdb/gdbserver/proc-service.c b/gdbserver/proc-service.c
similarity index 100%
rename from gdb/gdbserver/proc-service.c
rename to gdbserver/proc-service.c
diff --git a/gdb/gdbserver/proc-service.list b/gdbserver/proc-service.list
similarity index 100%
rename from gdb/gdbserver/proc-service.list
rename to gdbserver/proc-service.list
diff --git a/gdb/gdbserver/regcache.c b/gdbserver/regcache.c
similarity index 100%
rename from gdb/gdbserver/regcache.c
rename to gdbserver/regcache.c
diff --git a/gdb/gdbserver/regcache.h b/gdbserver/regcache.h
similarity index 100%
rename from gdb/gdbserver/regcache.h
rename to gdbserver/regcache.h
diff --git a/gdb/gdbserver/remote-utils.c b/gdbserver/remote-utils.c
similarity index 100%
rename from gdb/gdbserver/remote-utils.c
rename to gdbserver/remote-utils.c
diff --git a/gdb/gdbserver/remote-utils.h b/gdbserver/remote-utils.h
similarity index 100%
rename from gdb/gdbserver/remote-utils.h
rename to gdbserver/remote-utils.h
diff --git a/gdb/gdbserver/server.c b/gdbserver/server.c
similarity index 100%
rename from gdb/gdbserver/server.c
rename to gdbserver/server.c
diff --git a/gdb/gdbserver/server.h b/gdbserver/server.h
similarity index 100%
rename from gdb/gdbserver/server.h
rename to gdbserver/server.h
diff --git a/gdb/gdbserver/symbol.c b/gdbserver/symbol.c
similarity index 100%
rename from gdb/gdbserver/symbol.c
rename to gdbserver/symbol.c
diff --git a/gdb/gdbserver/target.c b/gdbserver/target.c
similarity index 100%
rename from gdb/gdbserver/target.c
rename to gdbserver/target.c
diff --git a/gdb/gdbserver/target.h b/gdbserver/target.h
similarity index 100%
rename from gdb/gdbserver/target.h
rename to gdbserver/target.h
diff --git a/gdb/gdbserver/tdesc.c b/gdbserver/tdesc.c
similarity index 100%
rename from gdb/gdbserver/tdesc.c
rename to gdbserver/tdesc.c
diff --git a/gdb/gdbserver/tdesc.h b/gdbserver/tdesc.h
similarity index 100%
rename from gdb/gdbserver/tdesc.h
rename to gdbserver/tdesc.h
diff --git a/gdb/gdbserver/thread-db.c b/gdbserver/thread-db.c
similarity index 100%
rename from gdb/gdbserver/thread-db.c
rename to gdbserver/thread-db.c
diff --git a/gdb/gdbserver/tracepoint.c b/gdbserver/tracepoint.c
similarity index 100%
rename from gdb/gdbserver/tracepoint.c
rename to gdbserver/tracepoint.c
diff --git a/gdb/gdbserver/tracepoint.h b/gdbserver/tracepoint.h
similarity index 100%
rename from gdb/gdbserver/tracepoint.h
rename to gdbserver/tracepoint.h
diff --git a/gdb/gdbserver/utils.c b/gdbserver/utils.c
similarity index 100%
rename from gdb/gdbserver/utils.c
rename to gdbserver/utils.c
diff --git a/gdb/gdbserver/utils.h b/gdbserver/utils.h
similarity index 100%
rename from gdb/gdbserver/utils.h
rename to gdbserver/utils.h
diff --git a/gdb/gdbserver/win32-arm-low.c b/gdbserver/win32-arm-low.c
similarity index 100%
rename from gdb/gdbserver/win32-arm-low.c
rename to gdbserver/win32-arm-low.c
diff --git a/gdb/gdbserver/win32-i386-low.c b/gdbserver/win32-i386-low.c
similarity index 100%
rename from gdb/gdbserver/win32-i386-low.c
rename to gdbserver/win32-i386-low.c
diff --git a/gdb/gdbserver/win32-low.c b/gdbserver/win32-low.c
similarity index 100%
rename from gdb/gdbserver/win32-low.c
rename to gdbserver/win32-low.c
diff --git a/gdb/gdbserver/win32-low.h b/gdbserver/win32-low.h
similarity index 100%
rename from gdb/gdbserver/win32-low.h
rename to gdbserver/win32-low.h
diff --git a/gdb/gdbserver/wincecompat.c b/gdbserver/wincecompat.c
similarity index 100%
rename from gdb/gdbserver/wincecompat.c
rename to gdbserver/wincecompat.c
diff --git a/gdb/gdbserver/wincecompat.h b/gdbserver/wincecompat.h
similarity index 100%
rename from gdb/gdbserver/wincecompat.h
rename to gdbserver/wincecompat.h
diff --git a/gdb/gdbserver/x86-low.c b/gdbserver/x86-low.c
similarity index 100%
rename from gdb/gdbserver/x86-low.c
rename to gdbserver/x86-low.c
diff --git a/gdb/gdbserver/x86-low.h b/gdbserver/x86-low.h
similarity index 100%
rename from gdb/gdbserver/x86-low.h
rename to gdbserver/x86-low.h
diff --git a/gdb/gdbserver/x86-tdesc.h b/gdbserver/x86-tdesc.h
similarity index 100%
rename from gdb/gdbserver/x86-tdesc.h
rename to gdbserver/x86-tdesc.h
diff --git a/gdb/gdbserver/xtensa-xtregs.c b/gdbserver/xtensa-xtregs.c
similarity index 100%
rename from gdb/gdbserver/xtensa-xtregs.c
rename to gdbserver/xtensa-xtregs.c
diff --git a/src-release.sh b/src-release.sh
index 92e92ac5d77..95f79c5bd7d 100755
--- a/src-release.sh
+++ b/src-release.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# Copyright (C) 1990-2019 Free Software Foundation
+# Copyright (C) 1990-2020 Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -315,7 +315,7 @@ gas_release()
tar_compress $package $tool "$GAS_SUPPORT_DIRS" "$compressors"
}

-GDB_SUPPORT_DIRS="bfd include libiberty libctf opcodes readline sim intl libdecnumber cpu zlib contrib gnulib gdbsupport"
+GDB_SUPPORT_DIRS="bfd include libiberty libctf opcodes readline sim intl libdecnumber cpu zlib contrib gnulib gdbsupport gdbserver"
gdb_release()
{
compressors=$1