* reloc.c: Add MACH_O_X86_64 relocations.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
+2010-01-13 Tristan Gingold <gingold@adacore.com>
+
+ * reloc.c: Add MACH_O_X86_64 relocations.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
2010-01-13 Tristan Gingold <gingold@adacore.com>
* archive.c (normalize): Use lbasename.
BFD_RELOC_MACH_O_PAIR. */
BFD_RELOC_MACH_O_SECTDIFF,
-/* Mach-O generic relocations. */
+/* Pair of relocation. Contains the first symbol. */
BFD_RELOC_MACH_O_PAIR,
+/* PCREL relocations. They are marked as branch to create PLT entry if
+required. */
+ BFD_RELOC_MACH_O_X86_64_BRANCH32,
+ BFD_RELOC_MACH_O_X86_64_BRANCH8,
+
+/* Used when referencing a GOT entry. */
+ BFD_RELOC_MACH_O_X86_64_GOT,
+
+/* 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. */
+ BFD_RELOC_MACH_O_X86_64_GOT_LOAD,
+
+/* Symbol will be substracted. Must be followed by a BFD_RELOC_64. */
+ BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
+
+/* Symbol will be substracted. Must be followed by a BFD_RELOC_64. */
+ BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64,
+
+/* Same as BFD_RELOC_32_PCREL but with an implicit -1 addend. */
+ BFD_RELOC_MACH_O_X86_64_PCREL32_1,
+
+/* Same as BFD_RELOC_32_PCREL but with an implicit -2 addend. */
+ BFD_RELOC_MACH_O_X86_64_PCREL32_2,
+
+/* Same as BFD_RELOC_32_PCREL but with an implicit -4 addend. */
+ BFD_RELOC_MACH_O_X86_64_PCREL32_4,
+
/* This is a 32 bit reloc for the microblaze that stores the
low 16 bits of a value */
BFD_RELOC_MICROBLAZE_32_LO,
"BFD_RELOC_LM32_RELATIVE",
"BFD_RELOC_MACH_O_SECTDIFF",
"BFD_RELOC_MACH_O_PAIR",
+ "BFD_RELOC_MACH_O_X86_64_BRANCH32",
+ "BFD_RELOC_MACH_O_X86_64_BRANCH8",
+ "BFD_RELOC_MACH_O_X86_64_GOT",
+ "BFD_RELOC_MACH_O_X86_64_GOT_LOAD",
+ "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32",
+ "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64",
+ "BFD_RELOC_MACH_O_X86_64_PCREL32_1",
+ "BFD_RELOC_MACH_O_X86_64_PCREL32_2",
+ "BFD_RELOC_MACH_O_X86_64_PCREL32_4",
"BFD_RELOC_MICROBLAZE_32_LO",
"BFD_RELOC_MICROBLAZE_32_LO_PCREL",
"BFD_RELOC_MICROBLAZE_32_ROSDA",
Lattice Mico32 relocations.
ENUM
- BFD_RELOC_MACH_O_SECTDIFF
+ BFD_RELOC_MACH_O_SECTDIFF
ENUMDOC
- Difference between two section addreses. Must be followed by a
- BFD_RELOC_MACH_O_PAIR.
+ Difference between two section addreses. Must be followed by a
+ BFD_RELOC_MACH_O_PAIR.
ENUM
- BFD_RELOC_MACH_O_PAIR
+ BFD_RELOC_MACH_O_PAIR
ENUMDOC
- Mach-O generic relocations.
+ Pair of relocation. Contains the first symbol.
+
+ENUM
+ BFD_RELOC_MACH_O_X86_64_BRANCH32
+ENUMX
+ BFD_RELOC_MACH_O_X86_64_BRANCH8
+ENUMDOC
+ PCREL relocations. They are marked as branch to create PLT entry if
+ required.
+ENUM
+ BFD_RELOC_MACH_O_X86_64_GOT
+ENUMDOC
+ Used when referencing a GOT entry.
+ENUM
+ BFD_RELOC_MACH_O_X86_64_GOT_LOAD
+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.
+ENUM
+ BFD_RELOC_MACH_O_X86_64_PCREL32_2
+ENUMDOC
+ Same as BFD_RELOC_32_PCREL but with an implicit -2 addend.
+ENUM
+ BFD_RELOC_MACH_O_X86_64_PCREL32_4
+ENUMDOC
+ Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
ENUM
BFD_RELOC_MICROBLAZE_32_LO