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