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_PPC64_NONE 12#undef R_PPC64_ADDR32 13#undef R_PPC64_ADDR24 14#undef R_PPC64_ADDR16 15#undef R_PPC64_ADDR16_LO 16#undef R_PPC64_ADDR16_HI 17#undef R_PPC64_ADDR16_HA 18#undef R_PPC64_ADDR14 19#undef R_PPC64_ADDR14_BRTAKEN 20#undef R_PPC64_ADDR14_BRNTAKEN 21#undef R_PPC64_REL24 22#undef R_PPC64_REL14 23#undef R_PPC64_REL14_BRTAKEN 24#undef R_PPC64_REL14_BRNTAKEN 25#undef R_PPC64_GOT16 26#undef R_PPC64_GOT16_LO 27#undef R_PPC64_GOT16_HI 28#undef R_PPC64_GOT16_HA 29#undef R_PPC64_GLOB_DAT 30#undef R_PPC64_JMP_SLOT 31#undef R_PPC64_RELATIVE 32#undef R_PPC64_REL32 33#undef R_PPC64_ADDR64 34#undef R_PPC64_ADDR16_HIGHER 35#undef R_PPC64_ADDR16_HIGHERA 36#undef R_PPC64_ADDR16_HIGHEST 37#undef R_PPC64_ADDR16_HIGHESTA 38#undef R_PPC64_REL64 39#undef R_PPC64_TOC16 40#undef R_PPC64_TOC16_LO 41#undef R_PPC64_TOC16_HI 42#undef R_PPC64_TOC16_HA 43#undef R_PPC64_TOC 44#undef R_PPC64_ADDR16_DS 45#undef R_PPC64_ADDR16_LO_DS 46#undef R_PPC64_GOT16_DS 47#undef R_PPC64_GOT16_LO_DS 48#undef R_PPC64_TOC16_DS 49#undef R_PPC64_TOC16_LO_DS 50#undef R_PPC64_TLS 51#undef R_PPC64_DTPMOD64 52#undef R_PPC64_TPREL16 53#undef R_PPC64_TPREL16_LO 54#undef R_PPC64_TPREL16_HI 55#undef R_PPC64_TPREL16_HA 56#undef R_PPC64_TPREL64 57#undef R_PPC64_DTPREL16 58#undef R_PPC64_DTPREL16_LO 59#undef R_PPC64_DTPREL16_HI 60#undef R_PPC64_DTPREL16_HA 61#undef R_PPC64_DTPREL64 62#undef R_PPC64_GOT_TLSGD16 63#undef R_PPC64_GOT_TLSGD16_LO 64#undef R_PPC64_GOT_TLSGD16_HI 65#undef R_PPC64_GOT_TLSGD16_HA 66#undef R_PPC64_GOT_TLSLD16 67#undef R_PPC64_GOT_TLSLD16_LO 68#undef R_PPC64_GOT_TLSLD16_HI 69#undef R_PPC64_GOT_TLSLD16_HA 70#undef R_PPC64_GOT_TPREL16_DS 71#undef R_PPC64_GOT_TPREL16_LO_DS 72#undef R_PPC64_GOT_TPREL16_HI 73#undef R_PPC64_GOT_TPREL16_HA 74#undef R_PPC64_GOT_DTPREL16_DS 75#undef R_PPC64_GOT_DTPREL16_LO_DS 76#undef R_PPC64_GOT_DTPREL16_HI 77#undef R_PPC64_GOT_DTPREL16_HA 78#undef R_PPC64_TPREL16_DS 79#undef R_PPC64_TPREL16_LO_DS 80#undef R_PPC64_TPREL16_HIGHER 81#undef R_PPC64_TPREL16_HIGHERA 82#undef R_PPC64_TPREL16_HIGHEST 83#undef R_PPC64_TPREL16_HIGHESTA 84#undef R_PPC64_DTPREL16_DS 85#undef R_PPC64_DTPREL16_LO_DS 86#undef R_PPC64_DTPREL16_HIGHER 87#undef R_PPC64_DTPREL16_HIGHERA 88#undef R_PPC64_DTPREL16_HIGHEST 89#undef R_PPC64_DTPREL16_HIGHESTA 90#undef R_PPC64_TLSGD 91#undef R_PPC64_TLSLD 92#undef R_PPC64_REL16 93#undef R_PPC64_REL16_LO 94#undef R_PPC64_REL16_HI 95#undef R_PPC64_REL16_HA 96 97ELF_RELOC(R_PPC64_NONE, 0) 98ELF_RELOC(R_PPC64_ADDR32, 1) 99ELF_RELOC(R_PPC64_ADDR24, 2) 100ELF_RELOC(R_PPC64_ADDR16, 3) 101ELF_RELOC(R_PPC64_ADDR16_LO, 4) 102ELF_RELOC(R_PPC64_ADDR16_HI, 5) 103ELF_RELOC(R_PPC64_ADDR16_HA, 6) 104ELF_RELOC(R_PPC64_ADDR14, 7) 105ELF_RELOC(R_PPC64_ADDR14_BRTAKEN, 8) 106ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN, 9) 107ELF_RELOC(R_PPC64_REL24, 10) 108ELF_RELOC(R_PPC64_REL14, 11) 109ELF_RELOC(R_PPC64_REL14_BRTAKEN, 12) 110ELF_RELOC(R_PPC64_REL14_BRNTAKEN, 13) 111ELF_RELOC(R_PPC64_GOT16, 14) 112ELF_RELOC(R_PPC64_GOT16_LO, 15) 113ELF_RELOC(R_PPC64_GOT16_HI, 16) 114ELF_RELOC(R_PPC64_GOT16_HA, 17) 115ELF_RELOC(R_PPC64_GLOB_DAT, 20) 116ELF_RELOC(R_PPC64_JMP_SLOT, 21) 117ELF_RELOC(R_PPC64_RELATIVE, 22) 118ELF_RELOC(R_PPC64_REL32, 26) 119ELF_RELOC(R_PPC64_ADDR64, 38) 120ELF_RELOC(R_PPC64_ADDR16_HIGHER, 39) 121ELF_RELOC(R_PPC64_ADDR16_HIGHERA, 40) 122ELF_RELOC(R_PPC64_ADDR16_HIGHEST, 41) 123ELF_RELOC(R_PPC64_ADDR16_HIGHESTA, 42) 124ELF_RELOC(R_PPC64_REL64, 44) 125ELF_RELOC(R_PPC64_TOC16, 47) 126ELF_RELOC(R_PPC64_TOC16_LO, 48) 127ELF_RELOC(R_PPC64_TOC16_HI, 49) 128ELF_RELOC(R_PPC64_TOC16_HA, 50) 129ELF_RELOC(R_PPC64_TOC, 51) 130ELF_RELOC(R_PPC64_ADDR16_DS, 56) 131ELF_RELOC(R_PPC64_ADDR16_LO_DS, 57) 132ELF_RELOC(R_PPC64_GOT16_DS, 58) 133ELF_RELOC(R_PPC64_GOT16_LO_DS, 59) 134ELF_RELOC(R_PPC64_TOC16_DS, 63) 135ELF_RELOC(R_PPC64_TOC16_LO_DS, 64) 136ELF_RELOC(R_PPC64_TLS, 67) 137ELF_RELOC(R_PPC64_DTPMOD64, 68) 138ELF_RELOC(R_PPC64_TPREL16, 69) 139ELF_RELOC(R_PPC64_TPREL16_LO, 70) 140ELF_RELOC(R_PPC64_TPREL16_HI, 71) 141ELF_RELOC(R_PPC64_TPREL16_HA, 72) 142ELF_RELOC(R_PPC64_TPREL64, 73) 143ELF_RELOC(R_PPC64_DTPREL16, 74) 144ELF_RELOC(R_PPC64_DTPREL16_LO, 75) 145ELF_RELOC(R_PPC64_DTPREL16_HI, 76) 146ELF_RELOC(R_PPC64_DTPREL16_HA, 77) 147ELF_RELOC(R_PPC64_DTPREL64, 78) 148ELF_RELOC(R_PPC64_GOT_TLSGD16, 79) 149ELF_RELOC(R_PPC64_GOT_TLSGD16_LO, 80) 150ELF_RELOC(R_PPC64_GOT_TLSGD16_HI, 81) 151ELF_RELOC(R_PPC64_GOT_TLSGD16_HA, 82) 152ELF_RELOC(R_PPC64_GOT_TLSLD16, 83) 153ELF_RELOC(R_PPC64_GOT_TLSLD16_LO, 84) 154ELF_RELOC(R_PPC64_GOT_TLSLD16_HI, 85) 155ELF_RELOC(R_PPC64_GOT_TLSLD16_HA, 86) 156ELF_RELOC(R_PPC64_GOT_TPREL16_DS, 87) 157ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS, 88) 158ELF_RELOC(R_PPC64_GOT_TPREL16_HI, 89) 159ELF_RELOC(R_PPC64_GOT_TPREL16_HA, 90) 160ELF_RELOC(R_PPC64_GOT_DTPREL16_DS, 91) 161ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS, 92) 162ELF_RELOC(R_PPC64_GOT_DTPREL16_HI, 93) 163ELF_RELOC(R_PPC64_GOT_DTPREL16_HA, 94) 164ELF_RELOC(R_PPC64_TPREL16_DS, 95) 165ELF_RELOC(R_PPC64_TPREL16_LO_DS, 96) 166ELF_RELOC(R_PPC64_TPREL16_HIGHER, 97) 167ELF_RELOC(R_PPC64_TPREL16_HIGHERA, 98) 168ELF_RELOC(R_PPC64_TPREL16_HIGHEST, 99) 169ELF_RELOC(R_PPC64_TPREL16_HIGHESTA, 100) 170ELF_RELOC(R_PPC64_DTPREL16_DS, 101) 171ELF_RELOC(R_PPC64_DTPREL16_LO_DS, 102) 172ELF_RELOC(R_PPC64_DTPREL16_HIGHER, 103) 173ELF_RELOC(R_PPC64_DTPREL16_HIGHERA, 104) 174ELF_RELOC(R_PPC64_DTPREL16_HIGHEST, 105) 175ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA, 106) 176ELF_RELOC(R_PPC64_TLSGD, 107) 177ELF_RELOC(R_PPC64_TLSLD, 108) 178ELF_RELOC(R_PPC64_REL16, 249) 179ELF_RELOC(R_PPC64_REL16_LO, 250) 180ELF_RELOC(R_PPC64_REL16_HI, 251) 181ELF_RELOC(R_PPC64_REL16_HA, 252) 182