This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] fix make -jN issues in t-slibgcc-darwin
- From: Eric Christopher <echristo at apple dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 20 Jul 2006 00:35:28 -0700
- Subject: [committed] fix make -jN issues in t-slibgcc-darwin
So, last commit I enabled using temporary files - and then didn't use it
across all of the targets in libgcc_s.1.dylib. This patch does that and
fixes a couple of errors that we found with make -j8 on a quad processor
ppc64 box.
Tested on i386-darwin and ppc-darwin. Approved by Mike.
-eric
2006-07-19 Eric Christopher <echristo@apple.com>
* config/t-slibgcc-darwin (stmp-lipo): Remove.
Rewrite dependencies for libgcc_s.1.dylib.
Index: config/t-slibgcc-darwin
===================================================================
--- config/t-slibgcc-darwin (revision 115607)
+++ config/t-slibgcc-darwin (working copy)
@@ -43,7 +43,7 @@ ASM_HIDDEN_OP = .private_extern
# The actual use of the libraries is controlled by REAL_LIBGCC_SPEC.
#
# This assumes each multilib corresponds to a different architecture.
-libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver libgcc.a
+libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver stmp-multilib
# When building multilibbed target libraries, all the required
# libraries are expected to exist in the multilib directory.
MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \
@@ -62,7 +62,8 @@ libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver
$(LIPO_FOR_TARGET) -output $@ -create $(@)_T*
rm $(@)_T*
-stmp-lipo: libgcc.a libgcc_s.10.4.dylib libgcc_s.10.5.dylib
+libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): stmp-multilib libgcc_s.10.4.dylib \
+ libgcc_s.10.5.dylib
# When building multilibbed target libraries, all the required
# libraries are expected to exist in the multilib directory.
MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \
@@ -74,16 +75,15 @@ stmp-lipo: libgcc.a libgcc_s.10.4.dylib
$(LIPO_FOR_TARGET) -output libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
-create libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
- $(STAMP) stmp-lipo
# From the point-of-view of the Makefiles, libgcc is built by the 'strip'
# and 'lipo' commands above.
-LIBGCC=stmp-lipo
+LIBGCC=libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_s.10.4.dylib \
+ libgcc_s.10.5.dylib stmp-multilib
INSTALL_FILES=libgcc_s.10.4.dylib libgcc_s.10.5.dylib libgcc_s.1.dylib
-install-darwin-libgcc-stubs : $(INSTALL_FILES) installdirs install-multilib \
- stmp-lipo
+install-darwin-libgcc-stubs : $(INSTALL_FILES) installdirs
for d in $(INSTALL_FILES) ; do \
$(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \
done
@@ -93,4 +93,4 @@ install-darwin-libgcc-stubs : $(INSTALL_
$(LN_S) libgcc_s.1.dylib \
$(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib
-INSTALL_LIBGCC += install-darwin-libgcc-stubs
+INSTALL_LIBGCC = install-darwin-libgcc-stubs install-multilib