aboutsummaryrefslogtreecommitdiff
path: root/bfd/reloc.c
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2015-11-20 11:33:33 +0100
committerTristan Gingold <gingold@adacore.com>2015-11-20 14:53:06 +0100
commitf075eb5e6b0dd850304f78cf4d5c94df7b44c7a3 (patch)
tree2bb81dc6550084bc89b41de86543f36d2ad1c450 /bfd/reloc.c
parent11b8aeb88174dd67ff8b7c58377e8ef94ccf274e (diff)
downloadgdb-f075eb5e6b0dd850304f78cf4d5c94df7b44c7a3.zip
gdb-f075eb5e6b0dd850304f78cf4d5c94df7b44c7a3.tar.gz
gdb-f075eb5e6b0dd850304f78cf4d5c94df7b44c7a3.tar.bz2
binutils: add support for arm-*-darwin and aarch64-*-darwin.
Currently only in bfd and binutils. ChangeLog/ * configure.ac: Add aarch64-*-darwin* and arm-*-darwin*. * configure: Regenerate. bfd/ChangeLog/ * targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare. (_bfd_target_vector): Add new vectors. * reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32) (BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12) (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations. (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32) (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change name of subtractor relocations. * config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*. * Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo. (BFD32_BACKENDS_CFILES): Add mach-o-arm.c. (BFD64_BACKENDS): Add mach-o-aarch64.lo. (BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c. * configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec. * mach-o-aarch64.c: New file. * mach-o-arm.c: New file. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. * libbfd.h: Regenerate.
Diffstat (limited to 'bfd/reloc.c')
-rw-r--r--bfd/reloc.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/bfd/reloc.c b/bfd/reloc.c
index bbc376e..17c470e 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -6590,6 +6590,14 @@ ENUM
BFD_RELOC_MACH_O_PAIR
ENUMDOC
Pair of relocation. Contains the first symbol.
+ENUM
+ BFD_RELOC_MACH_O_SUBTRACTOR32
+ENUMDOC
+ Symbol will be substracted. Must be followed by a BFD_RELOC_32.
+ENUM
+ BFD_RELOC_MACH_O_SUBTRACTOR64
+ENUMDOC
+ Symbol will be substracted. Must be followed by a BFD_RELOC_64.
ENUM
BFD_RELOC_MACH_O_X86_64_BRANCH32
@@ -6608,14 +6616,6 @@ ENUMDOC
Used when loading a GOT entry with movq. It is specially marked so that
the linker could optimize the movq to a leaq if possible.
ENUM
- BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32
-ENUMDOC
- Symbol will be substracted. Must be followed by a BFD_RELOC_64.
-ENUM
- BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64
-ENUMDOC
- Symbol will be substracted. Must be followed by a BFD_RELOC_64.
-ENUM
BFD_RELOC_MACH_O_X86_64_PCREL32_1
ENUMDOC
Same as BFD_RELOC_32_PCREL but with an implicit -1 addend.
@@ -6628,6 +6628,24 @@ ENUM
ENUMDOC
Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
+
+ENUM
+ BFD_RELOC_MACH_O_ARM64_ADDEND
+ENUMDOC
+ Addend for PAGE or PAGEOFF.
+ENUM
+ BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21
+ENUMDOC
+ Relative offset to page of GOT slot.
+ENUM
+ BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12
+ENUMDOC
+ Relative offset within page of GOT slot.
+ENUM
+ BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT
+ENUMDOC
+ Address of a GOT entry.
+
ENUM
BFD_RELOC_MICROBLAZE_32_LO
ENUMDOC