OSDN Git Service

* config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Jan 2005 21:09:14 +0000 (21:09 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Jan 2005 21:09:14 +0000 (21:09 +0000)
redundant target_cpu_default and extra_parts lines.  Use the default
"from-abi" ISA.
* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
(SUBTARGET_EXTRA_SPECS): Delete.
(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
and "n32" for -mabi=n32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93777 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 40a06bb..0533ca3 100644 (file)
@@ -1,3 +1,15 @@
+2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
+       redundant target_cpu_default and extra_parts lines.  Use the default
+       "from-abi" ISA.
+       * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
+       (SUBTARGET_EXTRA_SPECS): Delete.
+       (DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
+       (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
+       * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
+       and "n32" for -mabi=n32.
+
 2005-01-17  Ian Lance Taylor  <ian@airs.com>
 
        PR c/5675
index a295059..581c106 100644 (file)
@@ -1384,15 +1384,7 @@ mips*-*-netbsd*)                 # NetBSD/mips, either endian.
 mips64*-*-linux*)
        tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
        tmake_file="${tmake_file} mips/t-linux64"
-
-       # This default ABI is a partial lie: t-linux64 overrides the
-       # DRIVER_SELF_SPEC that sets the default abi, in the spec file
-       # that is installed.  What GCC thinks of as the default must
-       # remain as ABI_32 such that the SONAMEs of the libgcc shared
-       # libraries remain compatible with those of mips-linux-gnu.
-       tm_defines="MIPS_ISA_DEFAULT=1 MIPS_ABI_DEFAULT=ABI_32"
-       target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
-       extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
+       tm_defines="MIPS_ABI_DEFAULT=ABI_N32"
        gnu_ld=yes
        gas=yes
        ;;
index 6835f71..6651fb0 100644 (file)
@@ -19,25 +19,16 @@ along with GCC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* This sets the post-install default ABI to n32.  This must NOT be
-   kept in sync with the default ABI in gcc/config.gcc; it's actually
-   meant to override that.  However, for correct behavior at build
-   time, we also need t-linux64 to get the build-time specs in line
-   with the setting in config.gcc.  */
-#define DRIVER_DEFAULT_ABI_SELF_SPEC "%{!mabi=*:-mabi=n32}"
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "driver_default_abi_self_spec", DRIVER_DEFAULT_ABI_SELF_SPEC },
+/* Force the default endianness and ABI flags onto the command line
+   in order to make the other specs easier to write.  */
 #define DRIVER_SELF_SPECS \
 "%{!EB:%{!EL:%(endian_spec)}}", \
-"%(driver_default_abi_self_spec)", \
-"%{!mips*:%{!march=*:%{mabi=32:-mips1}%{mabi=n32|mabi=64:-mips3}}}"
+"%{!mabi=*: -mabi=n32}"
 
 #undef SUBTARGET_ASM_SPEC
 #define SUBTARGET_ASM_SPEC "\
 %{!fno-PIC:%{!fno-pic:-KPIC}} \
-%{fno-PIC:-non_shared} %{fno-pic:-non_shared} \
-%{mabi=64:-64} %{mabi=n32:-n32}"
+%{fno-PIC:-non_shared} %{fno-pic:-non_shared}"
 
 #undef LIB_SPEC
 #define LIB_SPEC "\
index 39531e5..1896f49 100644 (file)
@@ -1,5 +1,5 @@
 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
-MULTILIB_DIRNAMES = 32 o32 64
+MULTILIB_DIRNAMES = n32 32 64
 MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
 
 EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o