iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h. Undef before redefinition. (LABEL_AFTER_LOC): Likewise. (DEFAULT_SIGNED_CHAR): Likewise. (ASM_OUTPUT_ASCII): Moved here from iris4.h. Fix IRIX spelling. * config/mips/iris3.h: Remove, unused. * config/mips/iris4.h: Likewise. * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused. * config/mips/iris5.h (TARGET_DEFAULT): Move ... * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to target_cpu_default. * config/mips/iris5.h: Move explicit includes ... * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here. * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ... * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to tm_defines. * config/mips/iris6.h (TARGET_DEFAULT): Move ... * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to target_cpu_default. * config/mips/iris6.h: Fix IRIX spelling. (MULTILIB_DEFAULTS): Undef before redefinition. * config/mips/iris6.h: Move explicit includes ... * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here. From-SVN: r68808
This commit is contained in:
parent
8bd87c4e73
commit
4c82f12b8e
@ -1,3 +1,38 @@
|
||||
2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
|
||||
Undef before redefinition.
|
||||
(LABEL_AFTER_LOC): Likewise.
|
||||
(DEFAULT_SIGNED_CHAR): Likewise.
|
||||
(ASM_OUTPUT_ASCII): Moved here from iris4.h.
|
||||
Fix IRIX spelling.
|
||||
|
||||
* config/mips/iris3.h: Remove, unused.
|
||||
* config/mips/iris4.h: Likewise.
|
||||
|
||||
* config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
|
||||
|
||||
* config/mips/iris5.h (TARGET_DEFAULT): Move ...
|
||||
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
|
||||
target_cpu_default.
|
||||
|
||||
* config/mips/iris5.h: Move explicit includes ...
|
||||
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
|
||||
|
||||
* config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
|
||||
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
|
||||
tm_defines.
|
||||
|
||||
* config/mips/iris6.h (TARGET_DEFAULT): Move ...
|
||||
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
|
||||
target_cpu_default.
|
||||
|
||||
* config/mips/iris6.h: Fix IRIX spelling.
|
||||
(MULTILIB_DEFAULTS): Undef before redefinition.
|
||||
|
||||
* config/mips/iris6.h: Move explicit includes ...
|
||||
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
|
||||
|
||||
Wed Jul 2 02:16:48 CEST 2003 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
|
||||
|
@ -1391,21 +1391,23 @@ mcore-*-pe*)
|
||||
tmake_file=mcore/t-mcore-pe
|
||||
;;
|
||||
mips-sgi-irix6*o32) # SGI System V.4., IRIX 6, O32 ABI
|
||||
tm_file="${tm_file} mips/iris5.h"
|
||||
if test x$gas = xyes
|
||||
then
|
||||
tm_file="mips/iris5.h mips/iris5gas.h mips/iris6-o32-gas.h"
|
||||
tm_file="${tm_file} mips/iris5gas.h mips/iris6-o32-gas.h"
|
||||
if test x$stabs = xyes
|
||||
then
|
||||
tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
|
||||
fi
|
||||
tmake_file=mips/t-iris5-gas
|
||||
else
|
||||
tm_file="mips/iris5.h mips/iris6-o32-as.h"
|
||||
tm_file="${tm_file} mips/iris6-o32-as.h"
|
||||
tmake_file=mips/t-iris5-as
|
||||
fi
|
||||
tm_file="${tm_file} mips/iris6-o32.h"
|
||||
tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
|
||||
xm_file=mips/xm-iris5.h
|
||||
target_cpu_default="MASK_ABICALLS"
|
||||
# mips-tfile doesn't work yet
|
||||
# See comment in mips/iris5.h file.
|
||||
use_collect2=yes
|
||||
@ -1414,21 +1416,24 @@ mips-sgi-irix6*o32) # SGI System V.4., IRIX 6, O32 ABI
|
||||
# fi
|
||||
;;
|
||||
mips-sgi-irix6*) # SGI System V.4., IRIX 6
|
||||
tm_file="${tm_file} mips/iris5.h mips/iris6.h"
|
||||
if test "x$gnu_ld" = xyes
|
||||
then
|
||||
tm_file="mips/iris6.h mips/iris6gld.h"
|
||||
else
|
||||
tm_file=mips/iris6.h
|
||||
tm_file="${tm_file} mips/iris6gld.h"
|
||||
fi
|
||||
tmake_file="mips/t-iris mips/t-iris5-6 mips/t-iris6"
|
||||
target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
|
||||
tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
|
||||
# if test x$enable_threads = xyes; then
|
||||
# thread_file='irix'
|
||||
# fi
|
||||
;;
|
||||
mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
|
||||
tm_file="mips/iris6.h mips/cross64.h"
|
||||
tm_file="${tm_file} mips/iris5.h mips/iris6.h mips/cross64.h"
|
||||
xm_file=mips/xm-iris5.h
|
||||
tmake_file="mips/t-iris mips/t-cross64"
|
||||
target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
|
||||
tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
|
||||
# See comment in mips/iris[56].h files.
|
||||
use_collect2=yes
|
||||
# if test x$enable_threads = xyes; then
|
||||
@ -1436,20 +1441,21 @@ mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
|
||||
# fi
|
||||
;;
|
||||
mips-sgi-irix5*) # SGI System V.4., IRIX 5
|
||||
tm_file="${tm_file} mips/iris5.h"
|
||||
if test x$gas = xyes
|
||||
then
|
||||
tm_file="mips/iris5.h mips/iris5gas.h"
|
||||
tm_file="${tm_file} mips/iris5gas.h"
|
||||
if test x$stabs = xyes
|
||||
then
|
||||
tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
|
||||
fi
|
||||
tmake_file=mips/t-iris5-gas
|
||||
else
|
||||
tm_file=mips/iris5.h
|
||||
tmake_file=mips/t-iris5-as
|
||||
fi
|
||||
tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
|
||||
xm_file=mips/xm-iris5.h
|
||||
target_cpu_default="MASK_ABICALLS"
|
||||
# mips-tfile doesn't work yet
|
||||
# See comment in mips/iris5.h file.
|
||||
use_collect2=yes
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Definitions of target machine for GNU compiler. Iris version 5.
|
||||
/* Definitions of target machine for GNU compiler. IRIX version 5.
|
||||
Copyright (C) 1993, 1995, 1996, 1998, 2000,
|
||||
2001, 2002 Free Software Foundation, Inc.
|
||||
2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -21,23 +21,16 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TARGET_IRIX5 1
|
||||
|
||||
#ifndef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT MASK_ABICALLS
|
||||
#endif
|
||||
#define ABICALLS_ASM_OP "\t.option pic2"
|
||||
|
||||
#include "mips/iris3.h"
|
||||
#include "mips/mips.h"
|
||||
#include "mips/iris4.h"
|
||||
|
||||
/* Irix 5 doesn't use COFF, so disable special COFF handling in collect2.c. */
|
||||
/* IRIX 5 doesn't use COFF, so disable special COFF handling in collect2.c. */
|
||||
#undef OBJECT_FORMAT_COFF
|
||||
|
||||
/* ??? This is correct, but not very useful, because there is no file that
|
||||
uses this macro. */
|
||||
/* ??? The best way to handle global constructors under ELF is to use .init
|
||||
and .fini sections. Unfortunately, there is apparently no way to get
|
||||
the Irix 5.x (x <= 2) assembler to create these sections. So we instead
|
||||
the IRIX 5.x (x <= 2) assembler to create these sections. So we instead
|
||||
use collect. The linker can create these sections via -init and -fini
|
||||
options, but using this would require modifying how crtstuff works, and
|
||||
I will leave that for another time (or someone else). */
|
||||
@ -58,6 +51,10 @@ Boston, MA 02111-1307, USA. */
|
||||
#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
|
||||
#define MAX_WCHAR_TYPE_SIZE 64
|
||||
|
||||
/* Plain char is unsigned in the SGI compiler. */
|
||||
#undef DEFAULT_SIGNED_CHAR
|
||||
#define DEFAULT_SIGNED_CHAR 0
|
||||
|
||||
#define WORD_SWITCH_TAKES_ARG(STR) \
|
||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
||||
|| !strcmp (STR, "rpath"))
|
||||
@ -153,7 +150,19 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef MACHINE_TYPE
|
||||
#define MACHINE_TYPE "SGI running IRIX 5.x"
|
||||
|
||||
/* Dollar signs are OK in Irix5 but not in Irix3. */
|
||||
/* Always use 1 for .file number. I [meissner@osf.org] wonder why
|
||||
IRIX needs this. */
|
||||
|
||||
#undef SET_FILE_NUMBER
|
||||
#define SET_FILE_NUMBER() num_source_filenames = 1
|
||||
|
||||
/* Put out a label after a .loc. I [meissner@osf.org] wonder why
|
||||
IRIX needs this. */
|
||||
|
||||
#undef LABEL_AFTER_LOC
|
||||
#define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno)
|
||||
|
||||
/* Dollar signs are OK in IRIX 5 but not in IRIX 3. */
|
||||
#undef DOLLARS_IN_IDENTIFIERS
|
||||
#undef NO_DOLLAR_IN_LABEL
|
||||
|
||||
@ -162,7 +171,24 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef MIPS_DEFAULT_GVALUE
|
||||
#define MIPS_DEFAULT_GVALUE 0
|
||||
|
||||
/* In Irix 5, we must output a `.global name .text' directive for every used
|
||||
/* Some assemblers have a bug that causes backslash escaped chars in .ascii
|
||||
to be misassembled, so we just completely avoid it. */
|
||||
#undef ASM_OUTPUT_ASCII
|
||||
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
|
||||
do { \
|
||||
const unsigned char *s_ = (const unsigned char *)(PTR); \
|
||||
unsigned len_ = (LEN); \
|
||||
unsigned i_; \
|
||||
for (i_ = 0; i_ < len_; s_++, i_++) \
|
||||
{ \
|
||||
if ((i_ % 8) == 0) \
|
||||
fputs ("\n\t.byte\t", (FILE)); \
|
||||
fprintf ((FILE), "%s0x%x", (i_%8?",":""), *s_); \
|
||||
} \
|
||||
fputs ("\n", (FILE)); \
|
||||
} while (0)
|
||||
|
||||
/* In IRIX 5, we must output a `.global name .text' directive for every used
|
||||
but undefined function. If we don't, the linker may perform an optimization
|
||||
(skipping over the insns that set $gp) when it is unsafe. This is used
|
||||
indirectly by ASM_OUTPUT_EXTERNAL. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Definitions of target machine for GNU compiler. Iris version 6.
|
||||
/* Definitions of target machine for GNU compiler. IRIX version 6.
|
||||
Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
@ -19,25 +19,18 @@ along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Let mips.c know we need the Irix6 functions. */
|
||||
/* Let mips.c know we need the IRIX 6 functions. */
|
||||
#define TARGET_IRIX6 1
|
||||
|
||||
/* Default to -mabi=n32 and -mips3. */
|
||||
#define MIPS_ISA_DEFAULT 3
|
||||
#define MIPS_ABI_DEFAULT ABI_N32
|
||||
#undef MULTILIB_DEFAULTS
|
||||
#define MULTILIB_DEFAULTS { "mabi=n32" }
|
||||
|
||||
#ifndef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT (MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT)
|
||||
#endif
|
||||
|
||||
#include "mips/iris5.h"
|
||||
|
||||
/* Irix6 assembler does handle DWARF2 directives. Override setting in
|
||||
irix5.h file. */
|
||||
/* IRIX 6 assembler does handle DWARF2 directives. Override setting in
|
||||
iris5.h file. */
|
||||
#undef DWARF2_UNWIND_INFO
|
||||
|
||||
/* The Irix6 assembler will sometimes assign labels to the wrong
|
||||
/* The IRIX 6 assembler will sometimes assign labels to the wrong
|
||||
section unless the labels are within .ent/.end blocks. Therefore,
|
||||
we avoid creating such labels. */
|
||||
#define DWARF2_GENERATE_TEXT_SECTION_LABEL 0
|
||||
@ -58,19 +51,19 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef WINT_TYPE_SIZE
|
||||
#define WINT_TYPE_SIZE 32
|
||||
|
||||
/* For Irix 6, -mabi=64 implies TARGET_LONG64. */
|
||||
/* For IRIX 6, -mabi=64 implies TARGET_LONG64. */
|
||||
/* This is handled in override_options. */
|
||||
|
||||
#undef SUBTARGET_CC1_SPEC
|
||||
#define SUBTARGET_CC1_SPEC ""
|
||||
|
||||
/* We must pass -D_LONGLONG always, even when -ansi is used, because irix6
|
||||
/* We must pass -D_LONGLONG always, even when -ansi is used, because IRIX 6
|
||||
system header files require it. This is OK, because gcc never warns
|
||||
when long long is used in system header files. Alternatively, we can
|
||||
add support for the SGI builtin type __long_long. */
|
||||
|
||||
/* The GNU C++ standard library requires that __EXTENSIONS__ and
|
||||
_SGI_SOURCE be defined on at least irix6.2 and probably all IRIX 6
|
||||
_SGI_SOURCE be defined on at least IRIX 6.2 and probably all IRIX 6
|
||||
prior to 6.5. They normally get defined if !ansi, for g++ we want
|
||||
them regardless. We don't need this on IRIX 6.5 itself, but it
|
||||
shouldn't hurt other than the namespace pollution. */
|
||||
@ -145,7 +138,7 @@ Boston, MA 02111-1307, USA. */
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/* Irix 6 uses DWARF-2. */
|
||||
/* IRIX 6 uses DWARF-2. */
|
||||
#define DWARF2_DEBUGGING_INFO 1
|
||||
#define MIPS_DEBUGGING_INFO 1
|
||||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
@ -167,7 +160,7 @@ Boston, MA 02111-1307, USA. */
|
||||
as DWARF_OFFSET_SIZE. */
|
||||
#define DWARF_INITIAL_LENGTH_SIZE DWARF_OFFSET_SIZE
|
||||
|
||||
/* There is no GNU as port for Irix6 yet, so we set MD_EXEC_PREFIX so that
|
||||
/* There is no GNU as port for IRIX 6 yet, so we set MD_EXEC_PREFIX so that
|
||||
gcc will automatically find SGI as instead of searching the user's path.
|
||||
The latter can fail when building a cross compiler if the user has . in
|
||||
the path before /usr/bin, since then gcc will find and try to use the link
|
||||
@ -182,13 +175,13 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef MACHINE_TYPE
|
||||
#define MACHINE_TYPE "SGI running IRIX 6.x"
|
||||
|
||||
/* Irix 5 stuff that we don't need for Irix 6. */
|
||||
/* IRIX 5 stuff that we don't need for IRIX 6. */
|
||||
/* ??? We do need this for the -mabi=32 switch though. */
|
||||
#undef ASM_OUTPUT_UNDEF_FUNCTION
|
||||
#undef ASM_OUTPUT_EXTERNAL_LIBCALL
|
||||
#undef ASM_DECLARE_FUNCTION_SIZE
|
||||
|
||||
/* Stuff we need for Irix 6 that isn't in Irix 5. */
|
||||
/* Stuff we need for IRIX 6 that isn't in IRIX 5. */
|
||||
|
||||
/* The SGI assembler doesn't like labels before the .ent, so we must output
|
||||
the .ent and function name here, which is the normal place for it. */
|
||||
@ -237,7 +230,7 @@ Boston, MA 02111-1307, USA. */
|
||||
#define TYPE_ASM_OP "\t.type\t"
|
||||
#define SIZE_ASM_OP "\t.size\t"
|
||||
|
||||
/* Irix assembler does not support the init_priority C++ attribute. */
|
||||
/* IRIX assembler does not support the init_priority C++ attribute. */
|
||||
#undef SUPPORTS_INIT_PRIORITY
|
||||
#define SUPPORTS_INIT_PRIORITY 0
|
||||
|
||||
@ -416,7 +409,7 @@ do \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the `__builtin_va_list' type for the ABI. On Irix6, this
|
||||
/* Define the `__builtin_va_list' type for the ABI. On IRIX 6, this
|
||||
type is `char *'. */
|
||||
#undef BUILD_VA_LIST_TYPE
|
||||
#define BUILD_VA_LIST_TYPE(VALIST) \
|
||||
@ -448,7 +441,7 @@ do { \
|
||||
#define LOCAL_LABEL_PREFIX ((mips_abi == ABI_32 || mips_abi == ABI_O64) \
|
||||
? "$" : ".")
|
||||
|
||||
/* Profiling is supported via libprof1.a not -lc_p as in Irix 3. */
|
||||
/* Profiling is supported via libprof1.a not -lc_p as in IRIX 3. */
|
||||
/* ??? If no mabi=X option give, but a mipsX option is, then should depend
|
||||
on the mipsX option. */
|
||||
#undef STARTFILE_SPEC
|
||||
|
@ -2532,16 +2532,6 @@ extern enum reg_class mips_char_to_class[256];
|
||||
((mips_abi == ABI_32 || mips_abi == ABI_O64 || mips_abi == ABI_EABI) \
|
||||
? 64 : 128)
|
||||
|
||||
/* Make sure 4 words are always allocated on the stack. */
|
||||
|
||||
#ifndef STACK_ARGS_ADJUST
|
||||
#define STACK_ARGS_ADJUST(SIZE) \
|
||||
{ \
|
||||
if (SIZE.constant < 4 * UNITS_PER_WORD) \
|
||||
SIZE.constant = 4 * UNITS_PER_WORD; \
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* A C expression that should indicate the number of bytes of its
|
||||
own arguments that a function pops on returning, or 0
|
||||
|
Loading…
Reference in New Issue
Block a user