From patchwork Mon Oct 16 10:32:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 23606 Received: (qmail 97243 invoked by alias); 16 Oct 2017 10:32:19 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 97163 invoked by uid 89); 16 Oct 2017 10:32:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=subdirectories, tpo, mv, 58546 X-HELO: mail-wm0-f67.google.com Received: from mail-wm0-f67.google.com (HELO mail-wm0-f67.google.com) (74.125.82.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 16 Oct 2017 10:32:14 +0000 Received: by mail-wm0-f67.google.com with SMTP id q124so1688314wmb.0 for ; Mon, 16 Oct 2017 03:32:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=YpEAB2EndN37scHrLOOpXrg8iTIwKThUggvyZzqkIlU=; b=XLzDlF5ZcNd/BGmcC4x+u/eTDu6rFWx6iCWTv+8wmxQz2AplBO23FQC8V4P8zXOsVt LgyNORoNh4doYyMUXzLwwOipAdpvKPE0g0T3uKwhUPcmDGPVdOFL7FJAKD+LKo+aulNu YGTFvFNXzOOniccZKU7GMTZFVOhFX54v7HZUZjsewDMoOGf8GxOV1pK+mpoEx45XDgWq Ze+GzSYEaiKBa+GaiTwqPu3oggypvRe9j2E/gbajhLhndi8K2cCYr8yA16qfn4U/6w5N xKx1zimRw6CDQjT7i8at0PWmUlG4j5DECbCaA48v+TRyUCnsKQW68/rp/g2KF5Bi0uf5 KrEA== X-Gm-Message-State: AMCzsaU4JZDilKprlLonMvKSKSEWArh+77/CyBVda6Ildc9zCAl/cDFg Vk4/wcxqIzUvsIbTp75tYZCXOw== X-Google-Smtp-Source: ABhQp+S+CCkwm4icyMQEXpYH+mY3VMbWe3eHRQq5pBIm3Yxc7dLWO5uEv/I+rzijEdytL56TR/ppSQ== X-Received: by 10.223.195.110 with SMTP id e43mr102276wrg.219.1508149932118; Mon, 16 Oct 2017 03:32:12 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (static.42.136.251.148.clients.your-server.de. [148.251.136.42]) by smtp.gmail.com with ESMTPSA id r44sm19205636wrb.37.2017.10.16.03.32.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Oct 2017 03:32:11 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 1/4] [GDBserver] Replicate src dir in build dir Date: Mon, 16 Oct 2017 11:32:02 +0100 Message-Id: <1508149925-4275-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes Similar to f38307f5 (Replicate src dir in build dir), this patch change configure and Makefile to generate object files in arch/ directory. gdb/gdbserver: 2017-10-11 Yao Qi * Makefile.in (CONFIG_SRC_SUBDIR): New variable. (clean): Remove .o files in CONFIG_SRC_SUBDIR. (distclean): Remove DEPDIR in CONFIG_SRC_SUBDIR. (arch-i386.o, arch-amd64.o): Remove rules. (arch/%.o): New rule. Update POSTCOMPILE and COMPILE.pre. * configure.ac: Invoke AC_CONFIG_COMMANDS. * configure: Re-generated. * configure.srv: Replace arch-i386.o with arch/i386.o. Replace arch-amd64.o with arch/amd64.o. --- gdb/gdbserver/Makefile.in | 23 ++++++++++++++--------- gdb/gdbserver/configure | 16 ++++++++++++++++ gdb/gdbserver/configure.ac | 12 ++++++++++++ gdb/gdbserver/configure.srv | 18 +++++++++--------- 4 files changed, 51 insertions(+), 18 deletions(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index 6c931ba..eff6fa5 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -43,6 +43,7 @@ man9dir = $(mandir)/man9 infodir = @infodir@ htmldir = $(prefix)/html includedir = @includedir@ +CONFIG_SRC_SUBDIR = @CONFIG_SRC_SUBDIR@ SHELL = @SHELL@ EXEEXT = @EXEEXT@ @@ -434,6 +435,10 @@ clean: rm -f *-generated.c rm -f stamp-xml rm -f $(DEPDIR)/*.Po + for i in $(CONFIG_SRC_SUBDIR); do \ + rm -f $$i/*.o; \ + rm -f $$i/$(DEPDIR)/*; \ + done @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do maintainer-clean realclean distclean: clean @@ -441,6 +446,9 @@ maintainer-clean realclean distclean: clean rm -rf $(GNULIB_BUILDDIR) rm -f Makefile config.status config.h stamp-h config.log rm -f Makefile + for i in $(CONFIG_SRC_SUBDIR); do \ + rmdir $$i/$(DEPDIR); \ + done subdir_do: force @for i in $(DODIRS); do \ @@ -530,11 +538,7 @@ ax.o: ax.c $(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< $(POSTCOMPILE) -arch-i386.o: ../arch/i386.c - $(COMPILE) $< - $(POSTCOMPILE) - -arch-amd64.o: ../arch/amd64.c +arch/%.o: ../arch/%.c $(COMPILE) $< $(POSTCOMPILE) @@ -617,12 +621,13 @@ ifeq ($(DEPMODE),depmode=gcc3) # into place if the compile succeeds. We need this because gcc does # not atomically write the dependency output file. override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ - -MF $(DEPDIR)/$(basename $(@F)).Tpo -override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \ - $(DEPDIR)/$(basename $(@F)).Po + -MF $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo +override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo \ + $(@D)/$(DEPDIR)/$(basename $(@F)).Po else override COMPILE.pre = source='$<' object='$@' libtool=no \ - DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC) + DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \ + $(CXX) -x c++ $(CXX_DIALECT) # depcomp handles atomicity for us, so we don't need a postcompile # step. override POSTCOMPILE = diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index dfe3127..abab163 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -607,6 +607,7 @@ ustinc ustlibs ALLOCA CCDEPMODE +CONFIG_SRC_SUBDIR DEPDIR am__leading_dot host_noncanonical @@ -5854,6 +5855,14 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depdir" + +# Create sub-directories for objects and dependencies. +CONFIG_SRC_SUBDIR="arch" + + +ac_config_commands="$ac_config_commands gdbdepdir" + + depcc="$CC" am_compiler_list= am_depcomp=$ac_aux_dir/depcomp @@ -9144,6 +9153,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # INIT-COMMANDS # ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR +ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR CONFIG_SRC_SUBDIR="$CONFIG_SRC_SUBDIR" _ACEOF @@ -9155,6 +9165,7 @@ do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;; + "gdbdepdir") CONFIG_COMMANDS="$CONFIG_COMMANDS gdbdepdir" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; @@ -9701,6 +9712,11 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;; + "gdbdepdir":C) + for subdir in ${CONFIG_SRC_SUBDIR} + do + $SHELL $ac_aux_dir/mkinstalldirs $subdir/$DEPDIR + done ;; "Makefile":F) case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac index 36e21c5..60e235d 100644 --- a/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac @@ -66,6 +66,18 @@ ACX_NONCANONICAL_HOST # Dependency checking. ZW_CREATE_DEPDIR + +# Create sub-directories for objects and dependencies. +CONFIG_SRC_SUBDIR="arch" +AC_SUBST(CONFIG_SRC_SUBDIR) + +AC_CONFIG_COMMANDS([gdbdepdir],[ + for subdir in ${CONFIG_SRC_SUBDIR} + do + $SHELL $ac_aux_dir/mkinstalldirs $subdir/$DEPDIR + done], + [ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR CONFIG_SRC_SUBDIR="$CONFIG_SRC_SUBDIR"]) + ZW_PROG_COMPILER_DEPENDENCIES([CC]) gnulib_extra_configure_args= diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv index 80b4b37..f412c8d 100644 --- a/gdb/gdbserver/configure.srv +++ b/gdb/gdbserver/configure.srv @@ -113,7 +113,7 @@ case "${target}" in ;; i[34567]86-*-cygwin*) srv_regobj="" srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" - srv_tgtobj="${srv_tgtobj} arch-i386.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o" srv_xmlfiles="$srv_i386_xmlfiles" ;; i[34567]86-*-linux*) srv_regobj="$srv_i386_linux_regobj" @@ -123,7 +123,7 @@ case "${target}" in srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles" srv_tgtobj="amd64-linux-siginfo.o" fi - srv_tgtobj="${srv_tgtobj} arch-i386.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o" srv_tgtobj="${srv_tgtobj} $srv_linux_obj linux-x86-low.o x86-low.o x86-dregs.o i387-fp.o" srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o" srv_tgtobj="${srv_tgtobj} linux-btrace.o x86-linux.o" @@ -137,7 +137,7 @@ case "${target}" in ;; i[34567]86-*-lynxos*) srv_regobj="" srv_tgtobj="lynx-low.o lynx-i386-low.o fork-child.o fork-inferior.o" - srv_tgtobj="${srv_tgtobj} arch-i386.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o" srv_xmlfiles="i386/i386.xml" srv_xmlfiles="${srv_xmlfiles} i386/32bit-core.xml" srv_xmlfiles="${srv_xmlfiles} i386/32bit-sse.xml" @@ -146,7 +146,7 @@ case "${target}" in i[34567]86-*-mingw32ce*) srv_regobj="" srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" - srv_tgtobj="${srv_tgtobj} arch-i386.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o" srv_tgtobj="${srv_tgtobj} wincecompat.o" srv_xmlfiles="$srv_i386_xmlfiles" # hostio_last_error implementation is in win32-low.c @@ -156,12 +156,12 @@ case "${target}" in ;; i[34567]86-*-mingw*) srv_regobj="" srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" - srv_tgtobj="${srv_tgtobj} arch-i386.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o" srv_xmlfiles="$srv_i386_xmlfiles" srv_mingw=yes ;; i[34567]86-*-nto*) srv_regobj="" - srv_tgtobj="nto-low.o nto-x86-low.o arch-i386.o" + srv_tgtobj="nto-low.o nto-x86-low.o arch/i386.o" srv_xmlfiles="$srv_i386_xmlfiles" srv_qnx="yes" ;; @@ -372,7 +372,7 @@ case "${target}" in ;; x86_64-*-linux*) srv_regobj="$srv_amd64_linux_regobj $srv_i386_linux_regobj" srv_tgtobj="$srv_linux_obj linux-x86-low.o x86-low.o x86-dregs.o i387-fp.o" - srv_tgtobj="${srv_tgtobj} arch-i386.o arch-amd64.o" + srv_tgtobj="${srv_tgtobj} arch/i386.o arch/amd64.o" srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o" srv_tgtobj="${srv_tgtobj} linux-btrace.o x86-linux.o" srv_tgtobj="${srv_tgtobj} x86-linux-dregs.o" @@ -387,13 +387,13 @@ case "${target}" in ;; x86_64-*-mingw*) srv_regobj="" srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o" - srv_tgtobj="${srv_tgtobj} arch-amd64.o" + srv_tgtobj="${srv_tgtobj} arch/amd64.o" srv_xmlfiles="$srv_i386_xmlfiles $srv_amd64_xmlfiles" srv_mingw=yes ;; x86_64-*-cygwin*) srv_regobj="" srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o" - srv_tgtobj="${srv_tgtobj} arch-amd64.o" + srv_tgtobj="${srv_tgtobj} arch/amd64.o" srv_xmlfiles="$srv_i386_xmlfiles" ;;