public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Move gdbserver to top level
@ 2020-01-19 20:07 Tom Tromey
  2020-01-21  5:34 ` Simon Marchi
  2020-01-24 15:23 ` Pedro Alves
  0 siblings, 2 replies; 45+ messages in thread
From: Tom Tromey @ 2020-01-19 20:07 UTC (permalink / raw)
  To: gdb-patches

Here's the next patch in the ongoing effort to move gdbserver to the top
level.

I've edited this patch before sending to ensure it won't be too large to
be accepted by the list.  In particular, I used "git show" to create the
patch (this seems to handle moves better than "git send-email"), and I
removed the generated files.

Tom

commit 72fd760c0e9a5dbf39fce4a15bad368e525c6d7f
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.
    
    Tested by the buildbot.
    
    ChangeLog
    2020-01-19  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-19  Tom Tromey  <tom@tromey.com>
    
            * 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 e75c8c249c9..924fc0eae73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-01-19  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-18  Nick Clifton  <nickc@redhat.com>
 
 	Binutils 2.34 branch created.
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..de35083d81e 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; };
@@ -409,6 +410,12 @@ dependencies = { module=all-gdb; on=all-libdecnumber; };
 dependencies = { module=all-gdb; on=all-libtermcap; };
 dependencies = { module=all-gdb; on=all-libctf; };
 
+// Host modules specific to gdbserver.
+dependencies = { module=configure-gdbserver; on=all-intl; };
+// Depend on all-libiconv so that configure checks for iconv
+// functions will work.
+dependencies = { module=configure-gdbserver; on=all-libiconv; };
+
 dependencies = { module=configure-libgui; on=configure-tcl; };
 dependencies = { module=configure-libgui; on=configure-tk; };
 dependencies = { module=all-libgui; on=all-tcl; };
diff --git a/configure.ac b/configure.ac
index 4bd869a63a9..aef6ca74dcf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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,110 @@ case "${target}" in
     ;;
 esac
 
+# Only allow gdbserver on some systems.
+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
+	;;
+or1k*-*-linux*)
+	# Target: OpenCores OpenRISC 1000 32-bit running Linux
+	build_gdbserver=yes
+	;;
+
+powerpc*-*-linux*)
+	# Target: PowerPC running Linux
+	build_gdbserver=yes
+	;;
+s390*-*-linux*)
+	# Target: S390 running Linux
+	build_gdbserver=yes
+	;;
+score-*-*)
+	# Target: S+core embedded system
+	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
+
+if test "x$build_gdbserver" = x; then
+  noconfigdirs="$noconfigdirs gdbserver"
+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 f7798def4fb..ddc8fd467d9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2020-01-19  Tom Tromey  <tom@tromey.com>
+
+	* 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-19  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* linux-fork.c (one_fork_p): Simplify.
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/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 e5c05fa4ee3..9f2a701d173 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,16 @@
+2020-01-19  Tom Tromey  <tom@tromey.com>
+
+	* 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-14  Tom Tromey  <tom@tromey.com>
 
 	* configure: Rebuild.
diff --git a/gdb/gdbserver/Makefile.in b/gdbserver/Makefile.in
similarity index 87%
rename from gdb/gdbserver/Makefile.in
rename to gdbserver/Makefile.in
index 38f30a02770..902d54cfe58 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdbserver/Makefile.in
@@ -62,7 +62,7 @@ AR_FLAGS = rc
 # 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.
@@ -71,7 +71,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.
@@ -90,7 +90,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
@@ -103,26 +103,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,33 +202,33 @@ SFILES = \
 	$(srcdir)/arch/arm-get-next-pcs.c \
 	$(srcdir)/arch/arm-linux.c \
 	$(srcdir)/arch/ppc-linux-common.c \
-	$(srcdir)/../alloc.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/alloc.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 \
@@ -318,7 +318,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@
 
@@ -384,10 +384,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
@@ -512,14 +512,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
@@ -531,8 +531,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
@@ -540,7 +540,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
@@ -556,7 +556,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
 
@@ -586,11 +586,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)
 
@@ -602,7 +602,7 @@ gdbsupport/%-ipa.o: ../../gdbsupport/%.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 
-%-ipa.o: ../%.c
+%-ipa.o: ../gdb/%.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -619,11 +619,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)
 
@@ -635,28 +635,28 @@ gdbsupport/%.o: ../../gdbsupport/%.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-%.o: ../nat/%.c
+%.o: ../gdb/nat/%.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-%.o: ../target/%.c
+%.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) $< $@
 
 #
@@ -701,7 +701,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 100%
rename from gdb/gdbserver/README
rename to gdbserver/README
diff --git a/gdb/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
similarity index 70%
rename from gdb/gdbserver/acinclude.m4
rename to gdbserver/acinclude.m4
index eba3a131315..7336d1f1c31 100644
--- a/gdb/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -1,19 +1,19 @@
 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.
@@ -22,21 +22,21 @@ 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 969354308c7..24b832b90e8 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -43,7 +43,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"
@@ -79,10 +79,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/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

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-19 20:07 [PATCH] Move gdbserver to top level Tom Tromey
@ 2020-01-21  5:34 ` Simon Marchi
  2020-01-23 22:03   ` Tom Tromey
  2020-01-24 15:23 ` Pedro Alves
  1 sibling, 1 reply; 45+ messages in thread
From: Simon Marchi @ 2020-01-21  5:34 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

On 2020-01-19 2:13 p.m., Tom Tromey wrote:
> Here's the next patch in the ongoing effort to move gdbserver to the top
> level.
> 
> I've edited this patch before sending to ensure it won't be too large to
> be accepted by the list.  In particular, I used "git show" to create the
> patch (this seems to handle moves better than "git send-email"), and I
> removed the generated files.

Top-level configure.ac says that configs:

- or1k*-*-linux*
- score-*-*

should build gdbserver, but I don't think they have a gdbserver port (despite
them having build_gdbserver=yes prior to this patch), do they?

When autoconf-ing gdbserver, I get:

gdbserver$ autoconf
/usr/bin/m4:acinclude.m4:20: cannot open `../../config/lib-ld.m4': No such file or directory
/usr/bin/m4:acinclude.m4:21: cannot open `../../config/lib-prefix.m4': No such file or directory
/usr/bin/m4:acinclude.m4:22: cannot open `../../config/lib-link.m4': No such file or directory
autom4te: /usr/bin/m4 failed with exit status: 1

I presume these paths need to be updated?

Other than that it LGTM.  I fixed the paths above, re-generated everything, and I was able to
build fine.

Simon

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-21  5:34 ` Simon Marchi
@ 2020-01-23 22:03   ` Tom Tromey
  2020-01-24 14:29     ` Hannes Domani via gdb-patches
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-23 22:03 UTC (permalink / raw)
  To: Simon Marchi; +Cc: Tom Tromey, gdb-patches

>>>>> "Simon" == Simon Marchi <simark@simark.ca> writes:

Simon> Top-level configure.ac says that configs:
Simon> - or1k*-*-linux*
Simon> - score-*-*
Simon> should build gdbserver, but I don't think they have a gdbserver port (despite
Simon> them having build_gdbserver=yes prior to this patch), do they?

Nope.  I've removed these.

Simon> When autoconf-ing gdbserver, I get:
Simon> gdbserver$ autoconf
Simon> /usr/bin/m4:acinclude.m4:20: cannot open `../../config/lib-ld.m4': No such file or directory
Simon> /usr/bin/m4:acinclude.m4:21: cannot open `../../config/lib-prefix.m4': No such file or directory
Simon> /usr/bin/m4:acinclude.m4:22: cannot open `../../config/lib-link.m4': No such file or directory
Simon> autom4te: /usr/bin/m4 failed with exit status: 1
Simon> I presume these paths need to be updated?

Thanks, I made this change.

I think I will wait a little while longer before pushing.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-23 22:03   ` Tom Tromey
@ 2020-01-24 14:29     ` Hannes Domani via gdb-patches
  2020-01-24 15:12       ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Hannes Domani via gdb-patches @ 2020-01-24 14:29 UTC (permalink / raw)
  To: Gdb-patches

Am Donnerstag, 23. Januar 2020, 22:55:20 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:

> I think I will wait a little while longer before pushing.

make install-strip doesn't work in gdbserver (it worked before indirectly
when called from within gdb).

I made it work again with these changes:

From a3cc5583ca738daa3fdb5805d0c7ab0734d28f41 Mon Sep 17 00:00:00 2001
From: Hannes Domani <ssbssa@yahoo.de>
Date: Fri, 24 Jan 2020 15:03:14 +0100
Subject: [PATCH] gdbserver install-strip

---
 gdbserver/Makefile.in  | 10 ++++++++++
 gdbserver/configure.ac |  1 +
 2 files changed, 11 insertions(+)

diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in
index 902d54cfe5..4f9196227c 100644
--- a/gdbserver/Makefile.in
+++ b/gdbserver/Makefile.in
@@ -45,11 +45,14 @@ htmldir = $(prefix)/html
 includedir = @includedir@
 CONFIG_SRC_SUBDIR = @CONFIG_SRC_SUBDIR@
 
+install_sh = @install_sh@
+
 SHELL = @SHELL@
 EXEEXT = @EXEEXT@
 
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 RANLIB = @RANLIB@
 
@@ -58,6 +61,7 @@ CXX = @CXX@
 CXX_DIALECT = @CXX_DIALECT@
 AR = @AR@
 AR_FLAGS = rc
+STRIP = @STRIP@
 
 # Dependency tracking information.
 DEPMODE = @CCDEPMODE@
@@ -394,6 +398,12 @@ install-only:
     # in libiberty.
     @$(MAKE) $(FLAGS_TO_PASS) DO=install "DODIRS=$(SUBDIRS)" subdir_do
 
+install-strip:
+    $(MAKE) $(FLAGS_TO_PASS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+      install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+      `test -z '$(STRIP)' || \
+        echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install-only
+
 uninstall: force
     n=`echo gdbserver | sed '$(program_transform_name)'`; \
     if [ x$$n = x ]; then n=gdbserver; else true; fi; \
diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac
index 24b832b90e..b7ed8050fc 100644
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -27,6 +27,7 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_GNU_SOURCE
 AC_SYS_LARGEFILE
+AM_PROG_INSTALL_STRIP
 
 AC_CANONICAL_SYSTEM
 
--
2.15.1.windows.2

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 14:29     ` Hannes Domani via gdb-patches
@ 2020-01-24 15:12       ` Tom Tromey
  2020-01-24 15:57         ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-24 15:12 UTC (permalink / raw)
  To: Hannes Domani via gdb-patches; +Cc: Hannes Domani

>>>>> "Hannes" == Hannes Domani via gdb-patches <gdb-patches@sourceware.org> writes:

Hannes> Am Donnerstag, 23. Januar 2020, 22:55:20 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:
>> I think I will wait a little while longer before pushing.

Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
Hannes> when called from within gdb).

Thanks.  I'll pull this in.

Maybe when the move is complete, and when gdbserver is not building its
own copies of the libraries, I'll switch gdbserver to use Automake.
This would provide a lot of these things for free.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-19 20:07 [PATCH] Move gdbserver to top level Tom Tromey
  2020-01-21  5:34 ` Simon Marchi
@ 2020-01-24 15:23 ` Pedro Alves
  2020-01-25  0:07   ` Tom Tromey
  1 sibling, 1 reply; 45+ messages in thread
From: Pedro Alves @ 2020-01-24 15:23 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

On 1/19/20 7:13 PM, Tom Tromey wrote:
>  
> +# Only allow gdbserver on some systems.
> +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
> +	;;
> +or1k*-*-linux*)
> +	# Target: OpenCores OpenRISC 1000 32-bit running Linux
> +	build_gdbserver=yes
> +	;;
> +
> +powerpc*-*-linux*)
> +	# Target: PowerPC running Linux
> +	build_gdbserver=yes
> +	;;
> +s390*-*-linux*)
> +	# Target: S390 running Linux
> +	build_gdbserver=yes
> +	;;
> +score-*-*)
> +	# Target: S+core embedded system
> +	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
> +
> +if test "x$build_gdbserver" = x; then
> +  noconfigdirs="$noconfigdirs gdbserver"
> +fi

This should really be done by sourcing a file in gdbserver/
If we do that, then the info about whether a system supports
gdbserver is contained under gdbserver/, and does not
require syncing with gcc whenever is changes.

See the section starting at:

  # Disable libatomic on unsupported systems.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 15:12       ` Tom Tromey
@ 2020-01-24 15:57         ` Tom Tromey
  2020-01-24 16:02           ` Hannes Domani via gdb-patches
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-24 15:57 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Hannes Domani via gdb-patches, Hannes Domani

Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
Hannes> when called from within gdb).

Tom> Thanks.  I'll pull this in.

Actually, it seems like this could go in now.
Would you mind arranging that?

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 15:57         ` Tom Tromey
@ 2020-01-24 16:02           ` Hannes Domani via gdb-patches
  2020-01-24 16:28             ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Hannes Domani via gdb-patches @ 2020-01-24 16:02 UTC (permalink / raw)
  To: Gdb-patches

Am Freitag, 24. Januar 2020, 16:49:26 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:

> Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
> Hannes> when called from within gdb).
>
> Tom> Thanks.  I'll pull this in.
>
> Actually, it seems like this could go in now.
> Would you mind arranging that?

I'm not sure what you mean.

Pushing your patch?

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 16:02           ` Hannes Domani via gdb-patches
@ 2020-01-24 16:28             ` Tom Tromey
  2020-01-24 16:35               ` Hannes Domani via gdb-patches
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-24 16:28 UTC (permalink / raw)
  To: Hannes Domani via gdb-patches; +Cc: Hannes Domani

>>>>> "Hannes" == Hannes Domani via gdb-patches <gdb-patches@sourceware.org> writes:

Hannes> Am Freitag, 24. Januar 2020, 16:49:26 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:
Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
Hannes> when called from within gdb).
>> 
Tom> Thanks.  I'll pull this in.
>> 
>> Actually, it seems like this could go in now.
>> Would you mind arranging that?

Hannes> I'm not sure what you mean.

Hannes> Pushing your patch?

Applying your "make install-strip" gdbserver to trunk.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 16:28             ` Tom Tromey
@ 2020-01-24 16:35               ` Hannes Domani via gdb-patches
  2020-01-24 19:03                 ` Hannes Domani via gdb-patches
  0 siblings, 1 reply; 45+ messages in thread
From: Hannes Domani via gdb-patches @ 2020-01-24 16:35 UTC (permalink / raw)
  To: Gdb-patches

 Am Freitag, 24. Januar 2020, 17:24:34 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:

> >>>>> "Hannes" == Hannes Domani via gdb-patches <gdb-patches@sourceware.org> writes:
>
> Hannes> Am Freitag, 24. Januar 2020, 16:49:26 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:
> Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
> Hannes> when called from within gdb).
> >>
> Tom> Thanks.  I'll pull this in.
> >>
> >> Actually, it seems like this could go in now.
> >> Would you mind arranging that?
>
> Hannes> I'm not sure what you mean.
>
> Hannes> Pushing your patch?
>
> Applying your "make install-strip" gdbserver to trunk.

Oooh, yes, that makes a lot more sense.

Ok, I will do that.


Regards
Hannes Domani

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 16:35               ` Hannes Domani via gdb-patches
@ 2020-01-24 19:03                 ` Hannes Domani via gdb-patches
  0 siblings, 0 replies; 45+ messages in thread
From: Hannes Domani via gdb-patches @ 2020-01-24 19:03 UTC (permalink / raw)
  To: Gdb-patches

 Am Freitag, 24. Januar 2020, 17:28:57 MEZ hat Hannes Domani via gdb-patches <gdb-patches@sourceware.org> Folgendes geschrieben:

> Am Freitag, 24. Januar 2020, 17:24:34 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:
>
> > >>>>> "Hannes" == Hannes Domani via gdb-patches <gdb-patches@sourceware.org> writes:
> >
> > Hannes> Am Freitag, 24. Januar 2020, 16:49:26 MEZ hat Tom Tromey <tom@tromey.com> Folgendes geschrieben:
> > Hannes> make install-strip doesn't work in gdbserver (it worked before indirectly
> > Hannes> when called from within gdb).
> > >>
> > Tom> Thanks.  I'll pull this in.
> > >>
> > >> Actually, it seems like this could go in now.
> > >> Would you mind arranging that?
> >
> > Hannes> I'm not sure what you mean.
> >
> > Hannes> Pushing your patch?
> >
> > Applying your "make install-strip" gdbserver to trunk.
>
> Oooh, yes, that makes a lot more sense.
>
> Ok, I will do that.

I've pushed this now.


Regards
Hannes Domani

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-24 15:23 ` Pedro Alves
@ 2020-01-25  0:07   ` Tom Tromey
  2020-01-25 16:55     ` Pedro Alves
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-25  0:07 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

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

Pedro> This should really be done by sourcing a file in gdbserver/
Pedro> If we do that, then the info about whether a system supports
Pedro> gdbserver is contained under gdbserver/, and does not
Pedro> require syncing with gcc whenever is changes.

Good idea, I've made this change.  Here's an updated patch.

As before, I've removed the generated files.

If you want to test it, it is in submit/move-gdbserver-to-top on my
github.

Tom

commit e955b27d1badb4c36f2823b3363c5828b7889003
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.
    
    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.
    
    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.
    
    Tested by the buildbot.
    
    ChangeLog
    2020-01-24  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-24  Tom Tromey  <tom@tromey.com>
    
            * 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..a67383d867b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-01-24  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..de35083d81e 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; };
@@ -409,6 +410,12 @@ dependencies = { module=all-gdb; on=all-libdecnumber; };
 dependencies = { module=all-gdb; on=all-libtermcap; };
 dependencies = { module=all-gdb; on=all-libctf; };
 
+// Host modules specific to gdbserver.
+dependencies = { module=configure-gdbserver; on=all-intl; };
+// Depend on all-libiconv so that configure checks for iconv
+// functions will work.
+dependencies = { module=configure-gdbserver; on=all-libiconv; };
+
 dependencies = { module=configure-libgui; on=configure-tcl; };
 dependencies = { module=configure-libgui; on=configure-tk; };
 dependencies = { module=all-libgui; on=all-tcl; };
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 16d16ef6dca..18193a9c18e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2020-01-24  Tom Tromey  <tom@tromey.com>
+
+	* 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-24  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/25410
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/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..186d96f7ef9 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,17 @@
+2020-01-24  Tom Tromey  <tom@tromey.com>
+
+	* 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 100%
rename from gdb/gdbserver/README
rename to gdbserver/README
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

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-25  0:07   ` Tom Tromey
@ 2020-01-25 16:55     ` Pedro Alves
  2020-01-26 16:01       ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Pedro Alves @ 2020-01-25 16:55 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On 1/24/20 10:54 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
> 
> Pedro> This should really be done by sourcing a file in gdbserver/
> Pedro> If we do that, then the info about whether a system supports
> Pedro> gdbserver is contained under gdbserver/, and does not
> Pedro> require syncing with gcc whenever is changes.
> 
> Good idea, I've made this change.  Here's an updated patch.
> 
> As before, I've removed the generated files.
> 
> If you want to test it, it is in submit/move-gdbserver-to-top on my
> github.

Thanks!  I poked at it a bit.  I think this looks good, though I
have a comment on the dependencies below.

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

>  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..de35083d81e 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; };
> @@ -409,6 +410,12 @@ dependencies = { module=all-gdb; on=all-libdecnumber; };
>  dependencies = { module=all-gdb; on=all-libtermcap; };
>  dependencies = { module=all-gdb; on=all-libctf; };
>  
> +// Host modules specific to gdbserver.
> +dependencies = { module=configure-gdbserver; on=all-intl; };

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

> +// Depend on all-libiconv so that configure checks for iconv
> +// functions will work.
> +dependencies = { module=configure-gdbserver; on=all-libiconv; };
> +

Likewise curious.  Can you clarify where the configure checks
come from?

Locally I removed the intl and iconv dependencies and the
resulting gdbserver (w/ make all-gdbserver) was identical byte
for byte for me.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-25 16:55     ` Pedro Alves
@ 2020-01-26 16:01       ` Tom Tromey
  2020-01-27 18:13         ` Pedro Alves
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-01-26 16:01 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

>>>>> "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

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-26 16:01       ` Tom Tromey
@ 2020-01-27 18:13         ` Pedro Alves
  2020-01-28  0:37           ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Pedro Alves @ 2020-01-27 18:13 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On 1/26/20 3:41 PM, Tom Tromey wrote:
>>>>>> "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.

Thanks.

> 
> 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.

Thanks.

> +# 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

Some tabs vs spaces mixup above.  (But see below.)

> --- 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.)
> +

On a git checkout, configuring with:

 configure \
 --disable-binutils \
 --disable-ld \
 --disable-gas \
 --disable-gprof \
 --disable-gold \
 --disable-gdb

and compiling with '$ make', still builds a number of top level directories
other than gdbserver.  We end up with this in the top level Makefile.in:

 SUBDIRS =  intl libiberty opcodes bfd readline zlib libdecnumber libctf sim gdbserver etc

So to build just gdbserver, you'd need to add a --disable-foo for each of those above
in addition to the ones already indicated, something like:

 configure \
 --disable-binutils \
 --disable-ld \
 --disable-gas \
 --disable-gprof \
 --disable-gold \
 --disable-gdb \
 --disable-intl \
 --disable-libiberty \
 --disable-opcodes \
 --disable-bfd \
 --disable-readline \
 --disable-zlib \
 --disable-libdecnumber \
 --disable-libctf \
 --disable-sim \
 --disable-etc


I guess it's the intended design for top level to build readline, bfd,
etc.  by default even if no application is being built that depends
on them.  I don't know.

People may trip on this if they try to build gdbserver for a port for which
one of those top level dirs doesn't build, like bfd.  powerpc-lynxos is 
I think one such case, but there are probably others in the non-glibc space,
and also off tree.

However, a configure command, followed by "make all-gdbserver" builds only
gdbserver and its required dependencies (which are none at the moment).

So I'm thinking that it might be better to document "make all-gdbserver" instead
of the --disable approach.  Or at least, mention it as alternative.  WDYT?


>  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:

> index 00000000000..86d3a80148d
> --- /dev/null
> +++ b/gdbserver/configure.host

I noticed something about this file that made me look a bit more
and I have a couple questions, including a patch.

I noticed that several directories already contain a file named
configure.host, including gdb:

 $ find . -name configure.host
 ./gdb/configure.host
 ./ld/configure.host
 ./gdbserver/configure.host
 ./bfd/configure.host

And in gdb's ld's and bfd's case, this file is sourced
by the respective directory's configure script, not by
the top level script.  If we wanted to migrate gdb's top
configure bits to source a new file from gdb/ to determine
whether gdb is supported, like gdbserver, we wouldn't
be able to call the new "do we support gdb on this host"
configure snippet file gdb/configure.host, since that
file already exists with a different purpose.  Likewise
for ld and bfd.  So, with that in mind, should we name
gdbserver's new configure.host file to something else?

However, looking at how libatomic, liboffloadmic, etc.
handle this at the top level, I see that the top level
sources a file that is also sourced by their respective
configures.  I.e., the file sourced served a dual purpose.
From the top level, the file is sourced in subshell, which
avoids variable polluting the top level.  This has the advantage
that you only have to write support for a port once in one file,
instead of in two places.

The equivalent for gdbserver would be the patch below,
which seems to work well.  Was there a reason you didn't follow
libatomic's (etc.) model?

From 0a8e011249c5d887886b1e06d5b3b774bd6f9d10 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Mon, 27 Jan 2020 12:53:10 +0000
Subject: [PATCH] UNSUPPORTED

---
 configure                |  18 ++++----
 configure.ac             |  16 ++++---
 gdbserver/configure.host | 111 -----------------------------------------------
 gdbserver/configure.srv  |  12 +++--
 4 files changed, 27 insertions(+), 130 deletions(-)
 delete mode 100644 gdbserver/configure.host

diff --git a/configure b/configure
index c31220e8e75..8a3e7026f0b 100755
--- a/configure
+++ b/configure
@@ -3541,17 +3541,19 @@ esac
 # Only allow gdbserver on some systems.
 if test -d ${srcdir}/gdbserver; then
     if test x$enable_gdbserver = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdbserver support" >&5
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdbserver support" >&5
 $as_echo_n "checking for gdbserver support... " >&6; }
-	. ${srcdir}/gdbserver/configure.host
-	if test x$build_gdbserver = xyes; then
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	else
-            noconfigdirs="$noconfigdirs gdbserver"
+	if (srcdir=${srcdir}/gdbserver; \
+		. ${srcdir}/configure.srv; \
+		test -n "$UNSUPPORTED")
+	then
 	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-        fi
+	    noconfigdirs="$noconfigdirs gdbserver"
+	else
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	fi
     fi
 fi
 
diff --git a/configure.ac b/configure.ac
index 40669228e3c..35a9c1867d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -785,14 +785,16 @@ 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_CHECKING([for gdbserver support])
+	if (srcdir=${srcdir}/gdbserver; \
+		. ${srcdir}/configure.srv; \
+		test -n "$UNSUPPORTED")
+	then
 	    AC_MSG_RESULT([no])
-        fi
+	    noconfigdirs="$noconfigdirs gdbserver"
+	else
+	    AC_MSG_RESULT([yes])
+	fi
     fi
 fi
 
diff --git a/gdbserver/configure.host b/gdbserver/configure.host
deleted file mode 100644
index 86d3a80148d..00000000000
--- a/gdbserver/configure.host
+++ /dev/null
@@ -1,111 +0,0 @@
-# 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/gdbserver/configure.srv b/gdbserver/configure.srv
index 8437c1ace06..52264be8ecd 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -1,6 +1,8 @@
 # Mappings from configuration triplets to gdbserver build options.
 # This is invoked from the autoconf-generated configure script, to
 # produce the appropriate Makefile substitutions.
+# It is also sourced by the top level configure script, to determine
+# whether gdbserver is supported on a given host.
 
 # This file sets the following shell variables:
 #   srv_regobj		The register protocol appropriate for this target.
@@ -12,6 +14,7 @@
 #			gdbserver in this configuration.
 #   ipa_obj		Any other target-specific modules appropriate
 #			for this target's in-process agent.
+#   UNSUPPORTED         Set to 1 if the host is unsupported.
 #
 # In addition, on GNU/Linux the following shell variables will be set:
 #   srv_linux_regsets	Set to "yes" if ptrace(PTRACE_GETREGS) and friends
@@ -30,9 +33,9 @@ ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-
 # these files over and over again.
 srv_linux_obj="linux-low.o nat/linux-osdata.o nat/linux-procfs.o nat/linux-ptrace.o nat/linux-waitpid.o nat/linux-personality.o nat/linux-namespaces.o fork-child.o nat/fork-inferior.o"
 
-# Input is taken from the "${target}" variable.
+# Input is taken from the "${host}" variable.
 
-case "${target}" in
+case "${host}" in
   aarch64*-*-linux*)	srv_tgtobj="linux-aarch64-low.o"
 			srv_tgtobj="$srv_tgtobj nat/aarch64-linux-hw-point.o"
 			srv_tgtobj="$srv_tgtobj linux-aarch32-low.o"
@@ -395,7 +398,8 @@ case "${target}" in
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			;;
-  *)			echo "Error: target not supported by gdbserver."
-			exit 1
+  *)
+			# Who are you?
+			UNSUPPORTED=1
 			;;
 esac

base-commit: 4c5c9a7a0b64c98f60c2ab79ad705d14ea568d0f
-- 
2.14.5

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-27 18:13         ` Pedro Alves
@ 2020-01-28  0:37           ` Tom Tromey
  2020-01-28 14:28             ` Pedro Alves
  2020-02-03 21:34             ` Tom Tromey
  0 siblings, 2 replies; 45+ messages in thread
From: Tom Tromey @ 2020-01-28  0:37 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

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

Pedro> I guess it's the intended design for top level to build readline, bfd,
Pedro> etc.  by default even if no application is being built that depends
Pedro> on them.  I don't know.

Me neither, but it seems to me that we could try to change it.  My
mental model is that there are certain top-level build targets (gdb, or
binutils) and the rest are just dependencies of those.  So, we could try
not to build these dependencies unless there's a need.

Pedro> People may trip on this if they try to build gdbserver for a port
Pedro> for which one of those top level dirs doesn't build, like bfd.
Pedro> powerpc-lynxos is I think one such case, but there are probably
Pedro> others in the non-glibc space, and also off tree.

FWIW there is a problem here I haven't solved yet.  Right now, the
top-level gdbsupport depends on BFD.  This is needed for common-types.h.

However, this introduces a conflict if we want to share the top-level
gdbsupport with gdbserver.

I'm not totally sure what to do here.  Maybe we could replicate the BFD
type-configury code?  Like, break it out into a new .m4 file for
sharing.  It's been a while though, so I forget why, but I thought I had
some reason this wouldn't work.

Pedro> So I'm thinking that it might be better to document "make
Pedro> all-gdbserver" instead of the --disable approach.  Or at least,
Pedro> mention it as alternative.  WDYT?

Makes sense, though I may take a stab at fixing the top-level instead.

Pedro> However, looking at how libatomic, liboffloadmic, etc.
Pedro> handle this at the top level, I see that the top level
Pedro> sources a file that is also sourced by their respective
Pedro> configures.  I.e., the file sourced served a dual purpose.
Pedro> From the top level, the file is sourced in subshell, which
Pedro> avoids variable polluting the top level.  This has the advantage
Pedro> that you only have to write support for a port once in one file,
Pedro> instead of in two places.

Pedro> The equivalent for gdbserver would be the patch below,
Pedro> which seems to work well.  Was there a reason you didn't follow
Pedro> libatomic's (etc.) model?

I just didn't think of it.  I like your idea better, though, because it
means not duplicating information.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-28  0:37           ` Tom Tromey
@ 2020-01-28 14:28             ` Pedro Alves
  2020-02-03 21:34             ` Tom Tromey
  1 sibling, 0 replies; 45+ messages in thread
From: Pedro Alves @ 2020-01-28 14:28 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On 1/27/20 9:28 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
> 
> Pedro> I guess it's the intended design for top level to build readline, bfd,
> Pedro> etc.  by default even if no application is being built that depends
> Pedro> on them.  I don't know.
> 
> Me neither, but it seems to me that we could try to change it.  My
> mental model is that there are certain top-level build targets (gdb, or
> binutils) and the rest are just dependencies of those.  So, we could try
> not to build these dependencies unless there's a need.

That was my model as well.  I had never noticed it was different until
now.

> 
> Pedro> People may trip on this if they try to build gdbserver for a port
> Pedro> for which one of those top level dirs doesn't build, like bfd.
> Pedro> powerpc-lynxos is I think one such case, but there are probably
> Pedro> others in the non-glibc space, and also off tree.
> 
> FWIW there is a problem here I haven't solved yet.  Right now, the
> top-level gdbsupport depends on BFD.  This is needed for common-types.h.
> 
> However, this introduces a conflict if we want to share the top-level
> gdbsupport with gdbserver.
> 
> I'm not totally sure what to do here.  Maybe we could replicate the BFD
> type-configury code?  Like, break it out into a new .m4 file for
> sharing.  It's been a while though, so I forget why, but I thought I had
> some reason this wouldn't work.

Yeah.

For ULONGEST/LONGEST, I think we can just assume long long or uint64_t
is available nowadays instead of relying on bfd.  We have been using
long long and uint64_t in common code for quite a while and nobody
has complained.

I think the main thing is CORE_ADDR/bfd_vma.  For that, I'm not sure
either.  Sharing the type-configury with an .m4 should work, I think.

Another option is to use the gdbserver version of the types on gdb as well,
in effect assuming 64-bit CORE_ADDR even on 32-bit hosts.  There may be
some fallout in some code assuming bfd_vma == CORE_ADDR, but probably not
that much.  

I'm not sure whether that would cause a significant performance/memory
degradation on 32-bit hosts for using 64-bit CORE_ADDR, significant enough
to worry about it.  I'm inclined to think that it isn't.  That the main
motivation for the type-configury was that 32-bit compilers in the old days
didn't support 64-bit types.  It's effectively the same as configuring
with --enable-64-bit-bfd.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-01-28  0:37           ` Tom Tromey
  2020-01-28 14:28             ` Pedro Alves
@ 2020-02-03 21:34             ` Tom Tromey
  2020-02-07 16:06               ` Simon Marchi
                                 ` (3 more replies)
  1 sibling, 4 replies; 45+ messages in thread
From: Tom Tromey @ 2020-02-03 21:34 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

Pedro> I guess it's the intended design for top level to build readline, bfd,
Pedro> etc.  by default even if no application is being built that depends
Pedro> on them.  I don't know.

[...]

Pedro> So I'm thinking that it might be better to document "make
Pedro> all-gdbserver" instead of the --disable approach.  Or at least,
Pedro> mention it as alternative.  WDYT?

Tom> Makes sense, though I may take a stab at fixing the top-level instead.

We talked about this at FOSDEM and Pedro convinced me to just go ahead
with the documentation change and the move, and consider changing the
top-level configury later.

Pedro> The equivalent for gdbserver would be the patch below,
Pedro> which seems to work well.  Was there a reason you didn't follow
Pedro> libatomic's (etc.) model?

Tom> I just didn't think of it.  I like your idea better, though, because it
Tom> means not duplicating information.

I've pulled this patch into mine.

I'm going to push it tomorrow or the day after, unless there's some
objection.

thanks,
Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-03 21:34             ` Tom Tromey
@ 2020-02-07 16:06               ` Simon Marchi
  2020-02-09 13:59               ` Tom de Vries
                                 ` (2 subsequent siblings)
  3 siblings, 0 replies; 45+ messages in thread
From: Simon Marchi @ 2020-02-07 16:06 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

On 2020-02-03 4:34 p.m., Tom Tromey wrote:
> Pedro> I guess it's the intended design for top level to build readline, bfd,
> Pedro> etc.  by default even if no application is being built that depends
> Pedro> on them.  I don't know.
> 
> [...]
> 
> Pedro> So I'm thinking that it might be better to document "make
> Pedro> all-gdbserver" instead of the --disable approach.  Or at least,
> Pedro> mention it as alternative.  WDYT?
> 
> Tom> Makes sense, though I may take a stab at fixing the top-level instead.
> 
> We talked about this at FOSDEM and Pedro convinced me to just go ahead
> with the documentation change and the move, and consider changing the
> top-level configury later.
> 
> Pedro> The equivalent for gdbserver would be the patch below,
> Pedro> which seems to work well.  Was there a reason you didn't follow
> Pedro> libatomic's (etc.) model?
> 
> Tom> I just didn't think of it.  I like your idea better, though, because it
> Tom> means not duplicating information.
> 
> I've pulled this patch into mine.
> 
> I'm going to push it tomorrow or the day after, unless there's some
> objection.

I have no objection.  I think for a big change like that we have to expect we'll
get some things wrong that we'll need to fix afterwards, no big deal.

It was suggested (on IRC, maybe on the mailing list too) that since we have moved
the gdbsupport directory, and are moving the gdbserver directory, we should take
the opportunity to rename these source files to .cc/.cxx/.cpp.  I also have no objection
to that.

Simon

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-03 21:34             ` Tom Tromey
  2020-02-07 16:06               ` Simon Marchi
@ 2020-02-09 13:59               ` Tom de Vries
  2020-02-09 14:17                 ` Tom de Vries
  2020-02-09 23:05               ` [PATCH] Move gdbserver to top level Alan Modra
  2020-02-10  9:52               ` Andreas Schwab
  3 siblings, 1 reply; 45+ messages in thread
From: Tom de Vries @ 2020-02-09 13:59 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

On 03-02-2020 22:34, Tom Tromey wrote:
> I'm going to push it tomorrow or the day after, unless there's some
> objection.

Hi,

FYI, starting this commit, I'm running into:
...
(gdb) PASS: gdb.multi/multi-target.exp: continue: non-stop=off: set
remote-exec file in inferior 2
spawn of  --once --multi localhost:2346 failed
ERROR: tcl error sourcing
/data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp.
ERROR: Timeout waiting for gdbserver response.
    while executing
"error "Timeout waiting for gdbserver response.""
    invoked from within
"expect {
            -i $server_spawn_id
            -timeout 120
            -notransfer
            -re "Listening on" { }
            -re "Can't (bind address|listen on socket): Addr..."
    (procedure "gdbserver_start" line 120)
    invoked from within
"gdbserver_start "--multi" """
    (procedure "connect_target_extended_remote" line 2)
    invoked from within
"connect_target_extended_remote $binfile"
    (procedure "add_inferior" line 14)
    invoked from within
"add_inferior 2 "extended-remote" $binfile"
    (procedure "setup" line 25)
    invoked from within
"setup ${non-stop}"
    (procedure "test_continue" line 2)
    invoked from within
"test_continue ${non-stop}"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $body"
    invoked from within
"foreach_with_prefix non-stop {"off" "on"} {
        test_continue ${non-stop}
    }"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $body"
    invoked from within
"with_test_prefix "continue" {
    foreach_with_prefix non-stop {"off" "on"} {
        test_continue ${non-stop}
    }
}"
    (file
"/data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp"
line 425)
    invoked from within
"source
/data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source
/data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""
monitor exit
"monitor" command not supported by this target.
(gdb) testcase
/data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp
completed in 130 seconds

                === gdb Summary ===

# of expected passes            8
...

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-09 13:59               ` Tom de Vries
@ 2020-02-09 14:17                 ` Tom de Vries
  2020-02-10 10:01                   ` Tom de Vries
  2020-02-10 10:59                   ` [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver Tom de Vries
  0 siblings, 2 replies; 45+ messages in thread
From: Tom de Vries @ 2020-02-09 14:17 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

On 09-02-2020 14:59, Tom de Vries wrote:
> On 03-02-2020 22:34, Tom Tromey wrote:
>> I'm going to push it tomorrow or the day after, unless there's some
>> objection.
> 
> Hi,
> 
> FYI, starting this commit, I'm running into:
> ...
> (gdb) PASS: gdb.multi/multi-target.exp: continue: non-stop=off: set
> remote-exec file in inferior 2
> spawn of  --once --multi localhost:2346 failed
> ERROR: tcl error sourcing
> /data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp.
> ERROR: Timeout waiting for gdbserver response.

Looking at other tests that use gdbserver, I guess this is missing:
...
diff --git a/gdb/testsuite/gdb.multi/multi-target.exp
b/gdb/testsuite/gdb.multi/multi-target.exp
index 3588eb4d76..6c727b5e3b 100644
--- a/gdb/testsuite/gdb.multi/multi-target.exp
+++ b/gdb/testsuite/gdb.multi/multi-target.exp
@@ -17,6 +17,10 @@

 load_lib gdbserver-support.exp

+if { [skip_gdbserver_tests] } {
+    return 0
+}
+
 standard_testfile

 # The plain remote target can't do multiple inferiors.

...

[ It would be nice though if the gdbserver tests will work again, given
that I'm actually building gdbserver. ]

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-03 21:34             ` Tom Tromey
  2020-02-07 16:06               ` Simon Marchi
  2020-02-09 13:59               ` Tom de Vries
@ 2020-02-09 23:05               ` Alan Modra
  2020-02-10 12:02                 ` Pedro Alves
  2020-02-10  9:52               ` Andreas Schwab
  3 siblings, 1 reply; 45+ messages in thread
From: Alan Modra @ 2020-02-09 23:05 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

On Mon, Feb 03, 2020 at 10:34:30PM +0100, Tom Tromey wrote:
> I'm going to push it tomorrow or the day after, unless there's some
> objection.

I'm noticing all my binutils builds have this new directory being
built.  I suppose I can just add --disable-gdbserver, but should
--disable-gdb also disable gdbserver?

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-03 21:34             ` Tom Tromey
                                 ` (2 preceding siblings ...)
  2020-02-09 23:05               ` [PATCH] Move gdbserver to top level Alan Modra
@ 2020-02-10  9:52               ` Andreas Schwab
  2020-02-10 12:13                 ` Pedro Alves
  3 siblings, 1 reply; 45+ messages in thread
From: Andreas Schwab @ 2020-02-10  9:52 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

Should gdbserver be disabled automatically when building with a cross
compiler?

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-09 14:17                 ` Tom de Vries
@ 2020-02-10 10:01                   ` Tom de Vries
  2020-02-10 15:54                     ` Sergio Durigan Junior
  2020-02-10 10:59                   ` [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver Tom de Vries
  1 sibling, 1 reply; 45+ messages in thread
From: Tom de Vries @ 2020-02-10 10:01 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches, Sergio Durigan Junior

On 09-02-2020 15:17, Tom de Vries wrote:
> [ It would be nice though if the gdbserver tests will work again, given
> that I'm actually building gdbserver. ]

Hmm, I noticed that also on the buildbot (
https://sourceware.org/ml/gdb-testers/2020-q1/msg03282.html ) we no
longer run the gdb.server tests:
...
Running
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/abspath.exp
...
testcase
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/abspath.exp
completed in 0 seconds

Running
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
...
testcase
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
completed in 0 seconds

Running
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/connect-stopped-target.exp
...
testcase
/home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/connect-stopped-target.exp
completed in 0 seconds
...

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver
  2020-02-09 14:17                 ` Tom de Vries
  2020-02-10 10:01                   ` Tom de Vries
@ 2020-02-10 10:59                   ` Tom de Vries
  2020-02-10 12:20                     ` Pedro Alves
  1 sibling, 1 reply; 45+ messages in thread
From: Tom de Vries @ 2020-02-10 10:59 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, gdb-patches

[-- Attachment #1: Type: text/plain, Size: 1323 bytes --]

[ was: Re: [PATCH] Move gdbserver to top level ]
On 09-02-2020 15:17, Tom de Vries wrote:
> On 09-02-2020 14:59, Tom de Vries wrote:
>> On 03-02-2020 22:34, Tom Tromey wrote:
>>> I'm going to push it tomorrow or the day after, unless there's some
>>> objection.
>>
>> Hi,
>>
>> FYI, starting this commit, I'm running into:
>> ...
>> (gdb) PASS: gdb.multi/multi-target.exp: continue: non-stop=off: set
>> remote-exec file in inferior 2
>> spawn of  --once --multi localhost:2346 failed
>> ERROR: tcl error sourcing
>> /data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp.
>> ERROR: Timeout waiting for gdbserver response.
> 
> Looking at other tests that use gdbserver, I guess this is missing:
> ...
> diff --git a/gdb/testsuite/gdb.multi/multi-target.exp
> b/gdb/testsuite/gdb.multi/multi-target.exp
> index 3588eb4d76..6c727b5e3b 100644
> --- a/gdb/testsuite/gdb.multi/multi-target.exp
> +++ b/gdb/testsuite/gdb.multi/multi-target.exp
> @@ -17,6 +17,10 @@
> 
>  load_lib gdbserver-support.exp
> 
> +if { [skip_gdbserver_tests] } {
> +    return 0
> +}
> +
>  standard_testfile
> 
>  # The plain remote target can't do multiple inferiors.
> 
> ...

This is an unrelated issue though, I can reproduce it before this commit
with --disable-gdbserver.

Fixed by attached patch.

OK for trunk?

Thanks,
- Tom


[-- Attachment #2: 0001-gdb-testsuite-Skip-multi-target.exp-without-gdbserver.patch --]
[-- Type: text/x-patch, Size: 1230 bytes --]

[gdb/testsuite] Skip multi-target.exp without gdbserver

Pre-commit 919adfe840 "Move gdbserver to top level", if we build gdb with
--disable-gdbserver, and run test-case gdb.multi/multi-target.exp, we run
into:
...
(gdb) PASS: gdb.multi/multi-target.exp: continue: non-stop=off: set remote-exec file in inferior 2
spawn of  --once --multi localhost:2346 failed
ERROR: tcl error sourcing /data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-target.exp.
ERROR: Timeout waiting for gdbserver response.
...

Fix this by using skip_gdbserver_tests in multi-target.exp.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-02-10  Tom de Vries  <tdevries@suse.de>

	* gdb.multi/multi-target.exp: Skip if skip_gdbserver_tests.

---
 gdb/testsuite/gdb.multi/multi-target.exp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gdb/testsuite/gdb.multi/multi-target.exp b/gdb/testsuite/gdb.multi/multi-target.exp
index 3588eb4d76..6c727b5e3b 100644
--- a/gdb/testsuite/gdb.multi/multi-target.exp
+++ b/gdb/testsuite/gdb.multi/multi-target.exp
@@ -17,6 +17,10 @@
 
 load_lib gdbserver-support.exp
 
+if { [skip_gdbserver_tests] } {
+    return 0
+}
+
 standard_testfile
 
 # The plain remote target can't do multiple inferiors.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-09 23:05               ` [PATCH] Move gdbserver to top level Alan Modra
@ 2020-02-10 12:02                 ` Pedro Alves
  0 siblings, 0 replies; 45+ messages in thread
From: Pedro Alves @ 2020-02-10 12:02 UTC (permalink / raw)
  To: Alan Modra, Tom Tromey; +Cc: gdb-patches

On 2/9/20 11:05 PM, Alan Modra wrote:
> On Mon, Feb 03, 2020 at 10:34:30PM +0100, Tom Tromey wrote:
>> I'm going to push it tomorrow or the day after, unless there's some
>> objection.
> 
> I'm noticing all my binutils builds have this new directory being
> built.  I suppose I can just add --disable-gdbserver, but should
> --disable-gdb also disable gdbserver?

I don't think so.  That'd make gdbserver different from other
programs in the tree.  E.g., if you do --disable-binutils you
don't disable ld either.

See here for a somewhat related discussion:

 https://sourceware.org/ml/gdb-patches/2020-01/msg00881.html

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-10  9:52               ` Andreas Schwab
@ 2020-02-10 12:13                 ` Pedro Alves
  2020-02-10 13:04                   ` Andreas Schwab
  2020-02-10 13:15                   ` Andreas Schwab
  0 siblings, 2 replies; 45+ messages in thread
From: Pedro Alves @ 2020-02-10 12:13 UTC (permalink / raw)
  To: Andreas Schwab, Tom Tromey; +Cc: gdb-patches

On 2/10/20 9:52 AM, Andreas Schwab wrote:
> Should gdbserver be disabled automatically when building with a cross
> compiler?

I'm confused.  Why would we want to do that?

Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver
  2020-02-10 10:59                   ` [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver Tom de Vries
@ 2020-02-10 12:20                     ` Pedro Alves
  0 siblings, 0 replies; 45+ messages in thread
From: Pedro Alves @ 2020-02-10 12:20 UTC (permalink / raw)
  To: Tom de Vries, Tom Tromey; +Cc: gdb-patches

On 2/10/20 10:59 AM, Tom de Vries wrote:

> This is an unrelated issue though, I can reproduce it before this commit
> with --disable-gdbserver.
> 
> Fixed by attached patch.
> 
> OK for trunk?

OK.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-10 12:13                 ` Pedro Alves
@ 2020-02-10 13:04                   ` Andreas Schwab
  2020-02-10 13:15                   ` Andreas Schwab
  1 sibling, 0 replies; 45+ messages in thread
From: Andreas Schwab @ 2020-02-10 13:04 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

On Feb 10 2020, Pedro Alves wrote:

> On 2/10/20 9:52 AM, Andreas Schwab wrote:
>> Should gdbserver be disabled automatically when building with a cross
>> compiler?
>
> I'm confused.  Why would we want to do that?

That's what happend before the move.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-10 12:13                 ` Pedro Alves
  2020-02-10 13:04                   ` Andreas Schwab
@ 2020-02-10 13:15                   ` Andreas Schwab
  2020-02-11 13:48                     ` [PATCH] Disable gdbserver on host != target configurations (Re: [PATCH] Move gdbserver to top level) Pedro Alves
  1 sibling, 1 reply; 45+ messages in thread
From: Andreas Schwab @ 2020-02-10 13:15 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

On Feb 10 2020, Pedro Alves wrote:

> On 2/10/20 9:52 AM, Andreas Schwab wrote:
>> Should gdbserver be disabled automatically when building with a cross
>> compiler?
>
> I'm confused.  Why would we want to do that?

Actually what I mean is, when building a cross toolchain, host !=
target.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-10 10:01                   ` Tom de Vries
@ 2020-02-10 15:54                     ` Sergio Durigan Junior
  2020-02-12  0:55                       ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Sergio Durigan Junior @ 2020-02-10 15:54 UTC (permalink / raw)
  To: Tom de Vries; +Cc: Tom Tromey, Pedro Alves, gdb-patches

On Monday, February 10 2020, Tom de Vries wrote:

> On 09-02-2020 15:17, Tom de Vries wrote:
>> [ It would be nice though if the gdbserver tests will work again, given
>> that I'm actually building gdbserver. ]
>
> Hmm, I noticed that also on the buildbot (
> https://sourceware.org/ml/gdb-testers/2020-q1/msg03282.html ) we no
> longer run the gdb.server tests:
> ...
> Running
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/abspath.exp
> ...
> testcase
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/abspath.exp
> completed in 0 seconds
>
> Running
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
> ...
> testcase
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
> completed in 0 seconds
>
> Running
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/connect-stopped-target.exp
> ...
> testcase
> /home/gdb-buildbot-2/fedora-x86-64-2/fedora-x86-64/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.server/connect-stopped-target.exp
> completed in 0 seconds
> ...

I wonder why...  We build GDB from scratch on every build.  Is there
anything special that needs to be done to run the gdbserver tests now?

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [PATCH] Disable gdbserver on host != target configurations (Re: [PATCH] Move gdbserver to top level)
  2020-02-10 13:15                   ` Andreas Schwab
@ 2020-02-11 13:48                     ` Pedro Alves
  2020-02-11 15:29                       ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Pedro Alves @ 2020-02-11 13:48 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Tom Tromey, gdb-patches

On 2/10/20 1:15 PM, Andreas Schwab wrote:
> On Feb 10 2020, Pedro Alves wrote:
> 
>> On 2/10/20 9:52 AM, Andreas Schwab wrote:
>>> Should gdbserver be disabled automatically when building with a cross
>>> compiler?
>>
>> I'm confused.  Why would we want to do that?
> 
> Actually what I mean is, when building a cross toolchain, host !=
> target.

Ah, yes.  In that case gdbserver is not going to be useful to
debug the target.

This patch below works for me.

From 0299b2ba691937a69b1d0b69b830794584f894ff Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Tue, 11 Feb 2020 13:47:28 +0000
Subject: [PATCH] Disable gdbserver on host != target configurations

If we're building a cross toolchain, hosted on $host targetting
$target, it's useless to build gdbserver, since it runs on $host and
debugs $host programs, not $target programs.

We used to have, gdb/configure.ac:

 # 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
    ^^^^^^^^^^^^^^^^^^^^^^^^^^

and gdb_native is set like this in gdb/configure.ac:

 if test "${target}" = "${host}"; then
   gdb_native=yes
 else
   gdb_native=no
 fi

But that was lost in the top-level move.

This patch restores the old behavior of not building gdbserver in the
non-native case.

gdbserver/ChangeLog:
yyyy-mm-dd  Pedro Alves  <palves@redhat.com>

	* configure.srv: Set UNSUPPORTED if $target != $host.
---
 gdbserver/configure.srv | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
index 2e83cbdc07f..3bdddaabb20 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -33,7 +33,13 @@ ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-
 # these files over and over again.
 srv_linux_obj="linux-low.o nat/linux-osdata.o nat/linux-procfs.o nat/linux-ptrace.o nat/linux-waitpid.o nat/linux-personality.o nat/linux-namespaces.o fork-child.o nat/fork-inferior.o"
 
-# Input is taken from the "${host}" variable.
+# Input is taken from the "${host}" and "${target}" variables.
+
+# GDBserver can only debug native programs.
+if test "${target}" != "${host}"; then
+  UNSUPPORTED=1
+  exit 0
+fi
 
 case "${host}" in
   aarch64*-*-linux*)	srv_tgtobj="linux-aarch64-low.o"

base-commit: c675ec1e76bc6cbf47031cd89dda9d9a3ce4993c
-- 
2.14.5

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Disable gdbserver on host != target configurations (Re: [PATCH] Move gdbserver to top level)
  2020-02-11 13:48                     ` [PATCH] Disable gdbserver on host != target configurations (Re: [PATCH] Move gdbserver to top level) Pedro Alves
@ 2020-02-11 15:29                       ` Tom Tromey
  0 siblings, 0 replies; 45+ messages in thread
From: Tom Tromey @ 2020-02-11 15:29 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Andreas Schwab, Tom Tromey, gdb-patches

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

Pedro> gdbserver/ChangeLog:
Pedro> yyyy-mm-dd  Pedro Alves  <palves@redhat.com>

Pedro> 	* configure.srv: Set UNSUPPORTED if $target != $host.

Thanks for doing this.  I like this approach, because it keeps the
decision confined to gdbserver.

Please push it.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-10 15:54                     ` Sergio Durigan Junior
@ 2020-02-12  0:55                       ` Tom Tromey
  2020-02-12 16:47                         ` Sergio Durigan Junior
  2020-02-14  3:54                         ` Sergio Durigan Junior
  0 siblings, 2 replies; 45+ messages in thread
From: Tom Tromey @ 2020-02-12  0:55 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: Tom de Vries, Tom Tromey, Pedro Alves, gdb-patches

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:

Sergio> I wonder why...  We build GDB from scratch on every build.  Is there
Sergio> anything special that needs to be done to run the gdbserver tests now?

No, I just neglected to update the gdb test suite to find gdbserver in
the new spot.

I will send a patch momentarily.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-12  0:55                       ` Tom Tromey
@ 2020-02-12 16:47                         ` Sergio Durigan Junior
  2020-02-14  3:54                         ` Sergio Durigan Junior
  1 sibling, 0 replies; 45+ messages in thread
From: Sergio Durigan Junior @ 2020-02-12 16:47 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Tom de Vries, Pedro Alves, gdb-patches

On Tuesday, February 11 2020, Tom Tromey wrote:

>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>
> Sergio> I wonder why...  We build GDB from scratch on every build.  Is there
> Sergio> anything special that needs to be done to run the gdbserver tests now?
>
> No, I just neglected to update the gdb test suite to find gdbserver in
> the new spot.
>
> I will send a patch momentarily.

Thanks, Tom.

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-12  0:55                       ` Tom Tromey
  2020-02-12 16:47                         ` Sergio Durigan Junior
@ 2020-02-14  3:54                         ` Sergio Durigan Junior
  2020-02-14 18:43                           ` Tom Tromey
  1 sibling, 1 reply; 45+ messages in thread
From: Sergio Durigan Junior @ 2020-02-14  3:54 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Tom de Vries, Pedro Alves, gdb-patches

On Tuesday, February 11 2020, Tom Tromey wrote:

>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>
> Sergio> I wonder why...  We build GDB from scratch on every build.  Is there
> Sergio> anything special that needs to be done to run the gdbserver tests now?
>
> No, I just neglected to update the gdb test suite to find gdbserver in
> the new spot.
>
> I will send a patch momentarily.

I'm attaching a patch that works OK for me here.  WDYT?

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

From 219ed0823fdc0596be2ba79358b2fd22c2d5e333 Mon Sep 17 00:00:00 2001
From: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu, 13 Feb 2020 22:51:23 -0500
Subject: [PATCH] Adjust gdb_server_prog to the new gdbserver location

This patch adjusts 'gdb_server_prog' (from
testsuite/boards/gdbserver-base.exp) to point to the new location
where gdbserver lives.  This "unbreaks" the
native{,-extended}-gdbserver boards.

gdb/testsuite/ChangeLog:
2020-02-14  Sergio Durigan Junior  <sergiodj@redhat.com>

	* boards/gdbserver-base.exp: Adjust 'gdb_server_prog'.
---
 gdb/testsuite/boards/gdbserver-base.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/boards/gdbserver-base.exp b/gdb/testsuite/boards/gdbserver-base.exp
index 4db834dd84..f27a2fdf91 100644
--- a/gdb/testsuite/boards/gdbserver-base.exp
+++ b/gdb/testsuite/boards/gdbserver-base.exp
@@ -22,7 +22,7 @@ process_multilib_options ""
 set_board_info compiler "[find_gcc]"
 
 # Test the copy of gdbserver in the build directory.
-set_board_info gdb_server_prog "[pwd]/../gdbserver/gdbserver"
+set_board_info gdb_server_prog "[pwd]/../../gdbserver/gdbserver"
 
 # gdbserver does not intercept target file operations and perform them
 # on the host.
-- 
2.21.0

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-14  3:54                         ` Sergio Durigan Junior
@ 2020-02-14 18:43                           ` Tom Tromey
  2020-02-14 21:14                             ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-02-14 18:43 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: Tom Tromey, Tom de Vries, Pedro Alves, gdb-patches

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:

Sergio> I'm attaching a patch that works OK for me here.  WDYT?

This one includes that:

https://sourceware.org/ml/gdb-patches/2020-02/msg00426.html

I see that Luis responded.  I'll read that and see what's up.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-14 18:43                           ` Tom Tromey
@ 2020-02-14 21:14                             ` Tom Tromey
  2020-02-17 13:58                               ` Luis Machado
  0 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-02-14 21:14 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Sergio Durigan Junior, Tom de Vries, Pedro Alves, gdb-patches

>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
Sergio> I'm attaching a patch that works OK for me here.  WDYT?

Tom> This one includes that:

Tom> https://sourceware.org/ml/gdb-patches/2020-02/msg00426.html

Tom> I see that Luis responded.  I'll read that and see what's up.

I'm going to check it in now.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-14 21:14                             ` Tom Tromey
@ 2020-02-17 13:58                               ` Luis Machado
  2020-02-17 14:21                                 ` Maciej W. Rozycki
                                                   ` (2 more replies)
  0 siblings, 3 replies; 45+ messages in thread
From: Luis Machado @ 2020-02-17 13:58 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Sergio Durigan Junior, Tom de Vries, Pedro Alves, gdb-patches

Hi Tom,

On 2/14/20 6:14 PM, Tom Tromey wrote:
>>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
> 
>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
> Sergio> I'm attaching a patch that works OK for me here.  WDYT?
> 
> Tom> This one includes that:
> 
> Tom> https://sourceware.org/ml/gdb-patches/2020-02/msg00426.html
> 
> Tom> I see that Luis responded.  I'll read that and see what's up.
> 
> I'm going to check it in now.
> 
> Tom
> 

I ran into the following this morning...

make[2]: Entering directory 
'/home/luis.machado/work/tcwg/build/binutils-gdb-master/gdbserver'
make[2]: *** No rule to make target '../gnulib/import/libgnu.a', needed 
by 'gdbserver'.  Stop.

This was with a build using a configure line containing "--disable-gdb" 
but no "--disable-gdbserver".

Should --disable-gdb also imply --disable-gdbserver? Or should we be 
able to build gdbserver without building gdb (sounds a bit more complex)?

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-17 13:58                               ` Luis Machado
@ 2020-02-17 14:21                                 ` Maciej W. Rozycki
  2020-02-17 14:29                                   ` Luis Machado
  2020-02-17 16:57                                 ` Luis Machado
  2020-02-17 17:01                                 ` Tom Tromey
  2 siblings, 1 reply; 45+ messages in thread
From: Maciej W. Rozycki @ 2020-02-17 14:21 UTC (permalink / raw)
  To: Luis Machado
  Cc: Tom Tromey, Sergio Durigan Junior, Tom de Vries, Pedro Alves,
	gdb-patches

On Mon, 17 Feb 2020, Luis Machado wrote:

> Should --disable-gdb also imply --disable-gdbserver? Or should we be 
> able to build gdbserver without building gdb (sounds a bit more complex)?

 Nope, `--disable-gdb --enable-gdbserver' is typical for a cross-debug 
environment, where you want to configure and build cross-GDB with 
`--host=foo --target=bar' and `gdbserver' with `--host=bar'.  Sometimes 
your build environment may not even be capable to build native GDB with 
`--host=bar', or your target system to run it, and in any case building 
GDB takes a lot of processing time compared to `gdbserver'.  So it would 
be a waste of resources if we forced people to do that.

 I build `gdbserver' by itself routinely, although I only did the minimum 
to convert from the old layout, that is rather than calling `configure' 
from gdb/gdbserver/ I now call it from gdbserver/.  So far it has worked, 
although with the new arrangement it probably qualifies as a hack, and may 
stop working sometime.

  Maciej

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-17 14:21                                 ` Maciej W. Rozycki
@ 2020-02-17 14:29                                   ` Luis Machado
  0 siblings, 0 replies; 45+ messages in thread
From: Luis Machado @ 2020-02-17 14:29 UTC (permalink / raw)
  To: Maciej W. Rozycki
  Cc: Tom Tromey, Sergio Durigan Junior, Tom de Vries, Pedro Alves,
	gdb-patches



On 2/17/20 11:21 AM, Maciej W. Rozycki wrote:
> On Mon, 17 Feb 2020, Luis Machado wrote:
> 
>> Should --disable-gdb also imply --disable-gdbserver? Or should we be
>> able to build gdbserver without building gdb (sounds a bit more complex)?
> 
>   Nope, `--disable-gdb --enable-gdbserver' is typical for a cross-debug
> environment, where you want to configure and build cross-GDB with
> `--host=foo --target=bar' and `gdbserver' with `--host=bar'.  Sometimes
> your build environment may not even be capable to build native GDB with
> `--host=bar', or your target system to run it, and in any case building
> GDB takes a lot of processing time compared to `gdbserver'.  So it would
> be a waste of resources if we forced people to do that.

Well, that is a fair point. In which case i think we have a bug in our 
hands.

> 
>   I build `gdbserver' by itself routinely, although I only did the minimum
> to convert from the old layout, that is rather than calling `configure'
> from gdb/gdbserver/ I now call it from gdbserver/.  So far it has worked,
> although with the new arrangement it probably qualifies as a hack, and may
> stop working sometime.
> 
>    Maciej
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-17 13:58                               ` Luis Machado
  2020-02-17 14:21                                 ` Maciej W. Rozycki
@ 2020-02-17 16:57                                 ` Luis Machado
  2020-02-17 17:01                                 ` Tom Tromey
  2 siblings, 0 replies; 45+ messages in thread
From: Luis Machado @ 2020-02-17 16:57 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Sergio Durigan Junior, Tom de Vries, Pedro Alves, gdb-patches



On 2/17/20 10:58 AM, Luis Machado wrote:
> Hi Tom,
> 
> On 2/14/20 6:14 PM, Tom Tromey wrote:
>>>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
>>
>>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>> Sergio> I'm attaching a patch that works OK for me here.  WDYT?
>>
>> Tom> This one includes that:
>>
>> Tom> https://sourceware.org/ml/gdb-patches/2020-02/msg00426.html
>>
>> Tom> I see that Luis responded.  I'll read that and see what's up.
>>
>> I'm going to check it in now.
>>
>> Tom
>>
> 
> I ran into the following this morning...
> 
> make[2]: Entering directory 
> '/home/luis.machado/work/tcwg/build/binutils-gdb-master/gdbserver'
> make[2]: *** No rule to make target '../gnulib/import/libgnu.a', needed 
> by 'gdbserver'.  Stop.
> 
> This was with a build using a configure line containing "--disable-gdb" 
> but no "--disable-gdbserver".
> 
> Should --disable-gdb also imply --disable-gdbserver? Or should we be 
> able to build gdbserver without building gdb (sounds a bit more complex)?

Meanwhile, thanks to Christian, i've confirmed that adding a similar 
block to configure.ac, like this one:

# gdb depends on gnulib and gdbsupport, but as nothing else does, only
# include them if gdb is built.
if echo " ${configdirs} " | grep " gdb " > /dev/null 2>&1 ; then
   # The Makefile provides the ordering, so it's enough here to add to
   # the list.
   configdirs="${configdirs} gnulib gdbsupport"
fi


... fixes the problem for gdbserver as well.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-17 13:58                               ` Luis Machado
  2020-02-17 14:21                                 ` Maciej W. Rozycki
  2020-02-17 16:57                                 ` Luis Machado
@ 2020-02-17 17:01                                 ` Tom Tromey
  2020-02-17 17:28                                   ` Aktemur, Tankut Baris
  2 siblings, 1 reply; 45+ messages in thread
From: Tom Tromey @ 2020-02-17 17:01 UTC (permalink / raw)
  To: Luis Machado
  Cc: Tom Tromey, Sergio Durigan Junior, Tom de Vries, Pedro Alves,
	gdb-patches

>>>>> "Luis" == Luis Machado <luis.machado@linaro.org> writes:

Luis> Should --disable-gdb also imply --disable-gdbserver? Or should we be
Luis> able to build gdbserver without building gdb (sounds a bit more
Luis> complex)?

We should, it was historically supported and preserving this ability is
one of the goals of the series.

Thanks for the report.  I missed a spot in configure.ac and I will be
pushing a fix shortly.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

* RE: [PATCH] Move gdbserver to top level
  2020-02-17 17:01                                 ` Tom Tromey
@ 2020-02-17 17:28                                   ` Aktemur, Tankut Baris
  2020-02-17 18:46                                     ` Tom Tromey
  0 siblings, 1 reply; 45+ messages in thread
From: Aktemur, Tankut Baris @ 2020-02-17 17:28 UTC (permalink / raw)
  To: Tom Tromey, Luis Machado
  Cc: Sergio Durigan Junior, Tom de Vries, Pedro Alves, gdb-patches

On Monday, February 17, 2020 6:00 PM, Tom Tromey wrote:
> >>>>> "Luis" == Luis Machado <luis.machado@linaro.org> writes:
> 
> Luis> Should --disable-gdb also imply --disable-gdbserver? Or should we be
> Luis> able to build gdbserver without building gdb (sounds a bit more
> Luis> complex)?
> 
> We should, it was historically supported and preserving this ability is
> one of the goals of the series.
> 
> Thanks for the report.  I missed a spot in configure.ac and I will be
> pushing a fix shortly.
> 
> Tom

It used to be possible to build gdbserver by directly using its configure.
E.g.: path/to/gdbserver/configure, as shown here:
https://sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver

Is this not a use-case anymore?

Thanks.
-Baris


Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH] Move gdbserver to top level
  2020-02-17 17:28                                   ` Aktemur, Tankut Baris
@ 2020-02-17 18:46                                     ` Tom Tromey
  0 siblings, 0 replies; 45+ messages in thread
From: Tom Tromey @ 2020-02-17 18:46 UTC (permalink / raw)
  To: Aktemur, Tankut Baris
  Cc: Tom Tromey, Luis Machado, Sergio Durigan Junior, Tom de Vries,
	Pedro Alves, gdb-patches

>>>>> ">" == Aktemur, Tankut Baris <tankut.baris.aktemur@intel.com> writes:

>> It used to be possible to build gdbserver by directly using its configure.
>> E.g.: path/to/gdbserver/configure, as shown here:
>> https://sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver

>> Is this not a use-case anymore?

It is still possible to build just gdbserver, but the approach is
different now.  The documentation was updated as part of this switch.

The new approach is to configure as usual, possibly disabling gdb as
well, and then use "make all-gdbserver".  I do it like:

    ../binutils-gdb/configure --disable-{binutils,gas,gold,gprof,ld,gdb}
    make all-gdbserver

Plain "make" can also be used, but some unnecessary libraries will still
be built -- that's why we recommend all-gdbserver.  It might be good to
also disable these libraries if no "deliverable" depends on them, but as
that's a top-level change, it requires some more thought.

Tom

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2020-02-17 18:46 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-19 20:07 [PATCH] Move gdbserver to top level Tom Tromey
2020-01-21  5:34 ` Simon Marchi
2020-01-23 22:03   ` Tom Tromey
2020-01-24 14:29     ` Hannes Domani via gdb-patches
2020-01-24 15:12       ` Tom Tromey
2020-01-24 15:57         ` Tom Tromey
2020-01-24 16:02           ` Hannes Domani via gdb-patches
2020-01-24 16:28             ` Tom Tromey
2020-01-24 16:35               ` Hannes Domani via gdb-patches
2020-01-24 19:03                 ` Hannes Domani via gdb-patches
2020-01-24 15:23 ` Pedro Alves
2020-01-25  0:07   ` Tom Tromey
2020-01-25 16:55     ` Pedro Alves
2020-01-26 16:01       ` Tom Tromey
2020-01-27 18:13         ` Pedro Alves
2020-01-28  0:37           ` Tom Tromey
2020-01-28 14:28             ` Pedro Alves
2020-02-03 21:34             ` Tom Tromey
2020-02-07 16:06               ` Simon Marchi
2020-02-09 13:59               ` Tom de Vries
2020-02-09 14:17                 ` Tom de Vries
2020-02-10 10:01                   ` Tom de Vries
2020-02-10 15:54                     ` Sergio Durigan Junior
2020-02-12  0:55                       ` Tom Tromey
2020-02-12 16:47                         ` Sergio Durigan Junior
2020-02-14  3:54                         ` Sergio Durigan Junior
2020-02-14 18:43                           ` Tom Tromey
2020-02-14 21:14                             ` Tom Tromey
2020-02-17 13:58                               ` Luis Machado
2020-02-17 14:21                                 ` Maciej W. Rozycki
2020-02-17 14:29                                   ` Luis Machado
2020-02-17 16:57                                 ` Luis Machado
2020-02-17 17:01                                 ` Tom Tromey
2020-02-17 17:28                                   ` Aktemur, Tankut Baris
2020-02-17 18:46                                     ` Tom Tromey
2020-02-10 10:59                   ` [PATCH][gdb/testsuite] Skip multi-target.exp without gdbserver Tom de Vries
2020-02-10 12:20                     ` Pedro Alves
2020-02-09 23:05               ` [PATCH] Move gdbserver to top level Alan Modra
2020-02-10 12:02                 ` Pedro Alves
2020-02-10  9:52               ` Andreas Schwab
2020-02-10 12:13                 ` Pedro Alves
2020-02-10 13:04                   ` Andreas Schwab
2020-02-10 13:15                   ` Andreas Schwab
2020-02-11 13:48                     ` [PATCH] Disable gdbserver on host != target configurations (Re: [PATCH] Move gdbserver to top level) Pedro Alves
2020-02-11 15:29                       ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).