From: Richard Sandiford Date: Mon, 17 Jan 2005 21:09:14 +0000 (+0000) Subject: config.gcc (mips64*-*-linux*): Set the default abi to n32. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2184a1201e63dbd4798c041370f7fcbb711813fb;p=gcc.git config.gcc (mips64*-*-linux*): Set the default abi to n32. * 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. From-SVN: r93777 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40a06bb61f3..0533ca3f455 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2005-01-17 Richard Sandiford + + * 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 PR c/5675 diff --git a/gcc/config.gcc b/gcc/config.gcc index a295059127a..581c1060bb9 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 6835f715236..6651fb011f5 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 39531e59e69..1896f491e93 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