diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/config.gcc | 10 | ||||
-rw-r--r-- | gcc/config/mips/linux64.h | 17 | ||||
-rw-r--r-- | gcc/config/mips/t-linux64 | 2 |
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 |