OSDN Git Service

* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
[pf3gnuchains/gcc-fork.git] / gcc / config / rs6000 / t-darwin
index e6bb483..3513d52 100644 (file)
@@ -1,25 +1,37 @@
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm \
+       $(srcdir)/config/rs6000/ppc64-fp.c \
+       $(srcdir)/config/darwin-64.c \
+       $(srcdir)/config/rs6000/darwin-ldouble.c
 
-dp-bit.c: $(srcdir)/config/fp-bit.c
-       cat $(srcdir)/config/fp-bit.c > dp-bit.c
+LIB2FUNCS_STATIC_EXTRA = \
+       $(srcdir)/config/rs6000/darwin-fpsave.asm  \
+       $(srcdir)/config/rs6000/darwin-vecsave.asm  \
+       $(srcdir)/config/rs6000/darwin-world.asm
 
-fp-bit.c: $(srcdir)/config/fp-bit.c
-       echo '#define FLOAT' > fp-bit.c
-       cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall
 
-darwin.o: $(srcdir)/config/darwin.c $(CONFIG_H) $(SYSTEM_H) $(RTL_BASE_H) \
-          $(REGS_H) hard-reg-set.h insn-config.h conditions.h output.h \
-          insn-attr.h flags.h $(TREE_H) $(EXPR_H) reload.h $(C_TREE_H) \
-          function.h $(GGC_H) $(TM_P_H)
-       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/darwin.c
+# The .asm files above are designed to run on all processors,
+# even though they use AltiVec instructions.  -Wa is used because
+# -force_cpusubtype_ALL doesn't work with -dynamiclib.
+#
+# -pipe because there's an assembler bug, 4077127, which causes
+# it to not properly process the first # directive, causing temporary
+# file names to appear in stabs, causing the bootstrap to fail.  Using -pipe
+# works around this by not having any temporary file names.
+TARGET_LIBGCC2_CFLAGS = -Wa,-force_cpusubtype_ALL -pipe -mmacosx-version-min=10.4
 
-# Build the libraries for both hard and soft floating point
+# Export the _xlq* symbols from darwin-ldouble.c.
+SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver
 
-MULTILIB_OPTIONS = msoft-float
-MULTILIB_DIRNAMES = soft-float
+SHLIB_VERPFX = $(srcdir)/config/rs6000/darwin-libgcc
 
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
+LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
+
+darwin-fpsave.o:       $(srcdir)/config/rs6000/darwin-asm.h
+darwin-tramp.o:                $(srcdir)/config/rs6000/darwin-asm.h
+
+# Explain how to build crt2.o
+$(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \
+       $(TCONFIG_H) stmp-int-hdrs tsystem.h
+       $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \
+         -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext)