X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fconfig%2Frs6000%2Ft-darwin;h=0a31bd76d7de894a32ee0e1b351fbc651df339b0;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=c9c392e145353976a25a610ea8ca34af57a2b4a1;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin index c9c392e1..0a31bd76 100644 --- a/gcc/config/rs6000/t-darwin +++ b/gcc/config/rs6000/t-darwin @@ -1,33 +1,36 @@ -# Library code must include trampoline support -LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm - -# 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 - -dp-bit.c: $(srcdir)/config/fp-bit.c - cat $(srcdir)/config/fp-bit.c > dp-bit.c - -fp-bit.c: $(srcdir)/config/fp-bit.c - echo '#define FLOAT' > fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c - -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 \ - function.h $(GGC_H) $(TM_P_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< - -darwin-c.o: $(srcdir)/config/darwin-c.c $(CONFIG_H) $(SYSTEM_H) \ - $(TREE_H) $(C_TREE_H) c-lex.h c-pragma.h toplev.h cpplib.h \ - $(TM_P_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< - -# Build the libraries for both hard and soft floating point - -MULTILIB_OPTIONS = msoft-float -MULTILIB_DIRNAMES = soft-float - -LIBGCC = stmp-multilib -INSTALL_LIBGCC = install-multilib +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 \ + $(srcdir)/config/rs6000/darwin-world.asm + +LIB2FUNCS_STATIC_EXTRA = \ + $(srcdir)/config/rs6000/darwin-fpsave.asm \ + $(srcdir)/config/rs6000/darwin-vecsave.asm + +DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall -mmacosx-version-min=10.4 + +# 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 + +# Export the _xlq* symbols from darwin-ldouble.c. +SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver + +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) \ + $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) \ + -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext)