summaryrefslogtreecommitdiff
path: root/gcc/config/arm/coff.h
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2002-03-18 11:26:24 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2002-03-18 11:26:24 +0000
commit657d9449e89fc00908ae18fb063fe54ff8bdcaee (patch)
tree26d7156b5d3be51ac40b7883e864783742cf5808 /gcc/config/arm/coff.h
parentffd696af84c29fe41b43e74fb6e4ada9076102d6 (diff)
downloadgcc-657d9449e89fc00908ae18fb063fe54ff8bdcaee.tar.gz
arm.md (tablejump): Make this a define_expand.
* arm.md (tablejump): Make this a define_expand. For PIC add the offset to the base of the table. (thumb_tablejump): Matcher for Thumb tablejump insn. * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries as the difference of two labels. * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump tables in the code. * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise. * arm.c (get_jump_table_size): If the table is not in the text section, return zero. From-SVN: r50960
Diffstat (limited to 'gcc/config/arm/coff.h')
-rw-r--r--gcc/config/arm/coff.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/arm/coff.h b/gcc/config/arm/coff.h
index f53dace9056..c9f0d9277ab 100644
--- a/gcc/config/arm/coff.h
+++ b/gcc/config/arm/coff.h
@@ -72,7 +72,9 @@ 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. */
-#define JUMP_TABLES_IN_TEXT_SECTION 1
+/* 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