Revision: 126737
Author:   bwendlin
Date:     2007-04-30 12:14:35 -0700 (Mon, 30 Apr 2007)

Log Message:
-----------
Fix the race condition where a dylib is used before it's actually created.
Naming it a unique name for each stage will fix this.

Modified Paths:
--------------
    apple-local/branches/llvm/gcc/Makefile.in

Modified: apple-local/branches/llvm/gcc/Makefile.in
===================================================================
--- apple-local/branches/llvm/gcc/Makefile.in   2007-04-30 19:04:35 UTC (rev 
126736)
+++ apple-local/branches/llvm/gcc/Makefile.in   2007-04-30 19:14:35 UTC (rev 
126737)
@@ -1124,16 +1124,16 @@
 # llvm-linker-hack.cpp
 DYLIB_COMPILE_FLAGS := $(filter-out -mdynamic-no-pic, \
                              $(ALL_CXXFLAGS) $(ALL_CPPFLAGS))
-libllvmgcc.dylib: llvm-linker-hack.cpp $(LLVMLIBFILES)
+libllvmgcc$(LLVM_STAGE).dylib: llvm-linker-hack.cpp $(LLVMLIBFILES)
        echo $(LLVMLIBFILES)
        $(CXX) $(DYLIB_COMPILE_FLAGS) $(INCLUDES) -o $@ \
            $< $(LLVMLIBFILES)  -dynamiclib -single_module \
            -install_name @executable_path/$@
 
-LLVMBACKENDFILES := libllvmgcc.dylib
+LLVMBACKENDFILES := libllvmgcc$(LLVM_STAGE).dylib
 
 # Make sure that 'make install' knows about the dylib.
-EXTRA_PROGRAMS += libllvmgcc.dylib
+EXTRA_PROGRAMS += libllvmgcc$(LLVM_STAGE).dylib
 
 # APPLE LOCAL begin LLVM - set DYLD path
 SET_DYLIB_PATH=1
@@ -4073,7 +4073,8 @@
        $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
                CFLAGS="$(STAGE1_CFLAGS) $(STAGE1_CHECKING)" \
                MAKEINFO="$(MAKEINFO)" MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
-               COVERAGE_FLAGS= OBJS-onestep="$(OBJS)"
+               COVERAGE_FLAGS= OBJS-onestep="$(OBJS)" \
+               LLVM_STAGE="-stage1"
        $(STAMP) stage1_build
        echo stage1_build > stage_last
 
@@ -4083,13 +4084,11 @@
        echo stage2_build > stage_last
 
 stage2_build: stage1_copy
-       if test "${SET_DYLIB_PATH}" = "1"; then \
-         DYLD_LIBRARY_PATH="`${PWD_COMMAND}`/stage1"; \
-       fi; \
        $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ 
-B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) 
-Bstage1/ -B$(build_tooldir)/bin/" \
                 STAGE_PREFIX=stage1/ \
                 $(POSTSTAGE1_FLAGS_TO_PASS) \
-                $(STAGE2_FLAGS_TO_PASS)
+                $(STAGE2_FLAGS_TO_PASS) \
+                LLVM_STAGE="-stage2"
        $(STAMP) stage2_build
        echo stage2_build > stage_last
 
@@ -4099,13 +4098,11 @@
        echo stage3_build > stage_last
 
 stageprofile_build: stage1_copy
-       if test "${SET_DYLIB_PATH}" = "1"; then \
-         DYLD_LIBRARY_PATH="`${PWD_COMMAND}`/stage1"; \
-       fi; \
        $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ 
-B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) 
-Bstage1/ -B$(build_tooldir)/bin/" \
                 STAGE_PREFIX=stage1/ \
                 $(POSTSTAGE1_FLAGS_TO_PASS) \
-                $(STAGEPROFILE_FLAGS_TO_PASS)
+                $(STAGEPROFILE_FLAGS_TO_PASS) \
+                LLVM_STAGE="-stage_profile"
        $(STAMP) stageprofile_build
        echo stageprofile_build > stage_last
 
@@ -4115,24 +4112,20 @@
        echo stagefeedback_build > stage_last
 
 stage3_build: stage2_copy
-       if test "${SET_DYLIB_PATH}" = "1"; then \
-         DYLD_LIBRARY_PATH="`${PWD_COMMAND}`/stage2"; \
-       fi; \
        $(MAKE) CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ 
-B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) 
-Bstage2/ -B$(build_tooldir)/bin/" \
                 STAGE_PREFIX=stage2/ \
                 $(POSTSTAGE1_FLAGS_TO_PASS) \
-                $(STAGE2_FLAGS_TO_PASS)
+                $(STAGE2_FLAGS_TO_PASS) \
+                LLVM_STAGE=""
        $(STAMP) stage3_build
        echo stage3_build > stage_last
 
 stagefeedback_build: stageprofile_copy stage1_copy
-       if test "${SET_DYLIB_PATH}" = "1"; then \
-         DYLD_LIBRARY_PATH="`${PWD_COMMAND}`/stage1"; \
-       fi; \
        $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ 
-B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) 
-Bstage1/ -B$(build_tooldir)/bin/" \
                 STAGE_PREFIX=stage1/ \
                 $(POSTSTAGE1_FLAGS_TO_PASS) \
-                $(STAGEFEEDBACK_FLAGS_TO_PASS)
+                $(STAGEFEEDBACK_FLAGS_TO_PASS) \
+                LLVM_STAGE="-stage_feedback"
        $(STAMP) stagefeedback_build
        echo stagefeedback_build > stage_last
 
@@ -4148,9 +4141,6 @@
        echo stage4_build > stage_last
 
 stage4_build: stage3_copy
-       if test "${SET_DYLIB_PATH}" = "1"; then \
-         DYLD_LIBRARY_PATH="`${PWD_COMMAND}`/stage3"; \
-       fi; \
        $(MAKE) CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ 
-B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) 
-Bstage3/ -B$(build_tooldir)/bin/" \
                 STAGE_PREFIX=stage3/ \
                 $(POSTSTAGE1_FLAGS_TO_PASS) \


_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to