summaryrefslogtreecommitdiff
path: root/bfd/reloc.c
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-05-11 15:17:34 +0000
committerPaul Brook <paul@codesourcery.com>2006-05-11 15:17:34 +0000
commitb6895b4f375bfb1de5a8d33b3af600c5d92314d8 (patch)
tree270b1929d939066a8b43f6cabfa3d6282c7dacdd /bfd/reloc.c
parente28387c3bf6b1358d3a438443fc790c8e0fefa22 (diff)
downloadbinutils-gdb-b6895b4f375bfb1de5a8d33b3af600c5d92314d8.tar.gz
2006-05-11 Paul Brook <paul@codesourcery.com>
bfd/ * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs. (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs. (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto. * reloc.c: Ditto. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * libcoff.h: Regenerate. gas/ * config/tc-arm.c (parse_half): New function. (operand_parse_code): Remove OP_Iffff. Add OP_HALF. (parse_operands): Ditto. (do_mov16): Reject invalid relocations. (do_t_mov16): Ditto. Use Thumb reloc numbers. (insns): Replace Iffff with HALF. (md_apply_fix): Add MOVW and MOVT relocs. (tc_gen_reloc): Ditto. * doc/c-arm.texi: Document relocation operators ld/testsuite/ * ld-arm/arm-elf.exp: Add arm-movwt. * ld-arm/arm-movwt.d: New test. * ld-arm/arm-movwt.s: New test. * ld-arm/arm.ld: Add .far.
Diffstat (limited to 'bfd/reloc.c')
-rw-r--r--bfd/reloc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/bfd/reloc.c b/bfd/reloc.c
index f1d09a5ab07..6adc7fbdc62 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -2701,6 +2701,24 @@ ENUM
BFD_RELOC_ARM_PREL31
ENUMDOC
31-bit PC relative address.
+ENUM
+ BFD_RELOC_ARM_MOVW
+ENUMX
+ BFD_RELOC_ARM_MOVT
+ENUMX
+ BFD_RELOC_ARM_MOVW_PCREL
+ENUMX
+ BFD_RELOC_ARM_MOVT_PCREL
+ENUMX
+ BFD_RELOC_ARM_THUMB_MOVW
+ENUMX
+ BFD_RELOC_ARM_THUMB_MOVT
+ENUMX
+ BFD_RELOC_ARM_THUMB_MOVW_PCREL
+ENUMX
+ BFD_RELOC_ARM_THUMB_MOVT_PCREL
+ENUMDOC
+ Low and High halfword relocations for MOVW and MOVT instructions.
ENUM
BFD_RELOC_ARM_JUMP_SLOT