gcc/libgcc/config/spu/t-elf
Rainer Orth 902828f01c Fix SPU libgcc build
* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.

From-SVN: r181291
2011-11-11 16:49:22 +00:00

60 lines
2.0 KiB
Plaintext

# 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))