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.
[v5] Update docs to mention "make all-gdbserver" and change how
top-level configure decides whether to build gdbserver, switching to a
single, shared script.
Tested by the buildbot.
ChangeLog
2020-02-07 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.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-02-07 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
+2020-02-07 Tom Tromey <tom@tromey.com>
+ Pedro Alves <palves@redhat.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-28 Sergio Durigan Junior <sergiodj@redhat.com>
* src-release.sh (getver): Look for gdbsupport's
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.
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; };
maybe-configure-zlib \
maybe-configure-gnulib \
maybe-configure-gdbsupport \
+ maybe-configure-gdbserver \
maybe-configure-gdb \
maybe-configure-expect \
maybe-configure-guile \
@endif zlib-no-bootstrap
all-host: maybe-all-gnulib
all-host: maybe-all-gdbsupport
+all-host: maybe-all-gdbserver
all-host: maybe-all-gdb
all-host: maybe-all-expect
all-host: maybe-all-guile
info-host: maybe-info-zlib
info-host: maybe-info-gnulib
info-host: maybe-info-gdbsupport
+info-host: maybe-info-gdbserver
info-host: maybe-info-gdb
info-host: maybe-info-expect
info-host: maybe-info-guile
dvi-host: maybe-dvi-zlib
dvi-host: maybe-dvi-gnulib
dvi-host: maybe-dvi-gdbsupport
+dvi-host: maybe-dvi-gdbserver
dvi-host: maybe-dvi-gdb
dvi-host: maybe-dvi-expect
dvi-host: maybe-dvi-guile
pdf-host: maybe-pdf-zlib
pdf-host: maybe-pdf-gnulib
pdf-host: maybe-pdf-gdbsupport
+pdf-host: maybe-pdf-gdbserver
pdf-host: maybe-pdf-gdb
pdf-host: maybe-pdf-expect
pdf-host: maybe-pdf-guile
html-host: maybe-html-zlib
html-host: maybe-html-gnulib
html-host: maybe-html-gdbsupport
+html-host: maybe-html-gdbserver
html-host: maybe-html-gdb
html-host: maybe-html-expect
html-host: maybe-html-guile
TAGS-host: maybe-TAGS-zlib
TAGS-host: maybe-TAGS-gnulib
TAGS-host: maybe-TAGS-gdbsupport
+TAGS-host: maybe-TAGS-gdbserver
TAGS-host: maybe-TAGS-gdb
TAGS-host: maybe-TAGS-expect
TAGS-host: maybe-TAGS-guile
install-info-host: maybe-install-info-zlib
install-info-host: maybe-install-info-gnulib
install-info-host: maybe-install-info-gdbsupport
+install-info-host: maybe-install-info-gdbserver
install-info-host: maybe-install-info-gdb
install-info-host: maybe-install-info-expect
install-info-host: maybe-install-info-guile
install-pdf-host: maybe-install-pdf-zlib
install-pdf-host: maybe-install-pdf-gnulib
install-pdf-host: maybe-install-pdf-gdbsupport
+install-pdf-host: maybe-install-pdf-gdbserver
install-pdf-host: maybe-install-pdf-gdb
install-pdf-host: maybe-install-pdf-expect
install-pdf-host: maybe-install-pdf-guile
install-html-host: maybe-install-html-zlib
install-html-host: maybe-install-html-gnulib
install-html-host: maybe-install-html-gdbsupport
+install-html-host: maybe-install-html-gdbserver
install-html-host: maybe-install-html-gdb
install-html-host: maybe-install-html-expect
install-html-host: maybe-install-html-guile
installcheck-host: maybe-installcheck-zlib
installcheck-host: maybe-installcheck-gnulib
installcheck-host: maybe-installcheck-gdbsupport
+installcheck-host: maybe-installcheck-gdbserver
installcheck-host: maybe-installcheck-gdb
installcheck-host: maybe-installcheck-expect
installcheck-host: maybe-installcheck-guile
mostlyclean-host: maybe-mostlyclean-zlib
mostlyclean-host: maybe-mostlyclean-gnulib
mostlyclean-host: maybe-mostlyclean-gdbsupport
+mostlyclean-host: maybe-mostlyclean-gdbserver
mostlyclean-host: maybe-mostlyclean-gdb
mostlyclean-host: maybe-mostlyclean-expect
mostlyclean-host: maybe-mostlyclean-guile
clean-host: maybe-clean-zlib
clean-host: maybe-clean-gnulib
clean-host: maybe-clean-gdbsupport
+clean-host: maybe-clean-gdbserver
clean-host: maybe-clean-gdb
clean-host: maybe-clean-expect
clean-host: maybe-clean-guile
distclean-host: maybe-distclean-zlib
distclean-host: maybe-distclean-gnulib
distclean-host: maybe-distclean-gdbsupport
+distclean-host: maybe-distclean-gdbserver
distclean-host: maybe-distclean-gdb
distclean-host: maybe-distclean-expect
distclean-host: maybe-distclean-guile
maintainer-clean-host: maybe-maintainer-clean-zlib
maintainer-clean-host: maybe-maintainer-clean-gnulib
maintainer-clean-host: maybe-maintainer-clean-gdbsupport
+maintainer-clean-host: maybe-maintainer-clean-gdbserver
maintainer-clean-host: maybe-maintainer-clean-gdb
maintainer-clean-host: maybe-maintainer-clean-expect
maintainer-clean-host: maybe-maintainer-clean-guile
maybe-check-zlib \
maybe-check-gnulib \
maybe-check-gdbsupport \
+ maybe-check-gdbserver \
maybe-check-gdb \
maybe-check-expect \
maybe-check-guile \
maybe-install-zlib \
maybe-install-gnulib \
maybe-install-gdbsupport \
+ maybe-install-gdbserver \
maybe-install-gdb \
maybe-install-expect \
maybe-install-guile \
maybe-install-zlib \
maybe-install-gnulib \
maybe-install-gdbsupport \
+ maybe-install-gdbserver \
maybe-install-gdb \
maybe-install-expect \
maybe-install-guile \
maybe-install-strip-zlib \
maybe-install-strip-gnulib \
maybe-install-strip-gdbsupport \
+ maybe-install-strip-gdbserver \
maybe-install-strip-gdb \
maybe-install-strip-expect \
maybe-install-strip-guile \
+.PHONY: configure-gdbserver maybe-configure-gdbserver
+maybe-configure-gdbserver:
+@if gcc-bootstrap
+configure-gdbserver: stage_current
+@endif gcc-bootstrap
+@if gdbserver
+maybe-configure-gdbserver: configure-gdbserver
+configure-gdbserver:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gdbserver/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gdbserver; \
+ $(HOST_EXPORTS) \
+ echo Configuring in $(HOST_SUBDIR)/gdbserver; \
+ cd "$(HOST_SUBDIR)/gdbserver" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gdbserver/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ module_srcdir=gdbserver; \
+ $(SHELL) \
+ $$s/$$module_srcdir/configure \
+ --srcdir=$${topdir}/$$module_srcdir \
+ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+ --target=${target_alias} \
+ || exit 1
+@endif gdbserver
+
+
+
+
+
+.PHONY: all-gdbserver maybe-all-gdbserver
+maybe-all-gdbserver:
+@if gcc-bootstrap
+all-gdbserver: stage_current
+@endif gcc-bootstrap
+@if gdbserver
+TARGET-gdbserver=all
+maybe-all-gdbserver: all-gdbserver
+all-gdbserver: configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) \
+ $(TARGET-gdbserver))
+@endif gdbserver
+
+
+
+
+.PHONY: check-gdbserver maybe-check-gdbserver
+maybe-check-gdbserver:
+@if gdbserver
+maybe-check-gdbserver: check-gdbserver
+
+check-gdbserver:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(FLAGS_TO_PASS) check)
+
+@endif gdbserver
+
+.PHONY: install-gdbserver maybe-install-gdbserver
+maybe-install-gdbserver:
+@if gdbserver
+maybe-install-gdbserver: install-gdbserver
+
+install-gdbserver: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(FLAGS_TO_PASS) install)
+
+@endif gdbserver
+
+.PHONY: install-strip-gdbserver maybe-install-strip-gdbserver
+maybe-install-strip-gdbserver:
+@if gdbserver
+maybe-install-strip-gdbserver: install-strip-gdbserver
+
+install-strip-gdbserver: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(FLAGS_TO_PASS) install-strip)
+
+@endif gdbserver
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-gdbserver info-gdbserver
+maybe-info-gdbserver:
+@if gdbserver
+maybe-info-gdbserver: info-gdbserver
+
+info-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing info in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ info) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-dvi-gdbserver dvi-gdbserver
+maybe-dvi-gdbserver:
+@if gdbserver
+maybe-dvi-gdbserver: dvi-gdbserver
+
+dvi-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing dvi in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ dvi) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-pdf-gdbserver pdf-gdbserver
+maybe-pdf-gdbserver:
+@if gdbserver
+maybe-pdf-gdbserver: pdf-gdbserver
+
+pdf-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing pdf in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ pdf) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-html-gdbserver html-gdbserver
+maybe-html-gdbserver:
+@if gdbserver
+maybe-html-gdbserver: html-gdbserver
+
+html-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing html in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ html) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-TAGS-gdbserver TAGS-gdbserver
+maybe-TAGS-gdbserver:
+@if gdbserver
+maybe-TAGS-gdbserver: TAGS-gdbserver
+
+TAGS-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing TAGS in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ TAGS) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-install-info-gdbserver install-info-gdbserver
+maybe-install-info-gdbserver:
+@if gdbserver
+maybe-install-info-gdbserver: install-info-gdbserver
+
+install-info-gdbserver: \
+ configure-gdbserver \
+ info-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing install-info in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-info) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-install-pdf-gdbserver install-pdf-gdbserver
+maybe-install-pdf-gdbserver:
+@if gdbserver
+maybe-install-pdf-gdbserver: install-pdf-gdbserver
+
+install-pdf-gdbserver: \
+ configure-gdbserver \
+ pdf-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing install-pdf in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-pdf) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-install-html-gdbserver install-html-gdbserver
+maybe-install-html-gdbserver:
+@if gdbserver
+maybe-install-html-gdbserver: install-html-gdbserver
+
+install-html-gdbserver: \
+ configure-gdbserver \
+ html-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing install-html in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-html) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-installcheck-gdbserver installcheck-gdbserver
+maybe-installcheck-gdbserver:
+@if gdbserver
+maybe-installcheck-gdbserver: installcheck-gdbserver
+
+installcheck-gdbserver: \
+ configure-gdbserver
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing installcheck in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ installcheck) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-mostlyclean-gdbserver mostlyclean-gdbserver
+maybe-mostlyclean-gdbserver:
+@if gdbserver
+maybe-mostlyclean-gdbserver: mostlyclean-gdbserver
+
+mostlyclean-gdbserver:
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing mostlyclean in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ mostlyclean) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-clean-gdbserver clean-gdbserver
+maybe-clean-gdbserver:
+@if gdbserver
+maybe-clean-gdbserver: clean-gdbserver
+
+clean-gdbserver:
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing clean in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ clean) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-distclean-gdbserver distclean-gdbserver
+maybe-distclean-gdbserver:
+@if gdbserver
+maybe-distclean-gdbserver: distclean-gdbserver
+
+distclean-gdbserver:
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing distclean in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ distclean) \
+ || exit 1
+
+@endif gdbserver
+
+.PHONY: maybe-maintainer-clean-gdbserver maintainer-clean-gdbserver
+maybe-maintainer-clean-gdbserver:
+@if gdbserver
+maybe-maintainer-clean-gdbserver: maintainer-clean-gdbserver
+
+maintainer-clean-gdbserver:
+ @: $(MAKE); $(unstage)
+ @[ -f ./gdbserver/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ for flag in $(EXTRA_HOST_FLAGS) ; do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing maintainer-clean in gdbserver"; \
+ (cd $(HOST_SUBDIR)/gdbserver && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ maintainer-clean) \
+ || exit 1
+
+@endif gdbserver
+
+
+
.PHONY: configure-gdb maybe-configure-gdb
maybe-configure-gdb:
@if gcc-bootstrap
# 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)
;;
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_n "checking for gdbserver support... " >&6; }
+ 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; }
+ noconfigdirs="$noconfigdirs gdbserver"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ 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
# 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
# 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)
;;
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])
+ if (srcdir=${srcdir}/gdbserver; \
+ . ${srcdir}/configure.srv; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs gdbserver"
+ else
+ AC_MSG_RESULT([yes])
+ 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
+2020-02-07 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-02-06 Shahab Vahedi <shahab@synopsys.com>
* source-cache.c (source_cache::ensure): Surround
# 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
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).
with_tk
with_x
enable_sim
-enable_gdbserver
with_babeltrace
with_libbabeltrace_prefix
with_xxhash
YFLAGS
XMKMF'
ac_subdirs_all='testsuite
-gdbtk
-gdbserver'
+gdbtk'
# Initialize some variables set by options.
ac_init_help=
gcc is used
--enable-ubsan enable undefined behavior sanitizer (auto/yes/no)
--enable-sim link gdb with simulator
- --enable-gdbserver automatically build gdbserver (yes/no/auto, default
- is auto)
--enable-unit-tests Enable the inclusion of unit tests when compiling
GDB
# 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.
fi
-# Check whether --enable-gdbserver was given.
-if test "${enable_gdbserver+set}" = set; then :
- enableval=$enable_gdbserver; case "${enableval}" in
- yes| no|auto) ;;
- *) as_fn_error $? "bad value ${enableval} for --enable-gdbserver option" "$LINENO" 5 ;;
-esac
-else
- enable_gdbserver=auto
-fi
-
-
-# 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
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gdbserver is supported on this host" >&5
-$as_echo_n "checking whether gdbserver is supported on this host... " >&6; }
- if test "x$build_gdbserver" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- subdirs="$subdirs gdbserver"
-
- gdbserver_build_enabled=yes
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- 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
- as_fn_error $? "Automatic gdbserver build is not supported for this configuration" "$LINENO" 5
-fi
-
# Check for babeltrace and babeltrace-ctf
# Check whether --with-babeltrace was given.
# 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.
[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)]),
# 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
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*)
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
# 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
# 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
# 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
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.
# 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
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
# 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
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
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-*-*)
linux-record.o \
arch/ppc-linux-common.o"
gdb_sim=../sim/ppc/libsim.a
- build_gdbserver=yes
;;
powerpc-*-lynx*178)
# Target: PowerPC running Lynx178.
# 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*)
score-*-*)
# Target: S+core embedded system
gdb_target_obs="score-tdep.o"
- build_gdbserver=yes
;;
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
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
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
# 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-*-*)
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
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
xtensa*-*-*linux*)
# Target: GNU/Linux Xtensa
gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
- build_gdbserver=yes
;;
esac
+2020-02-07 Tom Tromey <tom@tromey.com>
+ Pedro Alves <palves@redhat.com>
+
+ * README: Update build documentation.
+ * configure.srv: Set UNSUPPORTED if host is unsupported. Check
+ host, not target.
+ * 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-29 Maciej W. Rozycki <macro@wdc.com>
* configure.srv <i[34567]86-*-mingw*>: Fix whitespace damage.
# 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.
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.
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
# 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.
$(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@
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@
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
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
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
$(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
# will remove them.
MAKEOVERRIDES =
-regdat_sh = $(srcdir)/../regformats/regdat.sh
+regdat_sh = $(srcdir)/../gdb/regformats/regdat.sh
UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION
# 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)
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)
-%-ipa.o: ../%.c
+%-ipa.o: ../gdb/%.c
$(IPAGENT_COMPILE) $<
$(POSTCOMPILE)
# 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)
$(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) $< $@
#
-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:
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
- % make
+ % path-to-toplevel-sources/configure --disable-gdb
+ % make all-gdbserver
+
+(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:
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.
# Set the 'development' global.
-. $srcdir/../../bfd/development.sh
+. $srcdir/../bfd/development.sh
# Check whether we will enable the inclusion of unit tests when
# "gnulib", to avoid the problem of both GDB and GDBserver wanting to
# build it in the same directory, when building in the source dir.
- in_src="../../gnulib"
+ in_src="../gnulib"
in_build="build-gnulib-gdbserver"
in_extra_args="$gnulib_extra_configure_args"
- in_src="../../libiberty"
+ in_src="../libiberty"
in_build="build-libiberty-gdbserver"
in_extra_args=
AC_HEADER_STDC
# Set the 'development' global.
-. $srcdir/../../bfd/development.sh
+. $srcdir/../bfd/development.sh
GDB_AC_SELFTEST([
srv_selftest_objs="gdbsupport/selftest.o"
# 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
# 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.
# 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
# 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"
srv_linux_regsets=yes
srv_linux_thread_db=yes
;;
- *) echo "Error: target not supported by gdbserver."
- exit 1
+ *)
+ # Who are you?
+ UNSUPPORTED=1
;;
esac
#!/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
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