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
This commit is contained in:
Richard Sandiford 2005-01-17 21:09:14 +00:00 committed by Richard Sandiford
parent 5a6e9546a8
commit 2184a1201e
4 changed files with 18 additions and 23 deletions

View 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

View 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
;;

View 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 "\

View 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