This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]