# Don't let CTOR_LIST end up in sdata section.
CRTSTUFF_T_CFLAGS = -G 0

# Assemble startup files.
$(T)crti.o: $(srcdir)/config/mips/crti.asm $(GCC_PASSES)
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
	-c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/mips/crti.asm

$(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES)
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
	-c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm

# We must build libgcc2.a with -G 0, in case the user wants to link
# without the $gp register. Use -fno-optimize-sibling-calls in case
# we have a mixed mips16/non-mips16 environment where a plain "jump"
# instuction won't work across the divide (no jx instruction).
TARGET_LIBGCC2_CFLAGS = -G 0 -fno-optimize-sibling-calls

MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64 mips16 msoft-float/mfp64
MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips16 sof f64
MULTILIB_MATCHES = EL=mel EB=meb mips16=mips16e

# The -mfp64 option is only valid in conjunction with -mips32r2.
ifneq ($(filter MIPS_ISA_DEFAULT=33,$(tm_defines)),)
MULTILIB_EXCLUSIONS := mips32/mfp64 mips64/mfp64
else
MULTILIB_EXCLUSIONS := !mips32r2/mfp64
endif

# Don't build 64-bit MIPS16 multilibs.
MULTILIB_EXCLUSIONS += mips16/mips64

EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o

# Build the multilibs.
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
