1 2#ifndef ELF_RELOC 3#error "ELF_RELOC must be defined" 4#endif 5 6// glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the 7// unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc. 8// to their corresponding integer values. As a result, we need to undef them 9// here before continuing. 10 11#undef R_PPC_NONE 12#undef R_PPC_ADDR32 13#undef R_PPC_ADDR24 14#undef R_PPC_ADDR16 15#undef R_PPC_ADDR16_LO 16#undef R_PPC_ADDR16_HI 17#undef R_PPC_ADDR16_HA 18#undef R_PPC_ADDR14 19#undef R_PPC_ADDR14_BRTAKEN 20#undef R_PPC_ADDR14_BRNTAKEN 21#undef R_PPC_REL24 22#undef R_PPC_REL14 23#undef R_PPC_REL14_BRTAKEN 24#undef R_PPC_REL14_BRNTAKEN 25#undef R_PPC_GOT16 26#undef R_PPC_GOT16_LO 27#undef R_PPC_GOT16_HI 28#undef R_PPC_GOT16_HA 29#undef R_PPC_PLTREL24 30#undef R_PPC_COPY 31#undef R_PPC_GLOB_DAT 32#undef R_PPC_JMP_SLOT 33#undef R_PPC_RELATIVE 34#undef R_PPC_LOCAL24PC 35#undef R_PPC_UADDR32 36#undef R_PPC_UADDR16 37#undef R_PPC_REL32 38#undef R_PPC_PLT32 39#undef R_PPC_PLTREL32 40#undef R_PPC_PLT16_LO 41#undef R_PPC_PLT16_HI 42#undef R_PPC_PLT16_HA 43#undef R_PPC_SDAREL16 44#undef R_PPC_SECTOFF 45#undef R_PPC_SECTOFF_LO 46#undef R_PPC_SECTOFF_HI 47#undef R_PPC_SECTOFF_HA 48#undef R_PPC_ADDR30 49#undef R_PPC_TLS 50#undef R_PPC_DTPMOD32 51#undef R_PPC_TPREL16 52#undef R_PPC_TPREL16_LO 53#undef R_PPC_TPREL16_HI 54#undef R_PPC_TPREL16_HA 55#undef R_PPC_TPREL32 56#undef R_PPC_DTPREL16 57#undef R_PPC_DTPREL16_LO 58#undef R_PPC_DTPREL16_HI 59#undef R_PPC_DTPREL16_HA 60#undef R_PPC_DTPREL32 61#undef R_PPC_GOT_TLSGD16 62#undef R_PPC_GOT_TLSGD16_LO 63#undef R_PPC_GOT_TLSGD16_HI 64#undef R_PPC_GOT_TLSGD16_HA 65#undef R_PPC_GOT_TLSLD16 66#undef R_PPC_GOT_TLSLD16_LO 67#undef R_PPC_GOT_TLSLD16_HI 68#undef R_PPC_GOT_TLSLD16_HA 69#undef R_PPC_GOT_TPREL16 70#undef R_PPC_GOT_TPREL16_LO 71#undef R_PPC_GOT_TPREL16_HI 72#undef R_PPC_GOT_TPREL16_HA 73#undef R_PPC_GOT_DTPREL16 74#undef R_PPC_GOT_DTPREL16_LO 75#undef R_PPC_GOT_DTPREL16_HI 76#undef R_PPC_GOT_DTPREL16_HA 77#undef R_PPC_TLSGD 78#undef R_PPC_TLSLD 79#undef R_PPC_REL16 80#undef R_PPC_REL16_LO 81#undef R_PPC_REL16_HI 82#undef R_PPC_REL16_HA 83 84ELF_RELOC(R_PPC_NONE, 0) /* No relocation. */ 85ELF_RELOC(R_PPC_ADDR32, 1) 86ELF_RELOC(R_PPC_ADDR24, 2) 87ELF_RELOC(R_PPC_ADDR16, 3) 88ELF_RELOC(R_PPC_ADDR16_LO, 4) 89ELF_RELOC(R_PPC_ADDR16_HI, 5) 90ELF_RELOC(R_PPC_ADDR16_HA, 6) 91ELF_RELOC(R_PPC_ADDR14, 7) 92ELF_RELOC(R_PPC_ADDR14_BRTAKEN, 8) 93ELF_RELOC(R_PPC_ADDR14_BRNTAKEN, 9) 94ELF_RELOC(R_PPC_REL24, 10) 95ELF_RELOC(R_PPC_REL14, 11) 96ELF_RELOC(R_PPC_REL14_BRTAKEN, 12) 97ELF_RELOC(R_PPC_REL14_BRNTAKEN, 13) 98ELF_RELOC(R_PPC_GOT16, 14) 99ELF_RELOC(R_PPC_GOT16_LO, 15) 100ELF_RELOC(R_PPC_GOT16_HI, 16) 101ELF_RELOC(R_PPC_GOT16_HA, 17) 102ELF_RELOC(R_PPC_PLTREL24, 18) 103ELF_RELOC(R_PPC_COPY, 19) 104ELF_RELOC(R_PPC_GLOB_DAT, 20) 105ELF_RELOC(R_PPC_JMP_SLOT, 21) 106ELF_RELOC(R_PPC_RELATIVE, 22) 107ELF_RELOC(R_PPC_LOCAL24PC, 23) 108ELF_RELOC(R_PPC_UADDR32, 24) 109ELF_RELOC(R_PPC_UADDR16, 25) 110ELF_RELOC(R_PPC_REL32, 26) 111ELF_RELOC(R_PPC_PLT32, 27) 112ELF_RELOC(R_PPC_PLTREL32, 28) 113ELF_RELOC(R_PPC_PLT16_LO, 29) 114ELF_RELOC(R_PPC_PLT16_HI, 30) 115ELF_RELOC(R_PPC_PLT16_HA, 31) 116ELF_RELOC(R_PPC_SDAREL16, 32) 117ELF_RELOC(R_PPC_SECTOFF, 33) 118ELF_RELOC(R_PPC_SECTOFF_LO, 34) 119ELF_RELOC(R_PPC_SECTOFF_HI, 35) 120ELF_RELOC(R_PPC_SECTOFF_HA, 36) 121ELF_RELOC(R_PPC_ADDR30, 37) 122ELF_RELOC(R_PPC_TLS, 67) 123ELF_RELOC(R_PPC_DTPMOD32, 68) 124ELF_RELOC(R_PPC_TPREL16, 69) 125ELF_RELOC(R_PPC_TPREL16_LO, 70) 126ELF_RELOC(R_PPC_TPREL16_HI, 71) 127ELF_RELOC(R_PPC_TPREL16_HA, 72) 128ELF_RELOC(R_PPC_TPREL32, 73) 129ELF_RELOC(R_PPC_DTPREL16, 74) 130ELF_RELOC(R_PPC_DTPREL16_LO, 75) 131ELF_RELOC(R_PPC_DTPREL16_HI, 76) 132ELF_RELOC(R_PPC_DTPREL16_HA, 77) 133ELF_RELOC(R_PPC_DTPREL32, 78) 134ELF_RELOC(R_PPC_GOT_TLSGD16, 79) 135ELF_RELOC(R_PPC_GOT_TLSGD16_LO, 80) 136ELF_RELOC(R_PPC_GOT_TLSGD16_HI, 81) 137ELF_RELOC(R_PPC_GOT_TLSGD16_HA, 82) 138ELF_RELOC(R_PPC_GOT_TLSLD16, 83) 139ELF_RELOC(R_PPC_GOT_TLSLD16_LO, 84) 140ELF_RELOC(R_PPC_GOT_TLSLD16_HI, 85) 141ELF_RELOC(R_PPC_GOT_TLSLD16_HA, 86) 142ELF_RELOC(R_PPC_GOT_TPREL16, 87) 143ELF_RELOC(R_PPC_GOT_TPREL16_LO, 88) 144ELF_RELOC(R_PPC_GOT_TPREL16_HI, 89) 145ELF_RELOC(R_PPC_GOT_TPREL16_HA, 90) 146ELF_RELOC(R_PPC_GOT_DTPREL16, 91) 147ELF_RELOC(R_PPC_GOT_DTPREL16_LO, 92) 148ELF_RELOC(R_PPC_GOT_DTPREL16_HI, 93) 149ELF_RELOC(R_PPC_GOT_DTPREL16_HA, 94) 150ELF_RELOC(R_PPC_TLSGD, 95) 151ELF_RELOC(R_PPC_TLSLD, 96) 152ELF_RELOC(R_PPC_IRELATIVE, 248) 153ELF_RELOC(R_PPC_REL16, 249) 154ELF_RELOC(R_PPC_REL16_LO, 250) 155ELF_RELOC(R_PPC_REL16_HI, 251) 156ELF_RELOC(R_PPC_REL16_HA, 252) 157