aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config.gcc10
-rw-r--r--gcc/config/mips/linux64.h17
-rw-r--r--gcc/config/mips/t-linux642
4 files changed, 18 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 40a06bb..0533ca3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config.gcc b/gcc/config.gcc
index a295059..581c106 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -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
;;
diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
index 6835f71..6651fb0 100644
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -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 "\
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
index 39531e5..1896f49 100644
--- a/gcc/config/mips/t-linux64
+++ b/gcc/config/mips/t-linux64
@@ -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