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_JMP_SLOT 31#undef R_PPC_LOCAL24PC 32#undef R_PPC_REL32 33#undef R_PPC_TLS 34#undef R_PPC_DTPMOD32 35#undef R_PPC_TPREL16 36#undef R_PPC_TPREL16_LO 37#undef R_PPC_TPREL16_HI 38#undef R_PPC_TPREL16_HA 39#undef R_PPC_TPREL32 40#undef R_PPC_DTPREL16 41#undef R_PPC_DTPREL16_LO 42#undef R_PPC_DTPREL16_HI 43#undef R_PPC_DTPREL16_HA 44#undef R_PPC_DTPREL32 45#undef R_PPC_GOT_TLSGD16 46#undef R_PPC_GOT_TLSGD16_LO 47#undef R_PPC_GOT_TLSGD16_HI 48#undef R_PPC_GOT_TLSGD16_HA 49#undef R_PPC_GOT_TLSLD16 50#undef R_PPC_GOT_TLSLD16_LO 51#undef R_PPC_GOT_TLSLD16_HI 52#undef R_PPC_GOT_TLSLD16_HA 53#undef R_PPC_GOT_TPREL16 54#undef R_PPC_GOT_TPREL16_LO 55#undef R_PPC_GOT_TPREL16_HI 56#undef R_PPC_GOT_TPREL16_HA 57#undef R_PPC_GOT_DTPREL16 58#undef R_PPC_GOT_DTPREL16_LO 59#undef R_PPC_GOT_DTPREL16_HI 60#undef R_PPC_GOT_DTPREL16_HA 61#undef R_PPC_TLSGD 62#undef R_PPC_TLSLD 63#undef R_PPC_REL16 64#undef R_PPC_REL16_LO 65#undef R_PPC_REL16_HI 66#undef R_PPC_REL16_HA 67 68ELF_RELOC(R_PPC_NONE, 0) /* No relocation. */ 69ELF_RELOC(R_PPC_ADDR32, 1) 70ELF_RELOC(R_PPC_ADDR24, 2) 71ELF_RELOC(R_PPC_ADDR16, 3) 72ELF_RELOC(R_PPC_ADDR16_LO, 4) 73ELF_RELOC(R_PPC_ADDR16_HI, 5) 74ELF_RELOC(R_PPC_ADDR16_HA, 6) 75ELF_RELOC(R_PPC_ADDR14, 7) 76ELF_RELOC(R_PPC_ADDR14_BRTAKEN, 8) 77ELF_RELOC(R_PPC_ADDR14_BRNTAKEN, 9) 78ELF_RELOC(R_PPC_REL24, 10) 79ELF_RELOC(R_PPC_REL14, 11) 80ELF_RELOC(R_PPC_REL14_BRTAKEN, 12) 81ELF_RELOC(R_PPC_REL14_BRNTAKEN, 13) 82ELF_RELOC(R_PPC_GOT16, 14) 83ELF_RELOC(R_PPC_GOT16_LO, 15) 84ELF_RELOC(R_PPC_GOT16_HI, 16) 85ELF_RELOC(R_PPC_GOT16_HA, 17) 86ELF_RELOC(R_PPC_PLTREL24, 18) 87ELF_RELOC(R_PPC_JMP_SLOT, 21) 88ELF_RELOC(R_PPC_LOCAL24PC, 23) 89ELF_RELOC(R_PPC_REL32, 26) 90ELF_RELOC(R_PPC_TLS, 67) 91ELF_RELOC(R_PPC_DTPMOD32, 68) 92ELF_RELOC(R_PPC_TPREL16, 69) 93ELF_RELOC(R_PPC_TPREL16_LO, 70) 94ELF_RELOC(R_PPC_TPREL16_HI, 71) 95ELF_RELOC(R_PPC_TPREL16_HA, 72) 96ELF_RELOC(R_PPC_TPREL32, 73) 97ELF_RELOC(R_PPC_DTPREL16, 74) 98ELF_RELOC(R_PPC_DTPREL16_LO, 75) 99ELF_RELOC(R_PPC_DTPREL16_HI, 76) 100ELF_RELOC(R_PPC_DTPREL16_HA, 77) 101ELF_RELOC(R_PPC_DTPREL32, 78) 102ELF_RELOC(R_PPC_GOT_TLSGD16, 79) 103ELF_RELOC(R_PPC_GOT_TLSGD16_LO, 80) 104ELF_RELOC(R_PPC_GOT_TLSGD16_HI, 81) 105ELF_RELOC(R_PPC_GOT_TLSGD16_HA, 82) 106ELF_RELOC(R_PPC_GOT_TLSLD16, 83) 107ELF_RELOC(R_PPC_GOT_TLSLD16_LO, 84) 108ELF_RELOC(R_PPC_GOT_TLSLD16_HI, 85) 109ELF_RELOC(R_PPC_GOT_TLSLD16_HA, 86) 110ELF_RELOC(R_PPC_GOT_TPREL16, 87) 111ELF_RELOC(R_PPC_GOT_TPREL16_LO, 88) 112ELF_RELOC(R_PPC_GOT_TPREL16_HI, 89) 113ELF_RELOC(R_PPC_GOT_TPREL16_HA, 90) 114ELF_RELOC(R_PPC_GOT_DTPREL16, 91) 115ELF_RELOC(R_PPC_GOT_DTPREL16_LO, 92) 116ELF_RELOC(R_PPC_GOT_DTPREL16_HI, 93) 117ELF_RELOC(R_PPC_GOT_DTPREL16_HA, 94) 118ELF_RELOC(R_PPC_TLSGD, 95) 119ELF_RELOC(R_PPC_TLSLD, 96) 120ELF_RELOC(R_PPC_REL16, 249) 121ELF_RELOC(R_PPC_REL16_LO, 250) 122ELF_RELOC(R_PPC_REL16_HI, 251) 123ELF_RELOC(R_PPC_REL16_HA, 252) 124