From 6aaeb3e0f9e2a38977e2feda165ff57145a02dbf Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 26 May 2019 08:31:00 +0000 Subject: [PATCH] [PowerPC] Add missing R_PPC_* relocation types While people mostly care about 64-bit, some systems need basic lib32 support. The plan is to make lld (see PR40888) capable of linking some applications (PR40888). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361711 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm/BinaryFormat/ELFRelocs/PowerPC.def | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def b/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def index e4f8ee0ebe2..7041896681c 100644 --- a/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def +++ b/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def @@ -27,9 +27,25 @@ #undef R_PPC_GOT16_HI #undef R_PPC_GOT16_HA #undef R_PPC_PLTREL24 +#undef R_PPC_COPY +#undef R_PPC_GLOB_DAT #undef R_PPC_JMP_SLOT +#undef R_PPC_RELATIVE #undef R_PPC_LOCAL24PC +#undef R_PPC_UADDR32 +#undef R_PPC_UADDR16 #undef R_PPC_REL32 +#undef R_PPC_PLT32 +#undef R_PPC_PLTREL32 +#undef R_PPC_PLT16_LO +#undef R_PPC_PLT16_HI +#undef R_PPC_PLT16_HA +#undef R_PPC_SDAREL16 +#undef R_PPC_SECTOFF +#undef R_PPC_SECTOFF_LO +#undef R_PPC_SECTOFF_HI +#undef R_PPC_SECTOFF_HA +#undef R_PPC_ADDR30 #undef R_PPC_TLS #undef R_PPC_DTPMOD32 #undef R_PPC_TPREL16 @@ -84,9 +100,25 @@ ELF_RELOC(R_PPC_GOT16_LO, 15) ELF_RELOC(R_PPC_GOT16_HI, 16) ELF_RELOC(R_PPC_GOT16_HA, 17) ELF_RELOC(R_PPC_PLTREL24, 18) +ELF_RELOC(R_PPC_COPY, 19) +ELF_RELOC(R_PPC_GLOB_DAT, 20) ELF_RELOC(R_PPC_JMP_SLOT, 21) +ELF_RELOC(R_PPC_RELATIVE, 22) ELF_RELOC(R_PPC_LOCAL24PC, 23) +ELF_RELOC(R_PPC_UADDR32, 24) +ELF_RELOC(R_PPC_UADDR16, 25) ELF_RELOC(R_PPC_REL32, 26) +ELF_RELOC(R_PPC_PLT32, 27) +ELF_RELOC(R_PPC_PLTREL32, 28) +ELF_RELOC(R_PPC_PLT16_LO, 29) +ELF_RELOC(R_PPC_PLT16_HI, 30) +ELF_RELOC(R_PPC_PLT16_HA, 31) +ELF_RELOC(R_PPC_SDAREL16, 32) +ELF_RELOC(R_PPC_SECTOFF, 33) +ELF_RELOC(R_PPC_SECTOFF_LO, 34) +ELF_RELOC(R_PPC_SECTOFF_HI, 35) +ELF_RELOC(R_PPC_SECTOFF_HA, 36) +ELF_RELOC(R_PPC_ADDR30, 37) ELF_RELOC(R_PPC_TLS, 67) ELF_RELOC(R_PPC_DTPMOD32, 68) ELF_RELOC(R_PPC_TPREL16, 69) -- 2.40.0