summaryrefslogtreecommitdiff
path: root/gcc/config/arm/elf.h
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-18 11:26:24 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-18 11:26:24 +0000
commitfd957ef3c15055cd633717380745d366640dfb2f (patch)
tree26d7156b5d3be51ac40b7883e864783742cf5808 /gcc/config/arm/elf.h
parentae1df41de87b315c59d9d90cdaa4e1af663c12c2 (diff)
downloadgcc-fd957ef3c15055cd633717380745d366640dfb2f.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50960 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/elf.h')
-rw-r--r--gcc/config/arm/elf.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index c27dacaa58b..1cab2c4e144 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -103,7 +103,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)
#ifndef LINK_SPEC
#define LINK_SPEC "%{mbig-endian:-EB} -X"