diff options
author | Alan Modra <amodra@gmail.com> | 2009-07-10 12:19:58 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-07-10 12:19:58 +0000 |
commit | e054468f6cf120142dbfdf64226a5c6c09ecf998 (patch) | |
tree | 835b16de7d80522f5f8da90ddcc8bbd59fe58548 /include | |
parent | fbb8f2990ccfa180274ab4a578818fe247823540 (diff) | |
download | gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.zip gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.tar.gz gdb-e054468f6cf120142dbfdf64226a5c6c09ecf998.tar.bz2 |
STT_GNU_IFUNC support for PowerPC.
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/ChangeLog | 7 | ||||
-rw-r--r-- | include/elf/ppc.h | 17 | ||||
-rw-r--r-- | include/elf/ppc64.h | 3 |
3 files changed, 20 insertions, 7 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 640824e..3936b20 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,10 @@ +2009-07-10 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_IRELATIVE): Add. + (R_PPC_RELAX32, R_PPC_RELAX32PC, + R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Renumber. + * ppc64.h (R_PPC64_IRELATIVE): Add. + 2009-07-03 Jakub Jelinek <jakub@redhat.com> * dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value 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) diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h index c768180..4644b75 100644 --- a/include/elf/ppc64.h +++ b/include/elf/ppc64.h @@ -139,6 +139,9 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) RELOC_NUMBER (R_PPC64_TLSGD, 107) RELOC_NUMBER (R_PPC64_TLSLD, 108) +/* Support STT_GNU_IFUNC plt calls. */ + RELOC_NUMBER (R_PPC64_IRELATIVE, 248) + /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253) RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254) |