vr.h (DRIVER_SELF_SPECS): Define.

* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
	* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
	(MULTILIB_DIRNAMES): Remove long32.
	(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
	(MULTILIB_REDUNDANT_DIRS): Remove.

From-SVN: r58116
This commit is contained in:
Richard Sandiford 2002-10-14 07:17:41 +00:00 committed by Richard Sandiford
parent 4eb9ac3926
commit adadd18328
3 changed files with 18 additions and 32 deletions

View File

@ -1,3 +1,11 @@
2002-10-14 Richard Sandiford <rsandifo@redhat.com>
* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
(MULTILIB_DIRNAMES): Remove long32.
(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
(MULTILIB_REDUNDANT_DIRS): Remove.
2002-10-14 Richard Sandiford <rsandifo@redhat.com>
* doc/tm.texi (DRIVER_SELF_SPECS): Document.

View File

@ -39,7 +39,7 @@ MULTILIB_OPTIONS = \
EL/EB \
mabi=32/mabi=o64/mabi=eabi \
mgp32 \
mlong32/mlong64 \
mlong64 \
mips16 \
march=vr5400/march=vr4100
@ -47,7 +47,7 @@ MULTILIB_DIRNAMES = \
el eb \
o32 o64 eabi \
gp32 \
long32 long64 \
long64 \
mips16 \
vr5400 vr4100
@ -59,38 +59,9 @@ MULTILIB_MATCHES = EL=mel EB=meb
# without a -mabi flag.
MULTILIB_EXCEPTIONS = \
*mabi=32/mlong64* \
*mabi=32/mgp32/mlong64* \
*mabi=32/mgp32* \
*mabi=o64/mgp32* \
*mabi=o64/mlong64* \
mgp32* E[LB]/mgp32* \
mlong64* E[LB]/mlong64* \
*mips16/march=vr5*
# The real value of this macro is very long, so generate it using a
# shell fragment. The idea is to tell the GCC driver how -mabi,
# -mgp32, -mlong32 and -mlong64 interact, so that it choses the right
# library when some options are specified redundantly (for example,
# -mabi=32 -mgp32).
# The core equalities are listed after "for changes in ". The first
# entry assumes o64 is the default ABI.
MULTILIB_REDUNDANT_DIRS=` \
for endian in '' 'el' 'eb'; do \
for arch in '' 'vr5400' 'vr4100' \
'mips16' 'mips16/vr100'; do \
for changes in long32= \
o32/gp32=o32 \
o32/gp32/long32=o32 \
o32/long32=o32 \
o64/long32=o64 \
eabi/gp32/long32=eabi/gp32 \
eabi/long64=eabi; do \
from=\`echo \$${changes} | sed 's/=.*//'\`; \
to=\`echo \$${changes} | sed 's/.*=//'\`; \
echo \$$endian \$$from \$$arch=\$$endian \$$to \$$arch \
| sed -e 's: *= *:=:' \
-e 's: *:/:g' \
-e 's:=$$:=.:'; \
done; \
done; \
done`

View File

@ -22,3 +22,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define MIPS_CPU_STRING_DEFAULT "vr4100"
#define MULTILIB_DEFAULTS \
{ MULTILIB_ENDIAN_DEFAULT, MULTILIB_ABI_DEFAULT, "march=vr4100" }
/* 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}"