diff options
author | Nick Clifton <nickc@cygnus.com> | 1999-07-05 08:44:36 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1999-07-05 08:44:36 +0000 |
commit | 62b10bbc331241e7ceebffb7ef9bfc80884f53d5 (patch) | |
tree | e23b7de44adbdbdef1adab420a4cb75426a26a14 /gcc/config/arm/coff.h | |
parent | 32bebc4399ed6f3e721b0e81c29ef0f424aa138e (diff) | |
download | gcc-62b10bbc331241e7ceebffb7ef9bfc80884f53d5.tar.gz |
Add preliminary support for arm v5 architectures.
From-SVN: r27944
Diffstat (limited to 'gcc/config/arm/coff.h')
-rw-r--r-- | gcc/config/arm/coff.h | 74 |
1 files changed, 41 insertions, 33 deletions
diff --git a/gcc/config/arm/coff.h b/gcc/config/arm/coff.h index ed4511a5215..478ae620226 100644 --- a/gcc/config/arm/coff.h +++ b/gcc/config/arm/coff.h @@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32) -#define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32" } +#define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" } /* Setting this to 32 produces more efficient code, but the value set in previous versions of this toolchain was 8, which produces more compact structures. The @@ -50,7 +50,7 @@ extern int arm_structure_size_boundary; is a valid machine specific attribute for DECL. The attributes in ATTRIBUTES have previously been assigned to DECL. */ #define VALID_MACHINE_DECL_ATTRIBUTE(DECL, ATTRIBUTES, IDENTIFIER, ARGS) \ -arm_valid_machine_decl_attribute (DECL, IDENTIFIER, ARGS) + arm_valid_machine_decl_attribute (DECL, IDENTIFIER, ARGS) /* This is COFF, but prefer stabs. */ #define SDB_DEBUGGING_INFO @@ -68,31 +68,35 @@ arm_valid_machine_decl_attribute (DECL, IDENTIFIER, ARGS) ordinary symbol, or gdb won't see it. The stabs entry must be before the N_SO in order for gdb to find it. */ #define ASM_IDENTIFY_GCC(STREAM) \ - fprintf (STREAM, "%sgcc2_compiled.:\n", LOCAL_LABEL_PREFIX ) + fprintf (STREAM, "%sgcc2_compiled.:\n", LOCAL_LABEL_PREFIX ) /* 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 { \ - extern char *version_string; \ - fprintf (STREAM, "%s Generated by gcc %s for ARM/coff\n", \ - ASM_COMMENT_START, version_string); \ -} while (0) +#define ASM_FILE_START(STREAM) \ + do \ + { \ + extern char * version_string; \ + fprintf (STREAM, "%s Generated by gcc %s for ARM/coff\n", \ + ASM_COMMENT_START, version_string); \ + } \ + while (0) /* A C statement to output something to the assembler file to switch to section NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or NULL_TREE. Some target formats do not support arbitrary sections. Do not define this macro in such cases. */ -#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \ -do { \ - if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \ - fprintf (STREAM, "\t.section %s,\"x\"\n", (NAME)); \ - else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \ - fprintf (STREAM, "\t.section %s,\"\"\n", (NAME)); \ - else \ - fprintf (STREAM, "\t.section %s,\"w\"\n", (NAME)); \ -} while (0) +#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \ + do \ + { \ + if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \ + fprintf (STREAM, "\t.section %s,\"x\"\n", (NAME)); \ + else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \ + fprintf (STREAM, "\t.section %s,\"\"\n", (NAME)); \ + else \ + fprintf (STREAM, "\t.section %s,\"w\"\n", (NAME)); \ + } \ + while (0) /* Support the ctors/dtors and other sections. */ @@ -171,24 +175,28 @@ dtors_section () \ /* A C statement (sans semicolon) to output an element in the table of global constructors. */ #undef ASM_OUTPUT_CONSTRUCTOR -#define ASM_OUTPUT_CONSTRUCTOR(STREAM,NAME) \ -do { \ - ctors_section (); \ - fprintf (STREAM, "\t%s\t ", INT_ASM_OP); \ - assemble_name (STREAM, NAME); \ - fprintf (STREAM, "\n"); \ -} while (0) +#define ASM_OUTPUT_CONSTRUCTOR(STREAM, NAME) \ + do \ + { \ + ctors_section (); \ + fprintf (STREAM, "\t%s\t ", INT_ASM_OP); \ + assemble_name (STREAM, NAME); \ + fprintf (STREAM, "\n"); \ + } \ + while (0) /* A C statement (sans semicolon) to output an element in the table of global destructors. */ #undef ASM_OUTPUT_DESTRUCTOR -#define ASM_OUTPUT_DESTRUCTOR(STREAM,NAME) \ -do { \ - dtors_section (); \ - fprintf (STREAM, "\t%s\t ", INT_ASM_OP); \ - assemble_name (STREAM, NAME); \ - fprintf (STREAM, "\n"); \ -} while (0) +#define ASM_OUTPUT_DESTRUCTOR(STREAM, NAME) \ + do \ + { \ + dtors_section (); \ + fprintf (STREAM, "\t%s\t ", INT_ASM_OP); \ + assemble_name (STREAM, NAME); \ + fprintf (STREAM, "\n"); \ + } \ + while (0) /* __CTOR_LIST__ and __DTOR_LIST__ must be defined by the linker script. */ #define CTOR_LISTS_DEFINED_EXTERNALLY @@ -205,5 +213,5 @@ do { \ #define HAVE_ATEXIT /* The ARM development system defines __main. */ -#define NAME__MAIN "__gccmain" +#define NAME__MAIN "__gccmain" #define SYMBOL__MAIN __gccmain |