]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/config/arm/coff.h
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / config / arm / coff.h
index c9f0d9277ab2bed33e13e1bc7775cfb456990b70..d5f4ed8eac56222b29a2536d89741c760916bad6 100644 (file)
@@ -1,28 +1,26 @@
 /* Definitions of target machine for GNU compiler.
    For ARM with COFF object format.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000
-   Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
+   2007 Free Software Foundation, Inc.
    Contributed by Doug Evans (devans@cygnus.com).
    
-This file is part of GNU CC.
+   This file is part of GCC.
 
-GNU CC 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 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 3, or (at your
+   option) any later version.
 
-GNU CC 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.
+   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 GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
 
-
-/* Note - it is important that this definition matches the one in tcoff.h */
+/* Note - it is important that this definition matches the one in tcoff.h.  */
 #undef  USER_LABEL_PREFIX
 #define USER_LABEL_PREFIX "_"
 
@@ -31,36 +29,24 @@ Boston, MA 02111-1307, USA.  */
 #undef  TARGET_VERSION
 #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
 
+#undef  TARGET_DEFAULT_FLOAT_ABI
+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
+
 #undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME)
+#define TARGET_DEFAULT (MASK_APCS_FRAME)
 
 #ifndef MULTILIB_DEFAULTS
 #define MULTILIB_DEFAULTS \
-  { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
+  { "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" }
 #endif
 \f
 /* This is COFF, but prefer stabs.  */
-#define SDB_DEBUGGING_INFO
+#define SDB_DEBUGGING_INFO 1
 
 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
 
-#include "dbxcoff.h"
 \f
-/* A C statement to output assembler commands which will identify the
-   object file as having been compiled with GNU CC (or another GNU
-   compiler).  */
-
-/* This outputs a lot of .req's to define alias for various registers.
-   Let's try to avoid this.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(STREAM)                                 \
-  do                                                           \
-    {                                                          \
-      fprintf (STREAM, "%s Generated by gcc %s for ARM/coff\n",        \
-              ASM_COMMENT_START, version_string);              \
-      fprintf (STREAM, ASM_APP_OFF);                           \
-    }                                                          \
-  while (0)
+#define TARGET_ASM_FILE_START_APP_OFF true
 
 /* Switch into a generic section.  */
 #define TARGET_ASM_NAMED_SECTION  default_coff_asm_named_section
@@ -72,46 +58,17 @@ Boston, MA 02111-1307, USA.  */
 /* Define this macro if jump tables (for `tablejump' insns) should be
    output in the text section, along with the assembler instructions.
    Otherwise, the readonly data section is used.  */
-/* We put ARM jump tables in the text section, because it makes the code
-   more efficient, but for Thumb it's better to put them out of band.  */
-#define JUMP_TABLES_IN_TEXT_SECTION (TARGET_ARM)
-
-#undef  READONLY_DATA_SECTION
-#define READONLY_DATA_SECTION  rdata_section
-#undef  RDATA_SECTION_ASM_OP
-#define RDATA_SECTION_ASM_OP   "\t.section .rdata"
+/* We put ARM and Thumb-2 jump tables in the text section, because it makes
+   the code more efficient, but for Thumb-1 it's better to put them out of
+   band.  */
+#define JUMP_TABLES_IN_TEXT_SECTION (TARGET_32BIT)
+
+#undef  READONLY_DATA_SECTION_ASM_OP
+#define READONLY_DATA_SECTION_ASM_OP   "\t.section .rdata"
 #undef  CTORS_SECTION_ASM_OP
 #define CTORS_SECTION_ASM_OP   "\t.section .ctors,\"x\""
 #undef  DTORS_SECTION_ASM_OP
 #define DTORS_SECTION_ASM_OP   "\t.section .dtors,\"x\""
-
-/* A list of other sections which the compiler might be "in" at any
-   given time.  */
-
-#undef EXTRA_SECTIONS
-#define EXTRA_SECTIONS SUBTARGET_EXTRA_SECTIONS in_rdata
-
-#define SUBTARGET_EXTRA_SECTIONS
-
-/* A list of extra section function definitions.  */
-
-#undef EXTRA_SECTION_FUNCTIONS
-#define EXTRA_SECTION_FUNCTIONS \
-  RDATA_SECTION_FUNCTION       \
-  SUBTARGET_EXTRA_SECTION_FUNCTIONS
-
-#define SUBTARGET_EXTRA_SECTION_FUNCTIONS
-
-#define RDATA_SECTION_FUNCTION \
-void                                                           \
-rdata_section ()                                               \
-{                                                              \
-  if (in_section != in_rdata)                                  \
-    {                                                          \
-      fprintf (asm_out_file, "%s\n", RDATA_SECTION_ASM_OP);    \
-      in_section = in_rdata;                                   \
-    }                                                          \
-}
 \f
 /* Support the ctors/dtors sections for g++.  */