diff options
Diffstat (limited to 'gcc-4.9/libgcc/config/spu/t-elf')
-rw-r--r-- | gcc-4.9/libgcc/config/spu/t-elf | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/gcc-4.9/libgcc/config/spu/t-elf b/gcc-4.9/libgcc/config/spu/t-elf new file mode 100644 index 000000000..29536e881 --- /dev/null +++ b/gcc-4.9/libgcc/config/spu/t-elf @@ -0,0 +1,59 @@ +# Don't let CTOR_LIST end up in sdata section. +# FIXME: This is the default. +CRTSTUFF_T_CFLAGS = + +# We exclude those because the libgcc2.c default versions do not support +# the SPU single-precision format (round towards zero). We provide our +# own versions below and/or via direct expansion. +LIB2FUNCS_EXCLUDE = _floatdisf _floatundisf _floattisf _floatunstisf + +LIB2ADD_ST = $(srcdir)/config/spu/float_unssidf.c \ + $(srcdir)/config/spu/float_unsdidf.c \ + $(srcdir)/config/spu/float_unsdisf.c \ + $(srcdir)/config/spu/float_disf.c \ + $(srcdir)/config/spu/mfc_tag_table.c \ + $(srcdir)/config/spu/mfc_tag_reserve.c \ + $(srcdir)/config/spu/mfc_tag_release.c \ + $(srcdir)/config/spu/mfc_multi_tag_reserve.c \ + $(srcdir)/config/spu/mfc_multi_tag_release.c \ + $(srcdir)/config/spu/multi3.c \ + $(srcdir)/config/spu/divmodti4.c \ + $(srcdir)/config/spu/divv2df3.c + +# Build TImode conversion routines to support Fortran 128-bit +# integer data types. +LIB2_SIDITI_CONV_FUNCS = yes + +HOST_LIBGCC2_CFLAGS += -mwarn-reloc -D__IN_LIBGCC2 + +# Neither gcc or newlib seem to have a standard way to generate multiple +# crt*.o files. So we don't use the standard crt0.o name anymore. + +cachemgr.o: $(srcdir)/config/spu/cachemgr.c + $(gcc_compile) -c $< + +# Specialised rule to add a -D flag. +cachemgr_nonatomic.o: $(srcdir)/config/spu/cachemgr.c + $(gcc_compile) -DNONATOMIC -c $< + +libgcc_%.a: %.o + $(AR_FOR_TARGET) -rcs $@ $< + +cache8k.o: $(srcdir)/config/spu/cache.S + $(gcc_compile) -D__CACHE_SIZE__=8 -c $< + +cache16k.o: $(srcdir)/config/spu/cache.S + $(gcc_compile) -D__CACHE_SIZE__=16 -c $< + +cache32k.o: $(srcdir)/config/spu/cache.S + $(gcc_compile) -D__CACHE_SIZE__=32 -c $< + +cache64k.o: $(srcdir)/config/spu/cache.S + $(gcc_compile) -D__CACHE_SIZE__=64 -c $< + +cache128k.o: $(srcdir)/config/spu/cache.S + $(gcc_compile) -D__CACHE_SIZE__=128 -c $< + +# We provide our own version of __divdf3 that performs better and has +# better support for non-default rounding modes. +DPBIT_FUNCS := $(filter-out _div_df, $(DPBIT_FUNCS)) |