From e9475fa369a6f1491864fc3f768a08573a4a5456 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 2 Aug 2004 06:13:40 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 12 +++++ gcc/config.gcc | 24 +++++----- gcc/config/mips/elf.h | 112 +++++++--------------------------------------- gcc/config/mips/elf64.h | 116 ------------------------------------------------ 4 files changed, 39 insertions(+), 225 deletions(-) delete mode 100644 gcc/config/mips/elf64.h 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 + + * 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 * 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 -- 2.7.4