aboutsummaryrefslogtreecommitdiff
path: root/include/elf/ppc.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-07-10 12:19:58 +0000
committerAlan Modra <amodra@gmail.com>2009-07-10 12:19:58 +0000
commite054468f6cf120142dbfdf64226a5c6c09ecf998 (patch)
tree835b16de7d80522f5f8da90ddcc8bbd59fe58548 /include/elf/ppc.h
parentfbb8f2990ccfa180274ab4a578818fe247823540 (diff)
downloadfsf-binutils-gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.zip
fsf-binutils-gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.tar.gz
fsf-binutils-gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.tar.bz2
STT_GNU_IFUNC support for PowerPC.
Diffstat (limited to 'include/elf/ppc.h')
-rw-r--r--include/elf/ppc.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/elf/ppc.h b/include/elf/ppc.h
index 8f4ed9e..14c643a 100644
--- a/include/elf/ppc.h
+++ b/include/elf/ppc.h
@@ -71,6 +71,14 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
RELOC_NUMBER (R_PPC_SECTOFF_HA, 36)
RELOC_NUMBER (R_PPC_ADDR30, 37)
+#ifndef RELOC_MACROS_GEN_FUNC
+/* Fake relocations for branch stubs, only used internally by ld. */
+ RELOC_NUMBER (R_PPC_RELAX32, 48)
+ RELOC_NUMBER (R_PPC_RELAX32PC, 49)
+ RELOC_NUMBER (R_PPC_RELAX32_PLT, 50)
+ RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 51)
+#endif
+
/* Relocs added to support TLS. */
RELOC_NUMBER (R_PPC_TLS, 67)
RELOC_NUMBER (R_PPC_DTPMOD32, 68)
@@ -122,13 +130,8 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115)
RELOC_NUMBER (R_PPC_EMB_RELSDA, 116)
-#ifndef RELOC_MACROS_GEN_FUNC
-/* Fake relocations for branch stubs, only used internally by ld. */
- RELOC_NUMBER (R_PPC_RELAX32, 245)
- RELOC_NUMBER (R_PPC_RELAX32PC, 246)
- RELOC_NUMBER (R_PPC_RELAX32_PLT, 247)
- RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 248)
-#endif
+/* Support STT_GNU_IFUNC plt calls. */
+ RELOC_NUMBER (R_PPC_IRELATIVE, 248)
/* These are GNU extensions used in PIC code sequences. */
RELOC_NUMBER (R_PPC_REL16, 249)