Commit c1077e1e by Richard Sandiford Committed by Richard Sandiford

config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines.

	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
	(MULTILIB_DEFAULTS): Use it.
	(MIPS_CPU_STRING_DEFAULT): Remove.
	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
	march=vr4130, march=vr4300 and march=vr5000.
	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
	accordingly.

From-SVN: r79915
parent c235ddf2
2004-03-24 Richard Sandiford <rsandifo@redhat.com>
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
(MULTILIB_DEFAULTS): Use it.
(MIPS_CPU_STRING_DEFAULT): Remove.
(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
EABI64 -mlong32 the default ABI. Enforce the default architecture.
* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
march=vr4130, march=vr4300 and march=vr5000.
(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
(MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
accordingly.
2004-03-24 DJ Delorie <dj@redhat.com>
Richard Sandiford <rsandifo@redhat.com>
......
......@@ -22,27 +22,59 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES)
# END boiler-plate
# Main multilibs
# --------------
#
# Endianness: EB or EL
#
# ABIs: mabi=32
# mabi=o64
# mabi=eabi
# meabi=eabi/mlong32
# mabi=eabi/mlong32
# mabi=eabi/mgp32
# mabi=eabi/mgp32/mlong64
#
# Architecture: march=vr5400
# march=vr4100
# march=vr4100/mips16
# Architecture: march=vr4120 with -mfix-vr4122-bugs
# march=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.
#
# Total: 2 * 6 * 3 = 36 multilibs.
#
# Extra MIPS16 multilibs
# ----------------------
#
# Endianness: EB or EL
#
# ABIs: mabi=o64
# mabi=eabi/mlong32
# mabi=eabi/mgp32
#
# Architecture: march=vr4120 with -mfix-vr4122-bugs
# march=vr4130 (default)
#
# Total: 2 * 3 * 2 = 12 multilibs.
MULTILIB_OPTIONS = \
EL/EB \
mabi=32/mabi=o64/mabi=eabi \
mgp32 \
mlong64 \
mips16 \
march=vr5400/march=vr4100
mfix-vr4122-bugs/march=vr4130/march=vr4300/march=vr5000/march=vr5400/march=vr5500
MULTILIB_DIRNAMES = \
el eb \
......@@ -50,19 +82,30 @@ MULTILIB_DIRNAMES = \
gp32 \
long64 \
mips16 \
vr5400 vr4100
vr4120 vr4130 vr4300 vr5000 vr5400 vr5500
MULTILIB_MATCHES = EL=mel EB=meb
MULTILIB_MATCHES = EL=mel EB=meb mfix-vr4122-bugs=march?vr4120
# Assume a 4000-series is the default: we'd need a *mips16 entry if
# the default processor didn't support mips16. Also assume o64,
# which means we need to extend the o64 exceptions to combinations
# without a -mabi flag.
# 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* \
mgp32* E[LB]/mgp32* \
mlong64* E[LB]/mlong64* \
*mips16/march=vr5*
*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
......@@ -19,13 +19,30 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define MIPS_CPU_STRING_DEFAULT "vr4100"
#define DEFAULT_VR_ARCH "vr4130"
#define MIPS_ABI_DEFAULT ABI_EABI
#define MIPS_MARCH_CONTROLS_SOFT_FLOAT 1
#define MULTILIB_DEFAULTS \
{ MULTILIB_ENDIAN_DEFAULT, MULTILIB_ABI_DEFAULT, "march=vr4100" }
{ MULTILIB_ENDIAN_DEFAULT, \
MULTILIB_ABI_DEFAULT, \
"march=" DEFAULT_VR_ARCH }
/* Make sure that -mlong64 always appears on the command line when
64-bit longs are needed. Also make sure that -mgp32 doesn't appear
if it is redundant. */
#define DRIVER_SELF_SPECS \
"%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \
"%{mabi=32:%<mgp32}"
/* Make -mfix-vr4122-bugs imply -march=vr4120. This cuts down \
on command-line tautology and makes it easier for t-vr to \
provide a -mfix-vr4122-bugs multilib. */ \
"%{mfix-vr4122-bugs:%{!march=*:-march=vr4120}}", \
\
/* Make -mabi=eabi -mlong32 the default. */ \
"%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}", \
\
/* Make sure -mlong64 multilibs are chosen when 64-bit longs \
are needed. */ \
"%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \
\
/* Remove -mgp32 if it is redundant. */ \
"%{mabi=32:%<mgp32}", \
\
/* Enforce the default architecture. This is mostly for \
the assembler's benefit. */ \
"%{!march=*:-march=" DEFAULT_VR_ARCH "}"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment