* RFC: automatic dependency tracking for gdbserver
@ 2012-12-03 21:18 Tom Tromey
2012-12-07 3:12 ` Joel Brobecker
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Tom Tromey @ 2012-12-03 21:18 UTC (permalink / raw)
To: gdb-patches
This patch applies the same automatic dependency tracking logic that gdb
uses to gdbserver.
The downside of this patch is that gdbserver dependencies will not be
tracked unless the developer is using GNU make. On the other hand,
we've had this same code in gdb for several years without any
complaints.
Comments?
Tom
2012-12-03 Tom Tromey <tromey@redhat.com>
* Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
(COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
macros.
(.c.o): Rewrite.
(ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
(common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
(i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
(amd64-linux-ipa.o, ax.o): Rewrite.
(event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
(proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
(thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
(signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
(gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
(format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
(i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
(linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
(linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
(linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
(linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
(linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
(nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
(win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
(arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
(reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
(i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
(reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
(mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
(powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
(powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
(powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
(powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
(powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
(powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
(s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
(s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
(s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
(tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
(amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
(x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
(reg-tilegx.o): Remove.
(all_object_files): New macro.
Include .deps files.
* aclocal.m4, configure: Rebuild.
* configure.ac: Invoke ZW_CREATE_DEPDIR,
ZW_PROG_COMPILER_DEPENDENCIES. Compute GMAKE condition.
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index fc4fd1d..872202e 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -51,6 +51,18 @@ RANLIB = @RANLIB@
CC = @CC@
+# Dependency tracking information.
+DEPMODE = @CCDEPMODE@
+DEPDIR = @DEPDIR@
+depcomp = $(SHELL) $(srcdir)/../depcomp
+
+# Note that these are overridden by GNU make-specific code below if
+# GNU make is used. The overrides implement dependency tracking.
+COMPILE.pre = $(CC)
+COMPILE.post = -c -o $@
+COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
+POSTCOMPILE = @true
+
# Directory containing source files. Don't clean up the spacing,
# this exact string is matched for by the "configure" script.
srcdir = @srcdir@
@@ -216,10 +228,9 @@ FLAGS_TO_PASS = \
# All generated files which can be included by another file.
generated_files = config.h $(GNULIB_H)
-# Prevent Sun make from putting in the machine type. Setting
-# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
.c.o:
- ${CC} -c ${INTERNAL_CFLAGS} $<
+ $(COMPILE) $<
+ $(POSTCOMPILE)
all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries)
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
@@ -453,325 +464,268 @@ IPAGENT_CFLAGS = $(CPPFLAGS) $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
-fPIC -DIN_PROCESS_AGENT \
-fvisibility=hidden
+IPAGENT_COMPILE = $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
+
# In-process agent object rules
-ax-ipa.o: ax.c $(server_h) $(ax_h) $(srcdir)/../common/ax.def
- $(CC) -c $(IPAGENT_CFLAGS) $(WARN_CFLAGS_NO_FORMAT) $< -o ax-ipa.o
-tracepoint-ipa.o: tracepoint.c $(server_h) ${ax_h}
- $(CC) -c $(IPAGENT_CFLAGS) $< -o tracepoint-ipa.o
-utils-ipa.o: utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o utils-ipa.o
-format-ipa.o: ../common/format.c $(server_h) ${ax_h}
- $(CC) -c $(IPAGENT_CFLAGS) $< -o format-ipa.o
-common-utils-ipa.o: ../common/common-utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o common-utils-ipa.o
-remote-utils-ipa.o: remote-utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o remote-utils-ipa.o
-regcache-ipa.o: regcache.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o regcache-ipa.o
-i386-linux-ipa.o : i386-linux.c $(regdef_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o i386-linux-ipa.o
-linux-i386-ipa.o: linux-i386-ipa.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o linux-i386-ipa.o
-linux-amd64-ipa.o: linux-amd64-ipa.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o linux-amd64-ipa.o
-amd64-linux-ipa.o : amd64-linux.c $(regdef_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o amd64-linux-ipa.o
-
-ax.o: ax.c $(server_h) $(ax_h) $(srcdir)/../common/ax.def
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $(WARN_CFLAGS_NO_FORMAT) $<
-event-loop.o: event-loop.c $(server_h)
-hostio.o: hostio.c $(server_h)
-hostio-errno.o: hostio-errno.c $(server_h)
-inferiors.o: inferiors.c $(server_h) $(gdbthread_h)
-mem-break.o: mem-break.c $(server_h) $(ax_h)
-proc-service.o: proc-service.c $(server_h) $(gdb_proc_service_h)
-regcache.o: regcache.c $(server_h) $(regdef_h) $(gdbthread_h)
-remote-utils.o: remote-utils.c terminal.h $(server_h) $(gdbthread_h)
-server.o: server.c $(server_h) $(agent_h) $(gdbthread_h)
-target.o: target.c $(server_h)
-thread-db.o: thread-db.c $(server_h) $(linux_low_h) $(gdb_proc_service_h) \
- $(gdb_thread_db_h) $(gdb_vecs_h)
-tracepoint.o: tracepoint.c $(server_h) $(ax_h) $(agent_h) $(gdbthread_h)
-utils.o: utils.c $(server_h)
-gdbreplay.o: gdbreplay.c config.h
-dll.o: dll.c $(server_h)
-
-signals.o: ../common/signals.c $(server_h) $(signals_def)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-procfs.o: ../common/linux-procfs.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-ptrace.o: ../common/linux-ptrace.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-common-utils.o: ../common/common-utils.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-vec.o: ../common/vec.c $(vec_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-gdb_vecs.o: ../common/gdb_vecs.c $(vec_h) $(gdb_vecs_h) $(host_defs_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-xml-utils.o: ../common/xml-utils.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-osdata.o: ../common/linux-osdata.c $(server_h) $(linux_osdata_h) ../common/gdb_dirent.h
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-ptid.o: ../common/ptid.c $(ptid_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-buffer.o: ../common/buffer.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-format.o: ../common/format.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-agent.o: ../common/agent.c $(server_h) $(agent_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
+ax-ipa.o: ax.c
+ $(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
+ $(POSTCOMPILE)
+tracepoint-ipa.o: tracepoint.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+utils-ipa.o: utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+format-ipa.o: ../common/format.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+common-utils-ipa.o: ../common/common-utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+remote-utils-ipa.o: remote-utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+regcache-ipa.o: regcache.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+i386-linux-ipa.o : i386-linux.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+linux-i386-ipa.o: linux-i386-ipa.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+linux-amd64-ipa.o: linux-amd64-ipa.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+amd64-linux-ipa.o : amd64-linux.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+
+ax.o: ax.c
+ $(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
+ $(POSTCOMPILE)
+
+signals.o: ../common/signals.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-procfs.o: ../common/linux-procfs.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-ptrace.o: ../common/linux-ptrace.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+common-utils.o: ../common/common-utils.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+vec.o: ../common/vec.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+gdb_vecs.o: ../common/gdb_vecs.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+xml-utils.o: ../common/xml-utils.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-osdata.o: ../common/linux-osdata.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+ptid.o: ../common/ptid.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+buffer.o: ../common/buffer.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+format.o: ../common/format.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+agent.o: ../common/agent.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
# We build vasprintf with -DHAVE_CONFIG_H because we want that unit to
# include our config.h file. Otherwise, some system headers do not get
# included, and the compiler emits a warning about implicitly defined
# functions (missing declaration).
vasprintf.o: $(srcdir)/../../libiberty/vasprintf.c
- $(CC) -o vasprintf.o -c $(CPPFLAGS) $(INTERNAL_CFLAGS) -DHAVE_CONFIG_H $<
+ $(COMPILE) $< -DHAVE_CONFIG_H
+ $(POSTCOMPILE)
vsnprintf.o: $(srcdir)/../../libiberty/vsnprintf.c
- $(CC) -o vsnprintf.o -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
+ $(COMPILE) $<
+ $(POSTCOMPILE)
i386_low_h = $(srcdir)/i386-low.h
-i386-low.o: i386-low.c $(i386_low_h) $(server_h) $(target_h)
-
-i387-fp.o: i387-fp.c $(server_h)
-
-linux-low.o: linux-low.c $(linux_low_h) $(linux_ptrace_h) $(linux_procfs_h) \
- $(server_h) $(linux_osdata_h) $(agent_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< @USE_THREAD_DB@
-
-linux-arm-low.o: linux-arm-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h)
-linux-bfin-low.o: linux-bfin-low.c $(linux_low_h) $(server_h) $(libiberty_h)
-linux-cris-low.o: linux-cris-low.c $(linux_low_h) $(server_h)
-linux-crisv32-low.o: linux-crisv32-low.c $(linux_low_h) $(server_h)
-linux-ia64-low.o: linux-ia64-low.c $(linux_low_h) $(server_h)
-linux-m32r-low.o: linux-m32r-low.c $(linux_low_h) $(server_h)
-linux-mips-low.o: linux-mips-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h)
-linux-ppc-low.o: linux-ppc-low.c $(linux_low_h) $(server_h)
-linux-s390-low.o: linux-s390-low.c $(linux_low_h) $(server_h)
-linux-sh-low.o: linux-sh-low.c $(linux_low_h) $(server_h)
-linux-tic6x-low.o: linux-tic6x-low.c $(linux_low_h) $(server_h)
-linux-x86-low.o: linux-x86-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h) $(i386_low_h) $(agent_h)
-linux-xtensa-low.o: linux-xtensa-low.c xtensa-xtregs.c $(linux_low_h) $(server_h)
-linux-tile-low.o: linux-tile-low.c $(linux_low_h) $(server_h)
-
-lynx-low.o: lynx-low.c $(server_h) $(target_h) $(lynx_low_h)
-lynx-ppc-low.o: lynx-ppc-low.c $(server_h) $(lynx_low_h)
-nto-low.o: nto-low.c $(server_h) $(nto_low_h) $(gdbthread_h)
-nto-x86-low.o: nto-x86-low.c $(server_h) $(nto_low_h) $(regdef_h) $(regcache_h)
+linux-low.o: linux-low.c
+ $(COMPILE) $< @USE_THREAD_DB@
+ $(POSTCOMPILE)
win32_low_h = $(srcdir)/win32-low.h
-win32-low.o: win32-low.c $(win32_low_h) $(server_h) $(regdef_h) $(regcache_h) $(gdbthread_h)
-
-win32-arm-low.o: win32-arm-low.c $(win32_low_h) $(server_h)
-win32-i386-low.o: win32-i386-low.c $(win32_low_h) $(server_h) $(i386_low_h)
-
-spu-low.o: spu-low.c $(server_h)
-
-reg-arm.o : reg-arm.c $(regdef_h)
reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
-arm-with-iwmmxt.o : arm-with-iwmmxt.c $(regdef_h)
arm-with-iwmmxt.c : $(srcdir)/../regformats/arm-with-iwmmxt.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-iwmmxt.dat arm-with-iwmmxt.c
-arm-with-vfpv2.o : arm-with-vfpv2.c $(regdef_h)
arm-with-vfpv2.c : $(srcdir)/../regformats/arm-with-vfpv2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv2.dat arm-with-vfpv2.c
-arm-with-vfpv3.o : arm-with-vfpv3.c $(regdef_h)
arm-with-vfpv3.c : $(srcdir)/../regformats/arm-with-vfpv3.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv3.dat arm-with-vfpv3.c
-arm-with-neon.o : arm-with-neon.c $(regdef_h)
arm-with-neon.c : $(srcdir)/../regformats/arm-with-neon.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-neon.dat arm-with-neon.c
-reg-bfin.o : reg-bfin.c $(regdef_h)
reg-bfin.c : $(srcdir)/../regformats/reg-bfin.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-bfin.dat reg-bfin.c
-reg-cris.o : reg-cris.c $(regdef_h)
reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cris.dat reg-cris.c
-reg-crisv32.o : reg-crisv32.c $(regdef_h)
reg-crisv32.c : $(srcdir)/../regformats/reg-crisv32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-crisv32.dat reg-crisv32.c
-i386.o : i386.c $(regdef_h)
i386.c : $(srcdir)/../regformats/i386/i386.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386.dat i386.c
-i386-linux.o : i386-linux.c $(regdef_h)
i386-linux.c : $(srcdir)/../regformats/i386/i386-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-linux.dat i386-linux.c
-i386-avx.o : i386-avx.c $(regdef_h)
i386-avx.c : $(srcdir)/../regformats/i386/i386-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx.dat i386-avx.c
-i386-avx-linux.o : i386-avx-linux.c $(regdef_h)
i386-avx-linux.c : $(srcdir)/../regformats/i386/i386-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-linux.dat i386-avx-linux.c
-i386-mmx.o : i386-mmx.c $(regdef_h)
i386-mmx.c : $(srcdir)/../regformats/i386/i386-mmx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx.dat i386-mmx.c
-i386-mmx-linux.o : i386-mmx-linux.c $(regdef_h)
i386-mmx-linux.c : $(srcdir)/../regformats/i386/i386-mmx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx-linux.dat i386-mmx-linux.c
-reg-ia64.o : reg-ia64.c $(regdef_h)
reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
-reg-m32r.o : reg-m32r.c $(regdef_h)
reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m32r.dat reg-m32r.c
-reg-m68k.o : reg-m68k.c $(regdef_h)
reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c
-reg-cf.o : reg-cf.c $(regdef_h)
reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c
-mips-linux.o : mips-linux.c $(regdef_h)
mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c
-mips-dsp-linux.o : mips-dsp-linux.c $(regdef_h)
mips-dsp-linux.c : $(srcdir)/../regformats/mips-dsp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-dsp-linux.dat mips-dsp-linux.c
-mips64-linux.o : mips64-linux.c $(regdef_h)
mips64-linux.c : $(srcdir)/../regformats/mips64-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
-mips64-dsp-linux.o : mips64-dsp-linux.c $(regdef_h)
mips64-dsp-linux.c : $(srcdir)/../regformats/mips64-dsp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-dsp-linux.dat mips64-dsp-linux.c
-powerpc-32.o : powerpc-32.c $(regdef_h)
powerpc-32.c : $(srcdir)/../regformats/rs6000/powerpc-32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32.dat powerpc-32.c
-powerpc-32l.o : powerpc-32l.c $(regdef_h)
powerpc-32l.c : $(srcdir)/../regformats/rs6000/powerpc-32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32l.dat powerpc-32l.c
-powerpc-altivec32l.o : powerpc-altivec32l.c $(regdef_h)
powerpc-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat powerpc-altivec32l.c
-powerpc-cell32l.o : powerpc-cell32l.c $(regdef_h)
powerpc-cell32l.c : $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat powerpc-cell32l.c
-powerpc-vsx32l.o : powerpc-vsx32l.c $(regdef_h)
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
-powerpc-isa205-32l.o : powerpc-isa205-32l.c $(regdef_h)
powerpc-isa205-32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat powerpc-isa205-32l.c
-powerpc-isa205-altivec32l.o : powerpc-isa205-altivec32l.c $(regdef_h)
powerpc-isa205-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat powerpc-isa205-altivec32l.c
-powerpc-isa205-vsx32l.o : powerpc-isa205-vsx32l.c $(regdef_h)
powerpc-isa205-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat powerpc-isa205-vsx32l.c
-powerpc-e500l.o : powerpc-e500l.c $(regdef_h)
powerpc-e500l.c : $(srcdir)/../regformats/rs6000/powerpc-e500l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-e500l.dat powerpc-e500l.c
-powerpc-64l.o : powerpc-64l.c $(regdef_h)
powerpc-64l.c : $(srcdir)/../regformats/rs6000/powerpc-64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-64l.dat powerpc-64l.c
-powerpc-altivec64l.o : powerpc-altivec64l.c $(regdef_h)
powerpc-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat powerpc-altivec64l.c
-powerpc-cell64l.o : powerpc-cell64l.c $(regdef_h)
powerpc-cell64l.c : $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat powerpc-cell64l.c
-powerpc-vsx64l.o : powerpc-vsx64l.c $(regdef_h)
powerpc-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat powerpc-vsx64l.c
-powerpc-isa205-64l.o : powerpc-isa205-64l.c $(regdef_h)
powerpc-isa205-64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat powerpc-isa205-64l.c
-powerpc-isa205-altivec64l.o : powerpc-isa205-altivec64l.c $(regdef_h)
powerpc-isa205-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat powerpc-isa205-altivec64l.c
-powerpc-isa205-vsx64l.o : powerpc-isa205-vsx64l.c $(regdef_h)
powerpc-isa205-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat powerpc-isa205-vsx64l.c
-s390-linux32.o : s390-linux32.c $(regdef_h)
s390-linux32.c : $(srcdir)/../regformats/s390-linux32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32.dat s390-linux32.c
-s390-linux32v1.o : s390-linux32v1.c $(regdef_h)
s390-linux32v1.c : $(srcdir)/../regformats/s390-linux32v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v1.dat s390-linux32v1.c
-s390-linux32v2.o : s390-linux32v2.c $(regdef_h)
s390-linux32v2.c : $(srcdir)/../regformats/s390-linux32v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v2.dat s390-linux32v2.c
-s390-linux64.o : s390-linux64.c $(regdef_h)
s390-linux64.c : $(srcdir)/../regformats/s390-linux64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64.dat s390-linux64.c
-s390-linux64v1.o : s390-linux64v1.c $(regdef_h)
s390-linux64v1.c : $(srcdir)/../regformats/s390-linux64v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v1.dat s390-linux64v1.c
-s390-linux64v2.o : s390-linux64v2.c $(regdef_h)
s390-linux64v2.c : $(srcdir)/../regformats/s390-linux64v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v2.dat s390-linux64v2.c
-s390x-linux64.o : s390x-linux64.c $(regdef_h)
s390x-linux64.c : $(srcdir)/../regformats/s390x-linux64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64.dat s390x-linux64.c
-s390x-linux64v1.o : s390x-linux64v1.c $(regdef_h)
s390x-linux64v1.c : $(srcdir)/../regformats/s390x-linux64v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v1.dat s390x-linux64v1.c
-s390x-linux64v2.o : s390x-linux64v2.c $(regdef_h)
s390x-linux64v2.c : $(srcdir)/../regformats/s390x-linux64v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v2.dat s390x-linux64v2.c
-tic6x-c64xp-linux.o : tic6x-c64xp-linux.c $(regdef_h)
tic6x-c64xp-linux.c : $(srcdir)/../regformats/tic6x-c64xp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64xp-linux.dat tic6x-c64xp-linux.c
-tic6x-c64x-linux.o : tic6x-c64x-linux.c $(regdef_h)
tic6x-c64x-linux.c : $(srcdir)/../regformats/tic6x-c64x-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64x-linux.dat tic6x-c64x-linux.c
-tic6x-c62x-linux.o : tic6x-c62x-linux.c $(regdef_h)
tic6x-c62x-linux.c : $(srcdir)/../regformats/tic6x-c62x-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c62x-linux.dat tic6x-c62x-linux.c
-reg-sh.o : reg-sh.c $(regdef_h)
reg-sh.c : $(srcdir)/../regformats/reg-sh.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sh.dat reg-sh.c
-reg-sparc64.o : reg-sparc64.c $(regdef_h)
reg-sparc64.c : $(srcdir)/../regformats/reg-sparc64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sparc64.dat reg-sparc64.c
-reg-spu.o : reg-spu.c $(regdef_h)
reg-spu.c : $(srcdir)/../regformats/reg-spu.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-spu.dat reg-spu.c
-amd64.o : amd64.c $(regdef_h)
amd64.c : $(srcdir)/../regformats/i386/amd64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64.dat amd64.c
-amd64-linux.o : amd64-linux.c $(regdef_h)
amd64-linux.c : $(srcdir)/../regformats/i386/amd64-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-linux.dat amd64-linux.c
-amd64-avx.o : amd64-avx.c $(regdef_h)
amd64-avx.c : $(srcdir)/../regformats/i386/amd64-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx.dat amd64-avx.c
-amd64-avx-linux.o : amd64-avx-linux.c $(regdef_h)
amd64-avx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-linux.dat amd64-avx-linux.c
-x32.o : x32.c $(regdef_h)
x32.c : $(srcdir)/../regformats/i386/x32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32.dat x32.c
-x32-linux.o : x32-linux.c $(regdef_h)
x32-linux.c : $(srcdir)/../regformats/i386/x32-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-linux.dat x32-linux.c
-x32-avx.o : x32-avx.c $(regdef_h)
x32-avx.c : $(srcdir)/../regformats/i386/x32-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx.dat x32-avx.c
-x32-avx-linux.o : x32-avx-linux.c $(regdef_h)
x32-avx-linux.c : $(srcdir)/../regformats/i386/x32-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-linux.dat x32-avx-linux.c
-reg-xtensa.o : reg-xtensa.c $(regdef_h)
reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
-reg-tilegx.o : reg-tilegx.c $(regdef_h)
reg-tilegx.c : $(srcdir)/../regformats/reg-tilegx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx.dat reg-tilegx.c
+
+#
+# Dependency tracking. Most of this is conditional on GNU Make being
+# found by configure; if GNU Make is not found, we fall back to a
+# simpler scheme.
+#
+
+@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
+# Note that we put the dependencies into a .Tpo file, then move them
+# into place if the compile succeeds. We need this because gcc does
+# not atomically write the dependency output file.
+@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
+@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
+@GMAKE_TRUE@else
+@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
+@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+# depcomp handles atomicity for us, so we don't need a postcompile
+# step.
+@GMAKE_TRUE@override POSTCOMPILE =
+@GMAKE_TRUE@endif
+
+# A list of all the objects we might care about in this build, for
+# dependency tracking.
+all_object_files = $(OBS) $(GDBREPLAY_OBS)
+
+# Ensure that generated files are created early. Use order-only
+# dependencies if available. They require GNU make 3.80 or newer,
+# and the .VARIABLES variable was introduced at the same time.
+@GMAKE_TRUE@ifdef .VARIABLES
+@GMAKE_TRUE@$(all_object_files): | $(generated_files)
+@GMAKE_TRUE@else
+$(all_object_files) : $(generated_files)
+@GMAKE_TRUE@endif
+
+# Dependencies.
+@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
+
# This is the end of "Makefile.in".
diff --git a/gdb/gdbserver/aclocal.m4 b/gdb/gdbserver/aclocal.m4
index 7b546b7..55bf0d8 100644
--- a/gdb/gdbserver/aclocal.m4
+++ b/gdb/gdbserver/aclocal.m4
@@ -106,4 +106,6 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+m4_include([../../config/depstand.m4])
+m4_include([../../config/lead-dot.m4])
m4_include([acinclude.m4])
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index 35da28b..6493c0f 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -40,8 +40,20 @@ AC_HEADER_DIRENT
AC_FUNC_ALLOCA
+# Dependency checking.
+ZW_CREATE_DEPDIR
+ZW_PROG_COMPILER_DEPENDENCIES([CC])
+
# Check for the 'make' the user wants to use.
AC_CHECK_PROGS(MAKE, make)
+MAKE_IS_GNU=
+case "`$MAKE --version 2>&1 | sed 1q`" in
+ *GNU*)
+ MAKE_IS_GNU=yes
+ ;;
+esac
+AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
+AC_PROG_MAKE_SET
# Configure gnulib. We can't use AC_CONFIG_SUBDIRS as that'd expect
# to find the the source subdir to be configured directly under
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RFC: automatic dependency tracking for gdbserver
2012-12-03 21:18 RFC: automatic dependency tracking for gdbserver Tom Tromey
@ 2012-12-07 3:12 ` Joel Brobecker
2012-12-07 10:18 ` Pedro Alves
2012-12-10 20:15 ` RFC: automatic dependency tracking for gdbserver Tom Tromey
2 siblings, 0 replies; 8+ messages in thread
From: Joel Brobecker @ 2012-12-07 3:12 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
> This patch applies the same automatic dependency tracking logic that gdb
> uses to gdbserver.
Yay! :-). Thanks for doing this, Tom. I am not a specialist, but
everything looked reasonable...
--
Joel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RFC: automatic dependency tracking for gdbserver
2012-12-03 21:18 RFC: automatic dependency tracking for gdbserver Tom Tromey
2012-12-07 3:12 ` Joel Brobecker
@ 2012-12-07 10:18 ` Pedro Alves
2012-12-07 14:43 ` Tom Tromey
2012-12-10 20:15 ` RFC: automatic dependency tracking for gdbserver Tom Tromey
2 siblings, 1 reply; 8+ messages in thread
From: Pedro Alves @ 2012-12-07 10:18 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
On 12/03/2012 09:17 PM, Tom Tromey wrote:
> This patch applies the same automatic dependency tracking logic that gdb
> uses to gdbserver.
>
> The downside of this patch is that gdbserver dependencies will not be
> tracked unless the developer is using GNU make. On the other hand,
> we've had this same code in gdb for several years without any
> complaints.
>
> Comments?
Err, I love you? :-) Seriously, many thanks for doing this.
> +amd64-linux-ipa.o : amd64-linux.c
Spurious space -----^
> diff --git a/gdb/gdbserver/aclocal.m4 b/gdb/gdbserver/aclocal.m4
> index 7b546b7..55bf0d8 100644
> --- a/gdb/gdbserver/aclocal.m4
> +++ b/gdb/gdbserver/aclocal.m4
> @@ -106,4 +106,6 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
> # Public sister of _AM_SUBST_NOTMAKE.
> AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
>
> +m4_include([../../config/depstand.m4])
> +m4_include([../../config/lead-dot.m4])
> m4_include([acinclude.m4])
I think I'd mildly prefer having these listed explicitly in acinclude.m4,
so you can do just autoreconf on the command line or aclocal, without worrying
about forgetting -I (IIRC, ACLOCAL_AMFLAGS is actually ignored, because we're
not using automake). WDYT? I actually have a patch for GDB that does the same
to gdb's aclocal. See the second patch at:
https://github.com/palves/gdb/commits/aclocal
but I never posted it.
I do wonder why does acinclude.m4 use sinclude instead of include. I don't
see why you'd ever want those includes to silently fail.
--
Pedro Alves
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RFC: automatic dependency tracking for gdbserver
2012-12-07 10:18 ` Pedro Alves
@ 2012-12-07 14:43 ` Tom Tromey
2013-01-16 19:48 ` Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver) Pedro Alves
0 siblings, 1 reply; 8+ messages in thread
From: Tom Tromey @ 2012-12-07 14:43 UTC (permalink / raw)
To: Pedro Alves; +Cc: gdb-patches
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> I think I'd mildly prefer having these listed explicitly in
Pedro> acinclude.m4, so you can do just autoreconf on the command line
Pedro> or aclocal, without worrying about forgetting -I (IIRC,
Pedro> ACLOCAL_AMFLAGS is actually ignored, because we're not using
Pedro> automake). WDYT?
Sure, I will make that change.
Pedro> I actually have a patch for GDB that does the
Pedro> same to gdb's aclocal.
I think the change would be fine, but gdb does actually use this
variable:
$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
gdbserver doesn't seem to have these maintainer-mode rebuild rules.
All these little details are a benefit of automake; but I looked at that
a bit and it is kind of a pain to switch over.
Pedro> I do wonder why does acinclude.m4 use sinclude instead of
Pedro> include. I don't see why you'd ever want those includes to
Pedro> silently fail.
Yeah, that is weird.
Tom
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RFC: automatic dependency tracking for gdbserver
2012-12-03 21:18 RFC: automatic dependency tracking for gdbserver Tom Tromey
2012-12-07 3:12 ` Joel Brobecker
2012-12-07 10:18 ` Pedro Alves
@ 2012-12-10 20:15 ` Tom Tromey
2 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2012-12-10 20:15 UTC (permalink / raw)
To: gdb-patches
>>>>> "Tom" == Tom Tromey <tromey@redhat.com> writes:
Tom> This patch applies the same automatic dependency tracking logic that gdb
Tom> uses to gdbserver.
Here is the patch I am checking in.
It addresses Pedro's comments.
Tom
2012-12-10 Tom Tromey <tromey@redhat.com>
* Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
(COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
macros.
(.c.o): Rewrite.
(ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
(common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
(i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
(amd64-linux-ipa.o, ax.o): Rewrite.
(event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
(proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
(thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
(signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
(gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
(format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
(i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
(linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
(linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
(linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
(linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
(linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
(nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
(win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
(arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
(reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
(i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
(reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
(mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
(powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
(powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
(powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
(powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
(powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
(powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
(s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
(s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
(s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
(tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
(amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
(x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
(reg-tilegx.o): Remove.
(all_object_files): New macro.
Include .deps files.
* aclocal.m4, configure: Rebuild.
* acinclude.m4: Include depstand.m4, lead-dot.m4.
* configure.ac: Invoke ZW_CREATE_DEPDIR,
ZW_PROG_COMPILER_DEPENDENCIES. Compute GMAKE condition.
---
gdb/gdbserver/ChangeLog | 49 +++++++
gdb/gdbserver/Makefile.in | 318 +++++++++++++++++++-------------------------
gdb/gdbserver/acinclude.m4 | 3 +
gdb/gdbserver/configure | 176 ++++++++++++++++++++++++-
gdb/gdbserver/configure.ac | 12 ++
5 files changed, 375 insertions(+), 183 deletions(-)
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index fc4fd1d..d7dad29 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -51,6 +51,18 @@ RANLIB = @RANLIB@
CC = @CC@
+# Dependency tracking information.
+DEPMODE = @CCDEPMODE@
+DEPDIR = @DEPDIR@
+depcomp = $(SHELL) $(srcdir)/../depcomp
+
+# Note that these are overridden by GNU make-specific code below if
+# GNU make is used. The overrides implement dependency tracking.
+COMPILE.pre = $(CC)
+COMPILE.post = -c -o $@
+COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
+POSTCOMPILE = @true
+
# Directory containing source files. Don't clean up the spacing,
# this exact string is matched for by the "configure" script.
srcdir = @srcdir@
@@ -216,10 +228,9 @@ FLAGS_TO_PASS = \
# All generated files which can be included by another file.
generated_files = config.h $(GNULIB_H)
-# Prevent Sun make from putting in the machine type. Setting
-# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
.c.o:
- ${CC} -c ${INTERNAL_CFLAGS} $<
+ $(COMPILE) $<
+ $(POSTCOMPILE)
all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries)
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
@@ -453,325 +464,268 @@ IPAGENT_CFLAGS = $(CPPFLAGS) $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
-fPIC -DIN_PROCESS_AGENT \
-fvisibility=hidden
+IPAGENT_COMPILE = $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
+
# In-process agent object rules
-ax-ipa.o: ax.c $(server_h) $(ax_h) $(srcdir)/../common/ax.def
- $(CC) -c $(IPAGENT_CFLAGS) $(WARN_CFLAGS_NO_FORMAT) $< -o ax-ipa.o
-tracepoint-ipa.o: tracepoint.c $(server_h) ${ax_h}
- $(CC) -c $(IPAGENT_CFLAGS) $< -o tracepoint-ipa.o
-utils-ipa.o: utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o utils-ipa.o
-format-ipa.o: ../common/format.c $(server_h) ${ax_h}
- $(CC) -c $(IPAGENT_CFLAGS) $< -o format-ipa.o
-common-utils-ipa.o: ../common/common-utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o common-utils-ipa.o
-remote-utils-ipa.o: remote-utils.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o remote-utils-ipa.o
-regcache-ipa.o: regcache.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o regcache-ipa.o
-i386-linux-ipa.o : i386-linux.c $(regdef_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o i386-linux-ipa.o
-linux-i386-ipa.o: linux-i386-ipa.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o linux-i386-ipa.o
-linux-amd64-ipa.o: linux-amd64-ipa.c $(server_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o linux-amd64-ipa.o
-amd64-linux-ipa.o : amd64-linux.c $(regdef_h)
- $(CC) -c $(IPAGENT_CFLAGS) $< -o amd64-linux-ipa.o
-
-ax.o: ax.c $(server_h) $(ax_h) $(srcdir)/../common/ax.def
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $(WARN_CFLAGS_NO_FORMAT) $<
-event-loop.o: event-loop.c $(server_h)
-hostio.o: hostio.c $(server_h)
-hostio-errno.o: hostio-errno.c $(server_h)
-inferiors.o: inferiors.c $(server_h) $(gdbthread_h)
-mem-break.o: mem-break.c $(server_h) $(ax_h)
-proc-service.o: proc-service.c $(server_h) $(gdb_proc_service_h)
-regcache.o: regcache.c $(server_h) $(regdef_h) $(gdbthread_h)
-remote-utils.o: remote-utils.c terminal.h $(server_h) $(gdbthread_h)
-server.o: server.c $(server_h) $(agent_h) $(gdbthread_h)
-target.o: target.c $(server_h)
-thread-db.o: thread-db.c $(server_h) $(linux_low_h) $(gdb_proc_service_h) \
- $(gdb_thread_db_h) $(gdb_vecs_h)
-tracepoint.o: tracepoint.c $(server_h) $(ax_h) $(agent_h) $(gdbthread_h)
-utils.o: utils.c $(server_h)
-gdbreplay.o: gdbreplay.c config.h
-dll.o: dll.c $(server_h)
-
-signals.o: ../common/signals.c $(server_h) $(signals_def)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-procfs.o: ../common/linux-procfs.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-ptrace.o: ../common/linux-ptrace.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-common-utils.o: ../common/common-utils.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-vec.o: ../common/vec.c $(vec_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-gdb_vecs.o: ../common/gdb_vecs.c $(vec_h) $(gdb_vecs_h) $(host_defs_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-xml-utils.o: ../common/xml-utils.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-linux-osdata.o: ../common/linux-osdata.c $(server_h) $(linux_osdata_h) ../common/gdb_dirent.h
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-ptid.o: ../common/ptid.c $(ptid_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-buffer.o: ../common/buffer.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-format.o: ../common/format.c $(server_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
-
-agent.o: ../common/agent.c $(server_h) $(agent_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
+ax-ipa.o: ax.c
+ $(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
+ $(POSTCOMPILE)
+tracepoint-ipa.o: tracepoint.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+utils-ipa.o: utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+format-ipa.o: ../common/format.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+common-utils-ipa.o: ../common/common-utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+remote-utils-ipa.o: remote-utils.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+regcache-ipa.o: regcache.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+i386-linux-ipa.o: i386-linux.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+linux-i386-ipa.o: linux-i386-ipa.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+linux-amd64-ipa.o: linux-amd64-ipa.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+amd64-linux-ipa.o: amd64-linux.c
+ $(IPAGENT_COMPILE) $<
+ $(POSTCOMPILE)
+
+ax.o: ax.c
+ $(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
+ $(POSTCOMPILE)
+
+signals.o: ../common/signals.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-procfs.o: ../common/linux-procfs.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-ptrace.o: ../common/linux-ptrace.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+common-utils.o: ../common/common-utils.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+vec.o: ../common/vec.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+gdb_vecs.o: ../common/gdb_vecs.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+xml-utils.o: ../common/xml-utils.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+linux-osdata.o: ../common/linux-osdata.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+ptid.o: ../common/ptid.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+buffer.o: ../common/buffer.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+format.o: ../common/format.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+agent.o: ../common/agent.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
# We build vasprintf with -DHAVE_CONFIG_H because we want that unit to
# include our config.h file. Otherwise, some system headers do not get
# included, and the compiler emits a warning about implicitly defined
# functions (missing declaration).
vasprintf.o: $(srcdir)/../../libiberty/vasprintf.c
- $(CC) -o vasprintf.o -c $(CPPFLAGS) $(INTERNAL_CFLAGS) -DHAVE_CONFIG_H $<
+ $(COMPILE) $< -DHAVE_CONFIG_H
+ $(POSTCOMPILE)
vsnprintf.o: $(srcdir)/../../libiberty/vsnprintf.c
- $(CC) -o vsnprintf.o -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
+ $(COMPILE) $<
+ $(POSTCOMPILE)
i386_low_h = $(srcdir)/i386-low.h
-i386-low.o: i386-low.c $(i386_low_h) $(server_h) $(target_h)
-
-i387-fp.o: i387-fp.c $(server_h)
-
-linux-low.o: linux-low.c $(linux_low_h) $(linux_ptrace_h) $(linux_procfs_h) \
- $(server_h) $(linux_osdata_h) $(agent_h)
- $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< @USE_THREAD_DB@
-
-linux-arm-low.o: linux-arm-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h)
-linux-bfin-low.o: linux-bfin-low.c $(linux_low_h) $(server_h) $(libiberty_h)
-linux-cris-low.o: linux-cris-low.c $(linux_low_h) $(server_h)
-linux-crisv32-low.o: linux-crisv32-low.c $(linux_low_h) $(server_h)
-linux-ia64-low.o: linux-ia64-low.c $(linux_low_h) $(server_h)
-linux-m32r-low.o: linux-m32r-low.c $(linux_low_h) $(server_h)
-linux-mips-low.o: linux-mips-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h)
-linux-ppc-low.o: linux-ppc-low.c $(linux_low_h) $(server_h)
-linux-s390-low.o: linux-s390-low.c $(linux_low_h) $(server_h)
-linux-sh-low.o: linux-sh-low.c $(linux_low_h) $(server_h)
-linux-tic6x-low.o: linux-tic6x-low.c $(linux_low_h) $(server_h)
-linux-x86-low.o: linux-x86-low.c $(linux_low_h) $(server_h) \
- $(gdb_proc_service_h) $(i386_low_h) $(agent_h)
-linux-xtensa-low.o: linux-xtensa-low.c xtensa-xtregs.c $(linux_low_h) $(server_h)
-linux-tile-low.o: linux-tile-low.c $(linux_low_h) $(server_h)
-
-lynx-low.o: lynx-low.c $(server_h) $(target_h) $(lynx_low_h)
-lynx-ppc-low.o: lynx-ppc-low.c $(server_h) $(lynx_low_h)
-nto-low.o: nto-low.c $(server_h) $(nto_low_h) $(gdbthread_h)
-nto-x86-low.o: nto-x86-low.c $(server_h) $(nto_low_h) $(regdef_h) $(regcache_h)
+linux-low.o: linux-low.c
+ $(COMPILE) $< @USE_THREAD_DB@
+ $(POSTCOMPILE)
win32_low_h = $(srcdir)/win32-low.h
-win32-low.o: win32-low.c $(win32_low_h) $(server_h) $(regdef_h) $(regcache_h) $(gdbthread_h)
-
-win32-arm-low.o: win32-arm-low.c $(win32_low_h) $(server_h)
-win32-i386-low.o: win32-i386-low.c $(win32_low_h) $(server_h) $(i386_low_h)
-
-spu-low.o: spu-low.c $(server_h)
-
-reg-arm.o : reg-arm.c $(regdef_h)
reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
-arm-with-iwmmxt.o : arm-with-iwmmxt.c $(regdef_h)
arm-with-iwmmxt.c : $(srcdir)/../regformats/arm-with-iwmmxt.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-iwmmxt.dat arm-with-iwmmxt.c
-arm-with-vfpv2.o : arm-with-vfpv2.c $(regdef_h)
arm-with-vfpv2.c : $(srcdir)/../regformats/arm-with-vfpv2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv2.dat arm-with-vfpv2.c
-arm-with-vfpv3.o : arm-with-vfpv3.c $(regdef_h)
arm-with-vfpv3.c : $(srcdir)/../regformats/arm-with-vfpv3.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv3.dat arm-with-vfpv3.c
-arm-with-neon.o : arm-with-neon.c $(regdef_h)
arm-with-neon.c : $(srcdir)/../regformats/arm-with-neon.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-neon.dat arm-with-neon.c
-reg-bfin.o : reg-bfin.c $(regdef_h)
reg-bfin.c : $(srcdir)/../regformats/reg-bfin.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-bfin.dat reg-bfin.c
-reg-cris.o : reg-cris.c $(regdef_h)
reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cris.dat reg-cris.c
-reg-crisv32.o : reg-crisv32.c $(regdef_h)
reg-crisv32.c : $(srcdir)/../regformats/reg-crisv32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-crisv32.dat reg-crisv32.c
-i386.o : i386.c $(regdef_h)
i386.c : $(srcdir)/../regformats/i386/i386.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386.dat i386.c
-i386-linux.o : i386-linux.c $(regdef_h)
i386-linux.c : $(srcdir)/../regformats/i386/i386-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-linux.dat i386-linux.c
-i386-avx.o : i386-avx.c $(regdef_h)
i386-avx.c : $(srcdir)/../regformats/i386/i386-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx.dat i386-avx.c
-i386-avx-linux.o : i386-avx-linux.c $(regdef_h)
i386-avx-linux.c : $(srcdir)/../regformats/i386/i386-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-linux.dat i386-avx-linux.c
-i386-mmx.o : i386-mmx.c $(regdef_h)
i386-mmx.c : $(srcdir)/../regformats/i386/i386-mmx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx.dat i386-mmx.c
-i386-mmx-linux.o : i386-mmx-linux.c $(regdef_h)
i386-mmx-linux.c : $(srcdir)/../regformats/i386/i386-mmx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx-linux.dat i386-mmx-linux.c
-reg-ia64.o : reg-ia64.c $(regdef_h)
reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
-reg-m32r.o : reg-m32r.c $(regdef_h)
reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m32r.dat reg-m32r.c
-reg-m68k.o : reg-m68k.c $(regdef_h)
reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c
-reg-cf.o : reg-cf.c $(regdef_h)
reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c
-mips-linux.o : mips-linux.c $(regdef_h)
mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c
-mips-dsp-linux.o : mips-dsp-linux.c $(regdef_h)
mips-dsp-linux.c : $(srcdir)/../regformats/mips-dsp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-dsp-linux.dat mips-dsp-linux.c
-mips64-linux.o : mips64-linux.c $(regdef_h)
mips64-linux.c : $(srcdir)/../regformats/mips64-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
-mips64-dsp-linux.o : mips64-dsp-linux.c $(regdef_h)
mips64-dsp-linux.c : $(srcdir)/../regformats/mips64-dsp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-dsp-linux.dat mips64-dsp-linux.c
-powerpc-32.o : powerpc-32.c $(regdef_h)
powerpc-32.c : $(srcdir)/../regformats/rs6000/powerpc-32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32.dat powerpc-32.c
-powerpc-32l.o : powerpc-32l.c $(regdef_h)
powerpc-32l.c : $(srcdir)/../regformats/rs6000/powerpc-32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32l.dat powerpc-32l.c
-powerpc-altivec32l.o : powerpc-altivec32l.c $(regdef_h)
powerpc-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat powerpc-altivec32l.c
-powerpc-cell32l.o : powerpc-cell32l.c $(regdef_h)
powerpc-cell32l.c : $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat powerpc-cell32l.c
-powerpc-vsx32l.o : powerpc-vsx32l.c $(regdef_h)
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
-powerpc-isa205-32l.o : powerpc-isa205-32l.c $(regdef_h)
powerpc-isa205-32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat powerpc-isa205-32l.c
-powerpc-isa205-altivec32l.o : powerpc-isa205-altivec32l.c $(regdef_h)
powerpc-isa205-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat powerpc-isa205-altivec32l.c
-powerpc-isa205-vsx32l.o : powerpc-isa205-vsx32l.c $(regdef_h)
powerpc-isa205-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat powerpc-isa205-vsx32l.c
-powerpc-e500l.o : powerpc-e500l.c $(regdef_h)
powerpc-e500l.c : $(srcdir)/../regformats/rs6000/powerpc-e500l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-e500l.dat powerpc-e500l.c
-powerpc-64l.o : powerpc-64l.c $(regdef_h)
powerpc-64l.c : $(srcdir)/../regformats/rs6000/powerpc-64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-64l.dat powerpc-64l.c
-powerpc-altivec64l.o : powerpc-altivec64l.c $(regdef_h)
powerpc-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat powerpc-altivec64l.c
-powerpc-cell64l.o : powerpc-cell64l.c $(regdef_h)
powerpc-cell64l.c : $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat powerpc-cell64l.c
-powerpc-vsx64l.o : powerpc-vsx64l.c $(regdef_h)
powerpc-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat powerpc-vsx64l.c
-powerpc-isa205-64l.o : powerpc-isa205-64l.c $(regdef_h)
powerpc-isa205-64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat powerpc-isa205-64l.c
-powerpc-isa205-altivec64l.o : powerpc-isa205-altivec64l.c $(regdef_h)
powerpc-isa205-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat powerpc-isa205-altivec64l.c
-powerpc-isa205-vsx64l.o : powerpc-isa205-vsx64l.c $(regdef_h)
powerpc-isa205-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat powerpc-isa205-vsx64l.c
-s390-linux32.o : s390-linux32.c $(regdef_h)
s390-linux32.c : $(srcdir)/../regformats/s390-linux32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32.dat s390-linux32.c
-s390-linux32v1.o : s390-linux32v1.c $(regdef_h)
s390-linux32v1.c : $(srcdir)/../regformats/s390-linux32v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v1.dat s390-linux32v1.c
-s390-linux32v2.o : s390-linux32v2.c $(regdef_h)
s390-linux32v2.c : $(srcdir)/../regformats/s390-linux32v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v2.dat s390-linux32v2.c
-s390-linux64.o : s390-linux64.c $(regdef_h)
s390-linux64.c : $(srcdir)/../regformats/s390-linux64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64.dat s390-linux64.c
-s390-linux64v1.o : s390-linux64v1.c $(regdef_h)
s390-linux64v1.c : $(srcdir)/../regformats/s390-linux64v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v1.dat s390-linux64v1.c
-s390-linux64v2.o : s390-linux64v2.c $(regdef_h)
s390-linux64v2.c : $(srcdir)/../regformats/s390-linux64v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v2.dat s390-linux64v2.c
-s390x-linux64.o : s390x-linux64.c $(regdef_h)
s390x-linux64.c : $(srcdir)/../regformats/s390x-linux64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64.dat s390x-linux64.c
-s390x-linux64v1.o : s390x-linux64v1.c $(regdef_h)
s390x-linux64v1.c : $(srcdir)/../regformats/s390x-linux64v1.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v1.dat s390x-linux64v1.c
-s390x-linux64v2.o : s390x-linux64v2.c $(regdef_h)
s390x-linux64v2.c : $(srcdir)/../regformats/s390x-linux64v2.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v2.dat s390x-linux64v2.c
-tic6x-c64xp-linux.o : tic6x-c64xp-linux.c $(regdef_h)
tic6x-c64xp-linux.c : $(srcdir)/../regformats/tic6x-c64xp-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64xp-linux.dat tic6x-c64xp-linux.c
-tic6x-c64x-linux.o : tic6x-c64x-linux.c $(regdef_h)
tic6x-c64x-linux.c : $(srcdir)/../regformats/tic6x-c64x-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64x-linux.dat tic6x-c64x-linux.c
-tic6x-c62x-linux.o : tic6x-c62x-linux.c $(regdef_h)
tic6x-c62x-linux.c : $(srcdir)/../regformats/tic6x-c62x-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c62x-linux.dat tic6x-c62x-linux.c
-reg-sh.o : reg-sh.c $(regdef_h)
reg-sh.c : $(srcdir)/../regformats/reg-sh.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sh.dat reg-sh.c
-reg-sparc64.o : reg-sparc64.c $(regdef_h)
reg-sparc64.c : $(srcdir)/../regformats/reg-sparc64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sparc64.dat reg-sparc64.c
-reg-spu.o : reg-spu.c $(regdef_h)
reg-spu.c : $(srcdir)/../regformats/reg-spu.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-spu.dat reg-spu.c
-amd64.o : amd64.c $(regdef_h)
amd64.c : $(srcdir)/../regformats/i386/amd64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64.dat amd64.c
-amd64-linux.o : amd64-linux.c $(regdef_h)
amd64-linux.c : $(srcdir)/../regformats/i386/amd64-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-linux.dat amd64-linux.c
-amd64-avx.o : amd64-avx.c $(regdef_h)
amd64-avx.c : $(srcdir)/../regformats/i386/amd64-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx.dat amd64-avx.c
-amd64-avx-linux.o : amd64-avx-linux.c $(regdef_h)
amd64-avx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-linux.dat amd64-avx-linux.c
-x32.o : x32.c $(regdef_h)
x32.c : $(srcdir)/../regformats/i386/x32.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32.dat x32.c
-x32-linux.o : x32-linux.c $(regdef_h)
x32-linux.c : $(srcdir)/../regformats/i386/x32-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-linux.dat x32-linux.c
-x32-avx.o : x32-avx.c $(regdef_h)
x32-avx.c : $(srcdir)/../regformats/i386/x32-avx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx.dat x32-avx.c
-x32-avx-linux.o : x32-avx-linux.c $(regdef_h)
x32-avx-linux.c : $(srcdir)/../regformats/i386/x32-avx-linux.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-linux.dat x32-avx-linux.c
-reg-xtensa.o : reg-xtensa.c $(regdef_h)
reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
-reg-tilegx.o : reg-tilegx.c $(regdef_h)
reg-tilegx.c : $(srcdir)/../regformats/reg-tilegx.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx.dat reg-tilegx.c
+
+#
+# Dependency tracking. Most of this is conditional on GNU Make being
+# found by configure; if GNU Make is not found, we fall back to a
+# simpler scheme.
+#
+
+@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
+# Note that we put the dependencies into a .Tpo file, then move them
+# into place if the compile succeeds. We need this because gcc does
+# not atomically write the dependency output file.
+@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
+@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
+@GMAKE_TRUE@else
+@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
+@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+# depcomp handles atomicity for us, so we don't need a postcompile
+# step.
+@GMAKE_TRUE@override POSTCOMPILE =
+@GMAKE_TRUE@endif
+
+# A list of all the objects we might care about in this build, for
+# dependency tracking.
+all_object_files = $(OBS) $(GDBREPLAY_OBS)
+
+# Ensure that generated files are created early. Use order-only
+# dependencies if available. They require GNU make 3.80 or newer,
+# and the .VARIABLES variable was introduced at the same time.
+@GMAKE_TRUE@ifdef .VARIABLES
+@GMAKE_TRUE@$(all_object_files): | $(generated_files)
+@GMAKE_TRUE@else
+$(all_object_files) : $(generated_files)
+@GMAKE_TRUE@endif
+
+# Dependencies.
+@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
+
# This is the end of "Makefile.in".
diff --git a/gdb/gdbserver/acinclude.m4 b/gdb/gdbserver/acinclude.m4
index 037cc32..0e0bdc8 100644
--- a/gdb/gdbserver/acinclude.m4
+++ b/gdb/gdbserver/acinclude.m4
@@ -9,6 +9,9 @@ sinclude(../../config/override.m4)
dnl For ACX_PKGVERSION and ACX_BUGURL.
sinclude(../../config/acx.m4)
+m4_include(../../config/depstand.m4)
+m4_include(../../config/lead-dot.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/configure b/gdb/gdbserver/configure
index ab22b5e..9ec9340 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -606,7 +606,13 @@ WARN_CFLAGS
ustinc
ustlibs
LIBOBJS
+SET_MAKE
+GMAKE_FALSE
+GMAKE_TRUE
MAKE
+CCDEPMODE
+DEPDIR
+am__leading_dot
ALLOCA
RANLIB
INSTALL_DATA
@@ -4273,6 +4279,118 @@ _ACEOF
fi
+# Dependency checking.
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depdir"
+
+
+depcc="$CC" am_compiler_list=
+
+am_depcomp=$ac_aux_dir/depcomp
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ if test $depmode = none; then break; fi
+
+ $as_echo "$as_me:$LINENO: trying $depmode" >&5
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "include sub/conftest.Po" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ depcmd="depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c"
+ echo "| $depcmd" | sed -e 's/ */ /g' >&5
+ if env $depcmd > conftest.err 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 &&
+ ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ $as_echo "$as_me:$LINENO: success" >&5
+ break
+ fi
+ fi
+ $as_echo "$as_me:$LINENO: failure, diagnostics are:" >&5
+ sed -e 's/^/| /' < conftest.err >&5
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
+then as_fn_error "no usable dependency style found" "$LINENO" 5
+else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+fi
+
+
# Check for the 'make' the user wants to use.
for ac_prog in make
do
@@ -4316,6 +4434,51 @@ fi
test -n "$MAKE" && break
done
+MAKE_IS_GNU=
+case "`$MAKE --version 2>&1 | sed 1q`" in
+ *GNU*)
+ MAKE_IS_GNU=yes
+ ;;
+esac
+ if test "$MAKE_IS_GNU" = yes; then
+ GMAKE_TRUE=
+ GMAKE_FALSE='#'
+else
+ GMAKE_TRUE='#'
+ GMAKE_FALSE=
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
# Configure gnulib. We can't use AC_CONFIG_SUBDIRS as that'd expect
# to find the the source subdir to be configured directly under
@@ -4419,7 +4582,7 @@ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cach
cd "$ac_popdir"
-for ac_header in sgtty.h termio.h termios.h sys/reg.h string.h proc_service.h sys/procfs.h thread_db.h linux/elf.h stdlib.h unistd.h errno.h fcntl.h signal.h sys/file.h malloc.h sys/ioctl.h netinet/in.h sys/socket.h netdb.h netinet/tcp.h arpa/inet.h sys/wait.h wait.h sys/un.h linux/perf_event.h
+for ac_header in sgtty.h termio.h termios.h sys/reg.h string.h proc_service.h sys/procfs.h thread_db.h linux/elf.h stdlib.h unistd.h errno.h fcntl.h signal.h sys/file.h malloc.h sys/ioctl.h netinet/in.h sys/socket.h netdb.h netinet/tcp.h arpa/inet.h sys/wait.h wait.h sys/un.h linux/perf_event.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -5663,6 +5826,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
+ as_fn_error "conditional \"GMAKE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
@@ -6241,6 +6408,11 @@ _ASBOX
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR
+
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -6250,6 +6422,7 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
+ "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
@@ -6796,6 +6969,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
+ "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
"default":C) 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 35da28b..6493c0f 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -40,8 +40,20 @@ AC_HEADER_DIRENT
AC_FUNC_ALLOCA
+# Dependency checking.
+ZW_CREATE_DEPDIR
+ZW_PROG_COMPILER_DEPENDENCIES([CC])
+
# Check for the 'make' the user wants to use.
AC_CHECK_PROGS(MAKE, make)
+MAKE_IS_GNU=
+case "`$MAKE --version 2>&1 | sed 1q`" in
+ *GNU*)
+ MAKE_IS_GNU=yes
+ ;;
+esac
+AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
+AC_PROG_MAKE_SET
# Configure gnulib. We can't use AC_CONFIG_SUBDIRS as that'd expect
# to find the the source subdir to be configured directly under
--
1.7.7.6
^ permalink raw reply [flat|nested] 8+ messages in thread
* Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver)
2012-12-07 14:43 ` Tom Tromey
@ 2013-01-16 19:48 ` Pedro Alves
2013-01-16 21:15 ` Tom Tromey
0 siblings, 1 reply; 8+ messages in thread
From: Pedro Alves @ 2013-01-16 19:48 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
On 12/07/2012 02:43 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>
> Pedro> I think I'd mildly prefer having these listed explicitly in
> Pedro> acinclude.m4, so you can do just autoreconf on the command line
> Pedro> or aclocal, without worrying about forgetting -I (IIRC,
> Pedro> ACLOCAL_AMFLAGS is actually ignored, because we're not using
> Pedro> automake). WDYT?
>
> Sure, I will make that change.
>
> Pedro> I actually have a patch for GDB that does the
> Pedro> same to gdb's aclocal.
>
> I think the change would be fine, but gdb does actually use this
> variable:
>
> $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
> cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
Ah. I don't tend to remember to enable maintainer mode...
The dependencies are already stale though.
If you do 'autoreconf' on gdb's source dir currently, you'll see
aclocal.m4/configure changing spuriously and configure losing
a couple flags. A patch like the below fixes that, and adds
a couple "keep in sync with" comments. WDYT?
> gdbserver doesn't seem to have these maintainer-mode rebuild rules.
> All these little details are a benefit of automake; but I looked at that
> a bit and it is kind of a pain to switch over.
Yeah...
2013-01-16 Pedro Alves <palves@redhat.com>
* acinclude.m4: Include ../config/plugins.m4,
../config/largefile.m4, ../config/lead-dot.m4. Add comments.
* Makefile.in (aclocal_m4_deps): Update.
* aclocal.m4: Renegerate.
---
gdb/Makefile.in | 11 +++++++----
gdb/acinclude.m4 | 17 +++++++++++++++--
gdb/aclocal.m4 | 3 ---
3 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index b065d41..6d386ac 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1312,15 +1312,17 @@ config.status: $(srcdir)/configure configure.tgt configure.host
ACLOCAL = aclocal
ACLOCAL_AMFLAGS = -I ../config
+
+# Keep these in sync with the includes in acinclude.s4.
aclocal_m4_deps = \
configure.ac \
acx_configure_dir.m4 \
- ../config/extensions.m4 \
- ../config/lead-dot.m4 \
- ../config/proginstall.m4 \
../bfd/bfd.m4 \
../config/acinclude.m4 \
+ ../config/plugins.m4 \
+ ../config/lead-dot.m4 \
../config/override.m4 \
+ ../config/largefile.m4 \
../config/gettext-sister.m4 \
../config/lib-ld.m4 \
../config/lib-prefix.m4 \
@@ -1329,7 +1331,8 @@ aclocal_m4_deps = \
../config/tcl.m4 \
../config/depstand.m4 \
../config/lcmessage.m4 \
- ../config/codeset.m4
+ ../config/codeset.m4 \
+ ../config/zlib.m4
$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 5399e40..25caddd 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -1,17 +1,30 @@
dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
+# Keep these includes in sync with the aclocal_m4_deps list in
+# Makefile.in.
+
sinclude(acx_configure_dir.m4)
dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
sinclude(../bfd/bfd.m4)
-dnl This gets the standard macros
+dnl This gets the standard macros.
sinclude(../config/acinclude.m4)
-dnl This gets autoconf bugfixes
+dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
+sinclude(../config/plugins.m4)
+
+dnl For ACX_LARGEFILE.
+sinclude(../config/largefile.m4)
+
+dnl For AM_SET_LEADING_DOT.
+sinclude(../config/lead-dot.m4)
+
+dnl This gets autoconf bugfixes.
sinclude(../config/override.m4)
+dnl For ZW_GNU_GETTEXT_SISTER_DIR.
sinclude(../config/gettext-sister.m4)
dnl For AC_LIB_HAVE_LINKFLAGS.
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index fdd8d08..7b546b7 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -106,7 +106,4 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-m4_include([../config/largefile.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/plugins.m4])
m4_include([acinclude.m4])
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver)
2013-01-16 19:48 ` Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver) Pedro Alves
@ 2013-01-16 21:15 ` Tom Tromey
2013-01-17 11:08 ` Pedro Alves
0 siblings, 1 reply; 8+ messages in thread
From: Tom Tromey @ 2013-01-16 21:15 UTC (permalink / raw)
To: Pedro Alves; +Cc: gdb-patches
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> 2013-01-16 Pedro Alves <palves@redhat.com>
Pedro> * acinclude.m4: Include ../config/plugins.m4,
Pedro> ../config/largefile.m4, ../config/lead-dot.m4. Add comments.
Pedro> * Makefile.in (aclocal_m4_deps): Update.
Pedro> * aclocal.m4: Renegerate.
Looks good to me.
Tom
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver)
2013-01-16 21:15 ` Tom Tromey
@ 2013-01-17 11:08 ` Pedro Alves
0 siblings, 0 replies; 8+ messages in thread
From: Pedro Alves @ 2013-01-17 11:08 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
On 01/16/2013 09:15 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>
> Pedro> 2013-01-16 Pedro Alves <palves@redhat.com>
> Pedro> * acinclude.m4: Include ../config/plugins.m4,
> Pedro> ../config/largefile.m4, ../config/lead-dot.m4. Add comments.
> Pedro> * Makefile.in (aclocal_m4_deps): Update.
> Pedro> * aclocal.m4: Renegerate.
>
> Looks good to me.
Applied, with ...
> +# Keep these in sync with the includes in acinclude.s4.
^
... this typo fixed, as noticed by Matt Rice.
Thanks.
2013-01-17 Pedro Alves <palves@redhat.com>
* acinclude.m4: Include ../config/plugins.m4,
../config/largefile.m4 and ../config/lead-dot.m4. Add comments.
* Makefile.in (aclocal_m4_deps): Update.
* aclocal.m4: Renegerate.
---
gdb/Makefile.in | 11 +++++++----
gdb/acinclude.m4 | 17 +++++++++++++++--
gdb/aclocal.m4 | 3 ---
3 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index beb5bcb..7305e6d 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1313,15 +1313,17 @@ config.status: $(srcdir)/configure configure.tgt configure.host
ACLOCAL = aclocal
ACLOCAL_AMFLAGS = -I ../config
+
+# Keep these in sync with the includes in acinclude.m4.
aclocal_m4_deps = \
configure.ac \
acx_configure_dir.m4 \
- ../config/extensions.m4 \
- ../config/lead-dot.m4 \
- ../config/proginstall.m4 \
../bfd/bfd.m4 \
../config/acinclude.m4 \
+ ../config/plugins.m4 \
+ ../config/lead-dot.m4 \
../config/override.m4 \
+ ../config/largefile.m4 \
../config/gettext-sister.m4 \
../config/lib-ld.m4 \
../config/lib-prefix.m4 \
@@ -1330,7 +1332,8 @@ aclocal_m4_deps = \
../config/tcl.m4 \
../config/depstand.m4 \
../config/lcmessage.m4 \
- ../config/codeset.m4
+ ../config/codeset.m4 \
+ ../config/zlib.m4
$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 5399e40..25caddd 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -1,17 +1,30 @@
dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
+# Keep these includes in sync with the aclocal_m4_deps list in
+# Makefile.in.
+
sinclude(acx_configure_dir.m4)
dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
sinclude(../bfd/bfd.m4)
-dnl This gets the standard macros
+dnl This gets the standard macros.
sinclude(../config/acinclude.m4)
-dnl This gets autoconf bugfixes
+dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
+sinclude(../config/plugins.m4)
+
+dnl For ACX_LARGEFILE.
+sinclude(../config/largefile.m4)
+
+dnl For AM_SET_LEADING_DOT.
+sinclude(../config/lead-dot.m4)
+
+dnl This gets autoconf bugfixes.
sinclude(../config/override.m4)
+dnl For ZW_GNU_GETTEXT_SISTER_DIR.
sinclude(../config/gettext-sister.m4)
dnl For AC_LIB_HAVE_LINKFLAGS.
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index fdd8d08..7b546b7 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -106,7 +106,4 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-m4_include([../config/largefile.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/plugins.m4])
m4_include([acinclude.m4])
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-01-17 11:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-03 21:18 RFC: automatic dependency tracking for gdbserver Tom Tromey
2012-12-07 3:12 ` Joel Brobecker
2012-12-07 10:18 ` Pedro Alves
2012-12-07 14:43 ` Tom Tromey
2013-01-16 19:48 ` Make autoreconf under gdb/ work (Re: RFC: automatic dependency tracking for gdbserver) Pedro Alves
2013-01-16 21:15 ` Tom Tromey
2013-01-17 11:08 ` Pedro Alves
2012-12-10 20:15 ` RFC: automatic dependency tracking for gdbserver Tom Tromey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox