]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/config/mips/t-vr
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / config / mips / t-vr
diff --git a/gcc/config/mips/t-vr b/gcc/config/mips/t-vr
new file mode 100644 (file)
index 0000000..9c046b0
--- /dev/null
@@ -0,0 +1,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