aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-08-02 06:13:40 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-08-02 06:13:40 +0000
commite9475fa369a6f1491864fc3f768a08573a4a5456 (patch)
tree283b76994c1cdb28c2b1cac96196dcca5e33986e
parentdb059566fa988554e4812df0c5705ea96e4c77e8 (diff)
downloadgcc-e9475fa369a6f1491864fc3f768a08573a4a5456.zip
gcc-e9475fa369a6f1491864fc3f768a08573a4a5456.tar.gz
gcc-e9475fa369a6f1491864fc3f768a08573a4a5456.tar.bz2
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file. Replace uses of mips/elf64.h with mips/elf.h * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION) (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP) (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS) (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP) (HANDLE_SYSV_PRAGMA): Delete. (ASM_OUTPUT_DEF): Fix formatting. * config/mips/elf64.h: Delete. From-SVN: r85430
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config.gcc24
-rw-r--r--gcc/config/mips/elf.h112
-rw-r--r--gcc/config/mips/elf64.h116
4 files changed, 39 insertions, 225 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31af54e..e23e340 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2004-08-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
+ Replace uses of mips/elf64.h with mips/elf.h
+ * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
+ (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
+ (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
+ (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
+ (HANDLE_SYSV_PRAGMA): Delete.
+ (ASM_OUTPUT_DEF): Fix formatting.
+ * config/mips/elf64.h: Delete.
+
2004-08-01 Zack Weinberg <zack@codesourcery.com>
* config/ia64/ia64.c (got_symbolic_operand): Do require a
diff --git a/gcc/config.gcc b/gcc/config.gcc
index dadc454c..1899bd9 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1367,64 +1367,64 @@ mips*-*-openbsd*)
esac
;;
mipsisa32-*-elf* | mipsisa32el-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-isa3264
tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_EABI"
use_fixproto=yes
;;
mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-isa3264
tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_EABI"
use_fixproto=yes
;;
mipsisa64-*-elf* | mipsisa64el-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-isa3264
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_EABI"
use_fixproto=yes
;;
mipsisa64sr71k-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-sr71k
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
use_fixproto=yes
;;
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-elf
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
;;
mips-*-elf* | mipsel-*-elf*)
- tm_file="${tm_file} mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-elf
use_fixproto=yes
;;
mips64-*-elf* | mips64el-*-elf*)
- tm_file="${tm_file} mips/elf64.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-elf
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
;;
mips64vr-*-elf* | mips64vrel-*-elf*)
- tm_file="mips/vr.h ${tm_file} mips/elf64.h"
+ tm_file="mips/vr.h elfos.h ${tm_file} mips/elf.h"
tmake_file=mips/t-vr
use_fixproto=yes
;;
mips64orion-*-elf* | mips64orionel-*-elf*)
- tm_file="${tm_file} mips/elforion.h mips/elf64.h"
+ tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
tmake_file=mips/t-elf
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
;;
mips*-*-rtems*)
- tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h"
+ tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
tmake_file="mips/t-elf t-rtems mips/t-rtems"
;;
mips-wrs-vxworks)
@@ -1442,7 +1442,7 @@ mips-wrs-windiss) # Instruction-level simulator for VxWorks.
thread_file=
;;
mipstx39-*-elf* | mipstx39el-*-elf*)
- tm_file="${tm_file} mips/r3900.h mips/elf.h"
+ tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
tmake_file=mips/t-r3900
use_fixproto=yes
;;
@@ -2633,7 +2633,7 @@ fi
;;
esac
case $tm_file in
- *mips/elf.h* | *mips/elf64.h*)
+ *mips/elf.h*)
tm_defines="OBJECT_FORMAT_ELF $tm_defines"
;;
esac
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index ff70b59..5bde5c5 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -1,5 +1,4 @@
-/* Definitions of target machine for GNU compiler. MIPS R3000 version with
- GOFAST floating point library.
+/* Target macros for mips*-elf targets.
Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
@@ -20,52 +19,19 @@ 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. */
-/* Biggest alignment supported by the object file format of this
- machine. Use this macro to limit the alignment which can be
- specified using the `__attribute__ ((aligned (N)))' construct. If
- not defined, the default value is `BIGGEST_ALIGNMENT'. */
-
-#undef MAX_OFILE_ALIGNMENT
-#define MAX_OFILE_ALIGNMENT (32768*8)
-
-/* Switch into a generic section. */
-#undef TARGET_ASM_NAMED_SECTION
-#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
-
-/* The following macro defines the format used to output the second
- operand of the .type assembler directive. Different svr4 assemblers
- expect various different forms for this operand. The one given here
- is just a default. You may need to override it in your machine-
- specific tm.h file (depending upon the particulars of your assembler). */
-
-#define TYPE_OPERAND_FMT "@%s"
-
-/* Define the strings used for the special svr4 .type and .size directives.
- These strings generally do not vary from one system running svr4 to
- another, but if a given system (e.g. m88k running svr) needs to use
- different pseudo-op names for these, they may be overridden in the
- file which includes this one. */
-
-#undef TYPE_ASM_OP
-#undef SIZE_ASM_OP
-#define TYPE_ASM_OP "\t.type\t"
-#define SIZE_ASM_OP "\t.size\t"
-
-/* If defined, a C expression whose value is a string containing the
- assembler operation to identify the following data as
- uninitialized global data. If not defined, and neither
- `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined,
- uninitialized global data will be output in the data section if
- `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be
- used. */
-
-#ifndef BSS_SECTION_ASM_OP
-#define BSS_SECTION_ASM_OP "\t.section\t.bss"
-#endif
-
-#ifndef ASM_OUTPUT_ALIGNED_BSS
-#define ASM_OUTPUT_ALIGNED_BSS mips_output_aligned_bss
-#endif
+/* MIPS assemblers don't have the usual .set foo,bar construct;
+ .set is used for assembler options instead. */
+#undef SET_ASM_OP
+#define ASM_OUTPUT_DEF(FILE, LABEL1, LABEL2) \
+ do \
+ { \
+ fputc ('\t', FILE); \
+ assemble_name (FILE, LABEL1); \
+ fputs (" = ", FILE); \
+ assemble_name (FILE, LABEL2); \
+ fputc ('\n', FILE); \
+ } \
+ while (0)
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME mips_declare_object_name
@@ -73,52 +39,7 @@ Boston, MA 02111-1307, USA. */
#undef ASM_FINISH_DECLARE_OBJECT
#define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
- do { fputc ( '\t', FILE); \
- assemble_name (FILE, LABEL1); \
- fputs ( " = ", FILE); \
- assemble_name (FILE, LABEL2); \
- fputc ( '\n', FILE); \
- } while (0)
-
-/* Note about .weak vs. .weakext
- The mips native assemblers support .weakext, but not .weak.
- mips-elf gas supports .weak, but not .weakext.
- mips-elf gas has been changed to support both .weak and .weakext,
- but until that support is generally available, the 'if' below
- should serve. */
-
-#undef ASM_WEAKEN_LABEL
-#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
-#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
- do { \
- if (TARGET_GAS) \
- fputs ("\t.weak\t", FILE); \
- else \
- fputs ("\t.weakext\t", FILE); \
- assemble_name (FILE, NAME); \
- if (VALUE) \
- { \
- fputc (' ', FILE); \
- assemble_name (FILE, VALUE); \
- } \
- fputc ('\n', FILE); \
- } while (0)
-
-#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
-
-/* On elf, we *do* have support for the .init and .fini sections, and we
- can put stuff in there to be executed before and after `main'. We let
- crtstuff.c and other files know this by defining the following symbols.
- The definitions say how to change sections to the .init and .fini
- sections. This is the same for all known elf assemblers. */
-
-#undef INIT_SECTION_ASM_OP
-#define INIT_SECTION_ASM_OP "\t.section\t.init"
-#undef FINI_SECTION_ASM_OP
-#define FINI_SECTION_ASM_OP "\t.section\t.fini"
-
-/* Don't set the target flags, this is done by the linker script */
+/* Leave the linker script to choose the appropriate libraries. */
#undef LIB_SPEC
#define LIB_SPEC ""
@@ -127,6 +48,3 @@ Boston, MA 02111-1307, USA. */
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
-
-/* We support #pragma. */
-#define HANDLE_SYSV_PRAGMA 1
diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h
deleted file mode 100644
index 2b39287..0000000
--- a/gcc/config/mips/elf64.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Definitions of target machine for GNU compiler. MIPS R4000 version with
- GOFAST floating point library.
- Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2004
- Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-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. */
-
-/* Biggest alignment supported by the object file format of this
- machine. Use this macro to limit the alignment which can be
- specified using the `__attribute__ ((aligned (N)))' construct. If
- not defined, the default value is `BIGGEST_ALIGNMENT'. */
-
-#undef MAX_OFILE_ALIGNMENT
-#define MAX_OFILE_ALIGNMENT (32768*8)
-
-/* Switch into a generic section. */
-#undef TARGET_ASM_NAMED_SECTION
-#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
-
-/* The following macro defines the format used to output the second
- operand of the .type assembler directive. Different svr4 assemblers
- expect various different forms for this operand. The one given here
- is just a default. You may need to override it in your machine-
- specific tm.h file (depending upon the particulars of your assembler). */
-
-#define TYPE_OPERAND_FMT "@%s"
-
-/* Define the strings used for the special svr4 .type and .size directives.
- These strings generally do not vary from one system running svr4 to
- another, but if a given system (e.g. m88k running svr) needs to use
- different pseudo-op names for these, they may be overridden in the
- file which includes this one. */
-
-#undef TYPE_ASM_OP
-#undef SIZE_ASM_OP
-#define TYPE_ASM_OP "\t.type\t"
-#define SIZE_ASM_OP "\t.size\t"
-
-#undef ASM_DECLARE_OBJECT_NAME
-#define ASM_DECLARE_OBJECT_NAME mips_declare_object_name
-
-#undef ASM_FINISH_DECLARE_OBJECT
-#define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object
-
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
- do { fputc ( '\t', FILE); \
- assemble_name (FILE, LABEL1); \
- fputs ( " = ", FILE); \
- assemble_name (FILE, LABEL2); \
- fputc ( '\n', FILE); \
- } while (0)
-
-/* Note about .weak vs. .weakext
- The mips native assemblers support .weakext, but not .weak.
- mips-elf gas supports .weak, but not .weakext.
- mips-elf gas has been changed to support both .weak and .weakext,
- but until that support is generally available, the 'if' below
- should serve. */
-
-#undef ASM_WEAKEN_LABEL
-#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
-#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
- do { \
- if (TARGET_GAS) \
- fputs ("\t.weak\t", FILE); \
- else \
- fputs ("\t.weakext\t", FILE); \
- assemble_name (FILE, NAME); \
- if (VALUE) \
- { \
- fputc (' ', FILE); \
- assemble_name (FILE, VALUE); \
- } \
- fputc ('\n', FILE); \
- } while (0)
-
-#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
-
-/* On elf, we *do* have support for the .init and .fini sections, and we
- can put stuff in there to be executed before and after `main'. We let
- crtstuff.c and other files know this by defining the following symbols.
- The definitions say how to change sections to the .init and .fini
- sections. This is the same for all known elf assemblers. */
-
-#undef INIT_SECTION_ASM_OP
-#define INIT_SECTION_ASM_OP "\t.section\t.init"
-#undef FINI_SECTION_ASM_OP
-#define FINI_SECTION_ASM_OP "\t.section\t.fini"
-
-/* Don't set the target flags, this is done by the linker script */
-#undef LIB_SPEC
-#define LIB_SPEC ""
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "crti%O%s crtbegin%O%s"
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
-
-/* We support #pragma. */
-#define HANDLE_SYSV_PRAGMA 1