Mark linker Makefile rules for job server build
authorak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 2010 17:09:45 +0000 (17:09 +0000)
committerak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 2010 17:09:45 +0000 (17:09 +0000)
-fwhopr=jobserver requires telling GNU make that the linker (= lto)
rules support job server, so that the necessary jobserver
information is passed through.

Add + to all the executable targets that run LTO for this purpose.

This improves build performance with a -fwhopr=jobserver
bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly.

I didn't change Ada because that apparently doesn't support LTO.

Passes bootstrap and test suite. Ok to commit?

gcc/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
        gcov-dump, cc1-dummy, genprog, build/gcov-iov):
        Add + to build rule.

gcc/cp/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (g++, cc1plus): Add + to build rule.

gcc/fortran/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (gfortran, f951): Add + to build rule.

gcc/java/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
        Add + to build rule.

gcc/lto/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (lto1): Add + to build rule.

gcc/objc/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.

gcc/objcp/

2010-10-04  Andi Kleen <ak@linux.intel.com>

* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.

More plus fixes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164949 138bc75d-0d04-0410-961f-82ee72b054a4

14 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/fortran/ChangeLog
gcc/fortran/Make-lang.in
gcc/java/ChangeLog
gcc/java/Make-lang.in
gcc/lto/ChangeLog
gcc/lto/Make-lang.in
gcc/objc/ChangeLog
gcc/objc/Make-lang.in
gcc/objcp/ChangeLog
gcc/objcp/Make-lang.in

index 98a614a..adf2d84 100644 (file)
@@ -1,3 +1,9 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
+        gcov-dump, cc1-dummy, genprog, build/gcov-iov):
+        Add + to build rule.
+
 2010-10-04  Matthias Klose  <doko@ubuntu.com>
 
        * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
index d4970c3..c25afb5 100644 (file)
@@ -1810,7 +1810,7 @@ libbackend.a: $(OBJS)
 # and CC is `gcc'.  It is renamed to `gcc' when it is installed.
 xgcc$(exeext): $(GCC_OBJS) gccspec.o version.o intl.o prefix.o \
    version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
          gccspec.o intl.o prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
 
 # cpp is to cpp0 as gcc is to cc1.
@@ -1818,7 +1818,7 @@ xgcc$(exeext): $(GCC_OBJS) gccspec.o version.o intl.o prefix.o \
 # instead of gccspec.o.
 cpp$(exeext): $(GCC_OBJS) cppspec.o version.o intl.o prefix.o \
    version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
          cppspec.o intl.o prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
 
 # Dump a specs file to make -B./ read these specs over installed ones.
@@ -1835,7 +1835,7 @@ gcc-cross$(exeext): xgcc$(exeext)
 dummy-checksum.o : dummy-checksum.c $(CONFIG_H) $(SYSTEM_H)
 
 cc1-dummy$(exeext): $(C_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
          dummy-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 cc1-checksum.c : cc1-dummy$(exeext) build/genchecksum$(build_exeext)
@@ -1844,7 +1844,7 @@ cc1-checksum.c : cc1-dummy$(exeext) build/genchecksum$(build_exeext)
 cc1-checksum.o : cc1-checksum.c $(CONFIG_H) $(SYSTEM_H)
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
          cc1-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 #\f
@@ -2056,7 +2056,7 @@ COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o intl.o version.o
 COLLECT2_LIBS = @COLLECT2_LIBS@
 collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
 # Don't try modifying collect2 (aka ld) in place--it might be linking this.
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o T$@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o T$@ \
                $(COLLECT2_OBJS) $(LIBS) $(COLLECT2_LIBS)
        mv -f T$@ $@
 
@@ -2073,7 +2073,7 @@ tlink.o: tlink.c $(DEMANGLE_H) $(HASHTAB_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h
     $(OBSTACK_H) collect2.h intl.h
 
 lto-wrapper$(exeext): lto-wrapper.o intl.o $(LIBDEPS)
-       $(COMPILER) $(ALL_COMPILERFLAGS) $(LDFLAGS) -o T$@ lto-wrapper.o intl.o $(LIBS)
+       +$(COMPILER) $(ALL_COMPILERFLAGS) $(LDFLAGS) -o T$@ lto-wrapper.o intl.o $(LIBS)
        mv -f T$@ $@
 
 lto-wrapper.o: lto-wrapper.c $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h \
@@ -3935,7 +3935,7 @@ build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o
 
 # Rule for the generator programs:
 $(genprog:%=build/gen%$(build_exeext)): build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS)
-       $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \
+       +$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \
            $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)
 
 # Generated source files for gengtype.
@@ -3985,7 +3985,7 @@ build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
   $(SYSTEM_H) coretypes.h $(TM_H)
 
 build/gcov-iov$(build_exeext): build/gcov-iov.o
-       $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
+       +$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
                build/gcov-iov.o -o $@
 
 gcov-iov.h: s-iov
@@ -4002,10 +4002,10 @@ gcov-dump.o: gcov-dump.c gcov-io.c $(GCOV_IO_H) $(SYSTEM_H) coretypes.h \
 
 GCOV_OBJS = gcov.o intl.o version.o errors.o
 gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) $(GCOV_OBJS) $(LIBS) -o $@
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) $(GCOV_OBJS) $(LIBS) -o $@
 GCOV_DUMP_OBJS = gcov-dump.o version.o errors.o
 gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) $(GCOV_DUMP_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) $(GCOV_DUMP_OBJS) \
                $(LIBS) -o $@
 #\f
 # Build the include directories.  The stamp files are stmp-* rather than
index 5ca247b..cd9d533 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (g++, cc1plus): Add + to build rule.
+
 2010-10-04  Jason Merrill  <jason@redhat.com>
 
        * tree.c (decl_storage_duration): New.
index 35736ca..4be40b5 100644 (file)
@@ -62,7 +62,7 @@ g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
 # Create the compiler driver for g++.
 GXX_OBJS = $(GCC_OBJS) g++spec.o intl.o prefix.o version.o
 g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
          $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
 
 # Create a version of the g++ driver which calls the cross-compiler.
@@ -101,7 +101,7 @@ cc1plus-checksum.c : cc1plus-dummy$(exeext) build/genchecksum$(build_exeext)
 cc1plus-checksum.o : cc1plus-checksum.c $(CONFIG_H) $(SYSTEM_H)
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
              $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 # Special build rules.
index f8606c8..9704511 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (gfortran, f951): Add + to build rule.
+
 2010-10-04  Richard Guenther  <rguenther@suse.de>
 
        * f95-lang.c (current_translation_unit): New global variable.
index 6dd752f..c92c5da 100644 (file)
@@ -86,7 +86,7 @@ gfortranspec.o: $(srcdir)/fortran/gfortranspec.c $(SYSTEM_H) $(TM_H) $(GCC_H) \
 # Create the compiler driver gfortran.
 GFORTRAN_D_OBJS = $(GCC_OBJS) gfortranspec.o version.o prefix.o intl.o
 gfortran$(exeext): $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
          $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
 
 # Create a version of the gfortran driver which calls the cross-compiler.
@@ -97,7 +97,7 @@ gfortran-cross$(exeext): gfortran$(exeext)
 # The compiler itself is called f951.
 f951$(exeext): $(F95_OBJS) \
                $(BACKEND) $(LIBDEPS) attribs.o
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
                $(F95_OBJS) $(BACKEND) $(LIBS) attribs.o $(BACKENDLIBS)
 
 gt-fortran-trans.h    : s-gtype; @true
index 4dab150..0d155a8 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
+        Add + to build rule.
+
 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
 
        * lang.opt: Don't use VarExists.
index 0c91c37..d0d17cb 100644 (file)
@@ -65,7 +65,7 @@ jvspec.o: $(srcdir)/java/jvspec.c $(SYSTEM_H) coretypes.h $(TM_H) \
 # Create the compiler driver for $(XGCJ).
 $(XGCJ)$(exeext): $(GCC_OBJS) jvspec.o java/jcf-path.o version.o \
           prefix.o intl.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
          jvspec.o java/jcf-path.o prefix.o intl.o \
          version.o $(EXTRA_GCC_OBJS) $(LIBS)
 
@@ -100,17 +100,17 @@ jvspec.o-warn = -Wno-error
 
 jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS) attribs.o
        rm -f $@
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
                $(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBICONV) $(LIBS) attribs.o $(BACKENDLIBS)
 
 jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIBDEPS)
        rm -f $@
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
                $(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS)
 
 jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
        rm -f $@
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) \
                $(LIBS)
 
 #\f
index 5c8ac55..49e2d75 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (lto1): Add + to build rule.
+
 2010-10-03  Andi Kleen <ak@linux.intel.com>
 
        * lto.c (lto_file_finalize): Replace gcc_assert for missing section
index a770368..9391405 100644 (file)
@@ -72,7 +72,7 @@ lto.stagefeedback:
 lto-warn = $(STRICT_WARN)
 
 $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
                $(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS) $(LTO_USE_LIBELF)
 
 # Dependencies
index 2f1982c..135d503 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
+
 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
 
        merge from FSF 'apple/trunk' branch.
index 67644bb..08189ef 100644 (file)
@@ -52,7 +52,7 @@ OBJC_OBJS = objc/objc-lang.o objc/objc-act.o
 objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o
 
 cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
              $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \
              $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
@@ -62,7 +62,7 @@ cc1obj-checksum.c : cc1obj-dummy$(exeext) build/genchecksum$(build_exeext)
 cc1obj-checksum.o : cc1obj-checksum.c $(CONFIG_H) $(SYSTEM_H)
 
 cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
              $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \
              $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
index c1012ec..b43c412 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.
+
 2010-09-28  Richard Henderson  <rth@redhat.com>
 
        * objcp-lang.c: Include "target.h".
index 0849a89..f9adeac 100644 (file)
@@ -56,7 +56,7 @@ obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o
 
 cc1objplus-dummy$(exeext): $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) \
                $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
                $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 cc1objplus-checksum.c : cc1objplus-dummy$(exeext) build/genchecksum$(build_exeext)
@@ -65,7 +65,7 @@ cc1objplus-checksum.c : cc1objplus-dummy$(exeext) build/genchecksum$(build_exeex
 cc1objplus-checksum.o : cc1objplus-checksum.c $(CONFIG_H) $(SYSTEM_H)
 
 cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS)
-       $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
                $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 # Objective C++ language specific files.