vr.h (DRIVER_SELF_SPECS): Define.
authorRichard Sandiford <rsandifo@redhat.com>
Mon, 14 Oct 2002 07:17:41 +0000 (07:17 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 14 Oct 2002 07:17:41 +0000 (07:17 +0000)
* 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

gcc/ChangeLog
gcc/config/mips/t-vr
gcc/config/mips/vr.h

index 4268d240a7a3a9484b2c9b22dcd5ee1225f37f6d..c19a7b040cb7364be0533c619d4749013fb61ae8 100644 (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.
index 7af78ab21f79dfedbbeea8be2875bfeca355e488..68daad8dc005fc1310f6302791f6c3723a650a88 100644 (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`
index 4bdc245347237f247c7b18f91049d7a5870f4946..1352599a300b6795e545c4f49299bae355667eb2 100644 (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}"