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