113 lines
2.5 KiB
Plaintext
113 lines
2.5 KiB
Plaintext
# BEGIN boiler-plate MIPS stuff
|
|
|
|
# Don't let CTOR_LIST end up in sdata section.
|
|
CRTSTUFF_T_CFLAGS = -G 0
|
|
|
|
# We must build libgcc2.a with -G 0, in case the user wants to link
|
|
# without the $gp register.
|
|
TARGET_LIBGCC2_CFLAGS = -G 0
|
|
|
|
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/mips/mips16.S \
|
|
$(srcdir)/config/mips/vr4120-div.S
|
|
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
|
|
|
# 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
|
|
|
|
# END boiler-plate
|
|
|
|
# Main multilibs
|
|
# --------------
|
|
#
|
|
# Endianness: EB or EL
|
|
#
|
|
# ABIs: mabi=32
|
|
# mabi=o64
|
|
# mabi=eabi
|
|
# mabi=eabi/mlong32
|
|
# mabi=eabi/mgp32
|
|
# mabi=eabi/mgp32/mlong64
|
|
#
|
|
# Architecture: march=vr4120 with -mfix-vr4120
|
|
# march=vr4130 with -mfix-vr4130 (default)
|
|
# march=vr5000
|
|
# march=vr5400
|
|
# march=vr5500
|
|
#
|
|
# Total: 2 * 6 * 5 = 60 multilibs.
|
|
#
|
|
#
|
|
# Extra vr4300 multilibs
|
|
# ----------------------
|
|
#
|
|
# Endianness: EB or EL
|
|
#
|
|
# ABI: o64
|
|
#
|
|
# Architecture: vr4300.
|
|
#
|
|
# Total: 2 * 1 * 2 = 2 multilibs.
|
|
#
|
|
#
|
|
# Extra MIPS16 multilibs
|
|
# ----------------------
|
|
#
|
|
# Endianness: EB or EL
|
|
#
|
|
# ABIs: mabi=o64
|
|
# mabi=eabi/mlong32
|
|
# mabi=eabi/mgp32
|
|
#
|
|
# Architecture: march=vr4120 with -mfix-vr4120
|
|
# march=vr4130 with -mfix-vr4130 (default)
|
|
#
|
|
# Total: 2 * 3 * 2 = 12 multilibs.
|
|
MULTILIB_OPTIONS = \
|
|
EL/EB \
|
|
mabi=32/mabi=o64/mabi=eabi \
|
|
mgp32 \
|
|
mlong64 \
|
|
mips16 \
|
|
mfix-vr4120/mfix-vr4130/march=vr4300/march=vr5000/march=vr5400/march=vr5500
|
|
|
|
MULTILIB_DIRNAMES = \
|
|
el eb \
|
|
o32 o64 eabi \
|
|
gp32 \
|
|
long64 \
|
|
mips16 \
|
|
vr4120 vr4130 vr4300 vr5000 vr5400 vr5500
|
|
|
|
MULTILIB_MATCHES = EL=mel EB=meb mfix-vr4120=march?vr4120 \
|
|
mfix-vr4130=march?vr4130
|
|
|
|
# Assume a 41xx-series is the default: we'd need a *mips16 entry if
|
|
# the default processor didn't support mips16. Also assume the
|
|
# default ABI is EABI64 -mlong32.
|
|
MULTILIB_EXCEPTIONS = \
|
|
*mabi=32/mlong64* \
|
|
*mabi=32/mgp32* \
|
|
*mabi=o64/mgp32* \
|
|
*mabi=o64/mlong64* \
|
|
*mips16/march=vr5* \
|
|
*mips16/march=vr4300 \
|
|
$(MIPS16_EXCEPTIONS) \
|
|
$(VR4300_EXCEPTIONS)
|
|
|
|
MIPS16_EXCEPTIONS = \
|
|
*mabi=32*mips16* \
|
|
*mlong64*mips16*
|
|
|
|
VR4300_EXCEPTIONS = \
|
|
*mabi=32*march=vr4300 \
|
|
*mgp32*march=vr4300 \
|
|
*mlong64*march=vr4300 \
|
|
march=vr4300 \
|
|
E[LB]/march=vr4300
|