Commit 009da785 by Eric Christopher Committed by Eric Christopher

config.gcc: Revert part of earlier patch.

2001-11-01  Eric Christopher  <echristo@redhat.com>

        * config.gcc: Revert part of earlier patch.
        * config/mips/linux.h: Ditto.
	* df.c: Include tm_p.h to avoid warnings.
        * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
	#if/#endif.
	* config/mips/mips.c: Define mips_abi regardless.
	(mips_output_function_prologues): Add long casts for .frame
	output.
	(override_options): Allow use of ABI_32.

From-SVN: r46707
parent 9caea35c
2001-11-01 Eric Christopher <echristo@redhat.com>
* config.gcc: Revert part of earlier patch.
* config/mips/linux.h: Ditto.
* df.c: Include tm_p.h to avoid warnings.
* config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
#if/#endif.
* config/mips/mips.c: Define mips_abi regardless.
(mips_output_function_prologues): Add long casts for .frame
output.
(override_options): Allow use of ABI_32.
2001-11-01 Kazu Hirata <kazu@hxi.com>
* config/m68hc11/m68hc11.c: Fix comment formatting.
......
......@@ -2261,17 +2261,17 @@ mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
;;
mips*-*-linux*) # Linux MIPS, either endian.
xmake_file=x-linux
tm_file="linux.h mips/linux.h"
case $machine in
mipsisa32el-*)
tm_file="elfos.h mips/elfl.h mips/linux.h mips/isa32-linux.h"
target_cpu_default="MASK_SOFT_FLOAT"
;;
mipsisa32-*)
tm_file="elfos.h mips/elf.h mips/linux.h mips/isa32-linux.h"
target_cpu_default="MASK_SOFT_FLOAT"
;;
mips*el-*) tm_file="elfos.h mips/elfl.h mips/linux.h" ;;
*) tm_file="elfos.h mips/elf.h mips/linux.h"
mipsisa32*-*)
tm_file="$tm_file mips/isa32-linux.h"
target_cpu_default="MASK_SOFT_FLOAT"
;;
esac
case $machine in
mips*el-*)
tm_file="mips/little.h $tm_file"
;;
esac
tmake_file="t-slibgcc-elf-ver t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
......
......@@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
/* US Software GOFAST library support. */
#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
#include "mips/mips.h"
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
......
......@@ -224,11 +224,8 @@ enum processor_type mips_tune;
/* which instruction set architecture to use. */
int mips_isa;
#ifdef MIPS_ABI_DEFAULT
/* Which ABI to use. This is defined to a constant in mips.h if the target
doesn't support multiple ABIs. */
/* which abi to use. */
int mips_abi;
#endif
/* Strings to hold which cpu and instruction set architecture to use. */
const char *mips_cpu_string; /* for -mcpu=<xxx> */
......@@ -4886,10 +4883,6 @@ override_options ()
|| mips_abi == ABI_64))
target_flags |= MASK_LONG64;
/* ??? This doesn't work yet, so don't let people try to use it. */
if (mips_abi == ABI_32)
error ("The -mabi=32 support does not work yet.");
#else
if (mips_abi_string)
error ("This target does not support the -mabi switch.");
......@@ -7001,9 +6994,9 @@ mips_output_function_prologue (file, size)
(reg_names[(frame_pointer_needed)
? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM]),
((frame_pointer_needed && TARGET_MIPS16)
? (tsize - current_function_outgoing_args_size)
: tsize),
reg_names[31 + GP_REG_FIRST],
? ((long) tsize - current_function_outgoing_args_size)
: (long) tsize),
reg_names[GP_REG_FIRST + 31],
current_frame_info.var_size,
current_frame_info.num_gp,
current_frame_info.num_fp,
......
......@@ -99,15 +99,6 @@ enum processor_type {
with different names. */
#define ABI_MEABI 5
#ifndef MIPS_ABI_DEFAULT
/* We define this away so that there is no extra runtime cost if the target
doesn't support multiple ABIs. */
#define mips_abi ABI_32
#else
extern int mips_abi;
#endif
/* Whether to emit abicalls code sequences or not. */
enum mips_abicalls_type {
......@@ -873,51 +864,51 @@ while (0)
/* GAS_ASM_SPEC is passed when using gas, rather than the MIPS
assembler. */
#define GAS_ASM_SPEC "%{march=*} %{mtune=*} %{mcpu=*} %{m4650} %{mmad:-m4650} %{m3900} %{v} %{mgp32} %{mgp64} %(abi_gas_asm_spec) %{mabi=32:%{!mips*:-mips2}}"
#define GAS_ASM_SPEC "%{march=*} %{mtune=*} %{mcpu=*} %{m4650} %{mmad:-m4650} %{m3900} %{v} %{mgp32} %{mgp64} %(abi_gas_asm_spec) %{mabi=32:%{!mips*:-mips1}}"
/* We use the o32 abi as default for mips1 and mips2. SGI uses n32/n64 for
mips3 and mips4 by default, however, this is unsupported at this point in
binutils so we use o64. This should change when n32/n64 is supported. */
extern int mips_abi;
#ifndef MIPS_ABI_DEFAULT
#define ABI_GAS_ASM_SPEC "\
%{mabi=*} \
%{!mabi=*:%{mips1|mips2|mips32:-mabi=32} %{!mips1:%{!mips2:%{!mips32:-mabi=64}}}}"
#define MIPS_ABI_DEFAULT ABI_32
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_32
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=32}"
#define ABI_GAS_ASM_SPEC "%{mabi=*} \
%{!mabi=*:%{mips3|mips4|mips5|mips64:-mabi=o64} %{!mips3:%{!mips4:%{!mips5:%{!mips64:-mabi=32}}}}}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_N32
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=n32}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_64
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=64}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_EABI
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=eabi}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_O64
#define ABI_GAS_ASM_SPEC "\
%{mabi=*} \
%{!mabi=*:%{mips1|mips2|mips32:-mabi=32} %{!mips1:%{!mips2:%{!mips32:-mabi=o64}}}}"
%{!mabi=*:%{mips1|mips2|mips32:-mabi=32} %{!mips1:%{!mips2:%{!mips3:%{!mips32:-mabi=o64}}}}}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_MEABI
#define ABI_GAS_ASM_SPEC "\
%{mabi=*} \
%{!mabi=*:-mabi=meabi }"
#endif
#else
#ifndef ABI_GAS_ASM_SPEC
#error "Unhandled MIPS_ABI_DEFAULT"
#endif
#endif
#endif
#endif
#endif
#endif
#endif
/* TARGET_ASM_SPEC is used to select either MIPS_AS_ASM_SPEC or
GAS_ASM_SPEC as the default, depending upon the value of
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment