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> 2001-11-01 Kazu Hirata <kazu@hxi.com>
* config/m68hc11/m68hc11.c: Fix comment formatting. * config/m68hc11/m68hc11.c: Fix comment formatting.
......
...@@ -2261,17 +2261,17 @@ mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD ...@@ -2261,17 +2261,17 @@ mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
;; ;;
mips*-*-linux*) # Linux MIPS, either endian. mips*-*-linux*) # Linux MIPS, either endian.
xmake_file=x-linux xmake_file=x-linux
tm_file="linux.h mips/linux.h"
case $machine in case $machine in
mipsisa32el-*) mipsisa32*-*)
tm_file="elfos.h mips/elfl.h mips/linux.h mips/isa32-linux.h" tm_file="$tm_file mips/isa32-linux.h"
target_cpu_default="MASK_SOFT_FLOAT" target_cpu_default="MASK_SOFT_FLOAT"
;; ;;
mipsisa32-*) esac
tm_file="elfos.h mips/elf.h mips/linux.h mips/isa32-linux.h" case $machine in
target_cpu_default="MASK_SOFT_FLOAT" mips*el-*)
tm_file="mips/little.h $tm_file"
;; ;;
mips*el-*) tm_file="elfos.h mips/elfl.h mips/linux.h" ;;
*) tm_file="elfos.h mips/elf.h mips/linux.h"
esac esac
tmake_file="t-slibgcc-elf-ver t-linux" tmake_file="t-slibgcc-elf-ver t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
......
...@@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
/* US Software GOFAST library support. */ /* US Software GOFAST library support. */
#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS #define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
#include "mips/mips.h"
#undef WCHAR_TYPE #undef WCHAR_TYPE
#define WCHAR_TYPE "int" #define WCHAR_TYPE "int"
......
...@@ -224,11 +224,8 @@ enum processor_type mips_tune; ...@@ -224,11 +224,8 @@ enum processor_type mips_tune;
/* which instruction set architecture to use. */ /* which instruction set architecture to use. */
int mips_isa; int mips_isa;
#ifdef MIPS_ABI_DEFAULT /* which abi to use. */
/* Which ABI to use. This is defined to a constant in mips.h if the target
doesn't support multiple ABIs. */
int mips_abi; int mips_abi;
#endif
/* Strings to hold which cpu and instruction set architecture to use. */ /* Strings to hold which cpu and instruction set architecture to use. */
const char *mips_cpu_string; /* for -mcpu=<xxx> */ const char *mips_cpu_string; /* for -mcpu=<xxx> */
...@@ -4886,10 +4883,6 @@ override_options () ...@@ -4886,10 +4883,6 @@ override_options ()
|| mips_abi == ABI_64)) || mips_abi == ABI_64))
target_flags |= MASK_LONG64; 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 #else
if (mips_abi_string) if (mips_abi_string)
error ("This target does not support the -mabi switch."); error ("This target does not support the -mabi switch.");
...@@ -7001,9 +6994,9 @@ mips_output_function_prologue (file, size) ...@@ -7001,9 +6994,9 @@ mips_output_function_prologue (file, size)
(reg_names[(frame_pointer_needed) (reg_names[(frame_pointer_needed)
? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM]), ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM]),
((frame_pointer_needed && TARGET_MIPS16) ((frame_pointer_needed && TARGET_MIPS16)
? (tsize - current_function_outgoing_args_size) ? ((long) tsize - current_function_outgoing_args_size)
: tsize), : (long) tsize),
reg_names[31 + GP_REG_FIRST], reg_names[GP_REG_FIRST + 31],
current_frame_info.var_size, current_frame_info.var_size,
current_frame_info.num_gp, current_frame_info.num_gp,
current_frame_info.num_fp, current_frame_info.num_fp,
......
...@@ -99,15 +99,6 @@ enum processor_type { ...@@ -99,15 +99,6 @@ enum processor_type {
with different names. */ with different names. */
#define ABI_MEABI 5 #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. */ /* Whether to emit abicalls code sequences or not. */
enum mips_abicalls_type { enum mips_abicalls_type {
...@@ -873,51 +864,51 @@ while (0) ...@@ -873,51 +864,51 @@ while (0)
/* GAS_ASM_SPEC is passed when using gas, rather than the MIPS /* GAS_ASM_SPEC is passed when using gas, rather than the MIPS
assembler. */ 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 #ifndef MIPS_ABI_DEFAULT
#define ABI_GAS_ASM_SPEC "\ #define MIPS_ABI_DEFAULT ABI_32
%{mabi=*} \ #endif
%{!mabi=*:%{mips1|mips2|mips32:-mabi=32} %{!mips1:%{!mips2:%{!mips32:-mabi=64}}}}"
#else
#if MIPS_ABI_DEFAULT == ABI_32 #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 #if MIPS_ABI_DEFAULT == ABI_N32
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=n32}" #define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=n32}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_64 #if MIPS_ABI_DEFAULT == ABI_64
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=64}" #define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=64}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_EABI #if MIPS_ABI_DEFAULT == ABI_EABI
#define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=eabi}" #define ABI_GAS_ASM_SPEC "%{mabi=*} %{!mabi=*:-mabi=eabi}"
#endif
#else
#if MIPS_ABI_DEFAULT == ABI_O64 #if MIPS_ABI_DEFAULT == ABI_O64
#define ABI_GAS_ASM_SPEC "\ #define ABI_GAS_ASM_SPEC "\
%{mabi=*} \ %{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 #if MIPS_ABI_DEFAULT == ABI_MEABI
#define ABI_GAS_ASM_SPEC "\ #define ABI_GAS_ASM_SPEC "\
%{mabi=*} \ %{mabi=*} \
%{!mabi=*:-mabi=meabi }" %{!mabi=*:-mabi=meabi }"
#endif
#else #ifndef ABI_GAS_ASM_SPEC
#error "Unhandled MIPS_ABI_DEFAULT" #error "Unhandled MIPS_ABI_DEFAULT"
#endif #endif
#endif
#endif
#endif
#endif
#endif
#endif
/* TARGET_ASM_SPEC is used to select either MIPS_AS_ASM_SPEC or /* TARGET_ASM_SPEC is used to select either MIPS_AS_ASM_SPEC or
GAS_ASM_SPEC as the default, depending upon the value of GAS_ASM_SPEC as the default, depending upon the value of
......
...@@ -158,6 +158,7 @@ Perhaps there should be a bitmap argument to df_analyse to specify ...@@ -158,6 +158,7 @@ Perhaps there should be a bitmap argument to df_analyse to specify
#include "config.h" #include "config.h"
#include "system.h" #include "system.h"
#include "rtl.h" #include "rtl.h"
#include "tm_p.h"
#include "insn-config.h" #include "insn-config.h"
#include "recog.h" #include "recog.h"
#include "function.h" #include "function.h"
......
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