1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
# 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
|