Replace occurances of "GNU CC" with "GCC" and reformat as appropriate.
[official-gcc.git] / gcc / config / arm / coff.h
blobdf47bcf3c8bbbb65530ca7c9d07ed23caa0a197a
1 /* Definitions of target machine for GNU compiler.
2 For ARM with COFF object format.
3 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002
4 Free Software Foundation, Inc.
5 Contributed by Doug Evans (devans@cygnus.com).
7 This file is part of GCC.
9 GCC is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published
11 by the Free Software Foundation; either version 2, or (at your
12 option) any later version.
14 GCC is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License
20 along with GCC; see the file COPYING. If not, write to
21 the Free Software Foundation, 59 Temple Place - Suite 330,
22 Boston, MA 02111-1307, USA. */
24 /* Note - it is important that this definition matches the one in tcoff.h. */
25 #undef USER_LABEL_PREFIX
26 #define USER_LABEL_PREFIX "_"
29 /* Run-time Target Specification. */
30 #undef TARGET_VERSION
31 #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
33 #undef TARGET_DEFAULT
34 #define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME)
36 #ifndef MULTILIB_DEFAULTS
37 #define MULTILIB_DEFAULTS \
38 { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
39 #endif
41 /* This is COFF, but prefer stabs. */
42 #define SDB_DEBUGGING_INFO 1
44 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
46 #include "dbxcoff.h"
48 /* A C statement to output assembler commands which will identify the
49 object file as having been compiled with GCC (or another GNU
50 compiler). */
52 /* This outputs a lot of .req's to define alias for various registers.
53 Let's try to avoid this. */
54 #undef ASM_FILE_START
55 #define ASM_FILE_START(STREAM) \
56 do \
57 { \
58 fprintf (STREAM, "%s Generated by gcc %s for ARM/coff\n", \
59 ASM_COMMENT_START, version_string); \
60 fprintf (STREAM, ASM_APP_OFF); \
61 } \
62 while (0)
64 /* Switch into a generic section. */
65 #define TARGET_ASM_NAMED_SECTION default_coff_asm_named_section
67 /* Support the ctors/dtors and other sections. */
69 #undef INIT_SECTION_ASM_OP
71 /* Define this macro if jump tables (for `tablejump' insns) should be
72 output in the text section, along with the assembler instructions.
73 Otherwise, the readonly data section is used. */
74 /* We put ARM jump tables in the text section, because it makes the code
75 more efficient, but for Thumb it's better to put them out of band. */
76 #define JUMP_TABLES_IN_TEXT_SECTION (TARGET_ARM)
78 #undef READONLY_DATA_SECTION_ASM_OP
79 #define READONLY_DATA_SECTION_ASM_OP "\t.section .rdata"
80 #undef CTORS_SECTION_ASM_OP
81 #define CTORS_SECTION_ASM_OP "\t.section .ctors,\"x\""
82 #undef DTORS_SECTION_ASM_OP
83 #define DTORS_SECTION_ASM_OP "\t.section .dtors,\"x\""
85 /* Support the ctors/dtors sections for g++. */
87 /* __CTOR_LIST__ and __DTOR_LIST__ must be defined by the linker script. */
88 #define CTOR_LISTS_DEFINED_EXTERNALLY
90 #undef DO_GLOBAL_CTORS_BODY
91 #undef DO_GLOBAL_DTORS_BODY
93 /* The ARM development system defines __main. */
94 #define NAME__MAIN "__gccmain"
95 #define SYMBOL__MAIN __gccmain
97 #define SUPPORTS_INIT_PRIORITY 0