| |
| #ifndef ELF_RELOC |
| #error "ELF_RELOC must be defined" |
| #endif |
| |
| // glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the |
| // unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc. |
| // to their corresponding integer values. As a result, we need to undef them |
| // here before continuing. |
| |
| #undef R_PPC64_NONE |
| #undef R_PPC64_ADDR32 |
| #undef R_PPC64_ADDR24 |
| #undef R_PPC64_ADDR16 |
| #undef R_PPC64_ADDR16_LO |
| #undef R_PPC64_ADDR16_HI |
| #undef R_PPC64_ADDR16_HA |
| #undef R_PPC64_ADDR14 |
| #undef R_PPC64_ADDR14_BRTAKEN |
| #undef R_PPC64_ADDR14_BRNTAKEN |
| #undef R_PPC64_REL24 |
| #undef R_PPC64_REL14 |
| #undef R_PPC64_REL14_BRTAKEN |
| #undef R_PPC64_REL14_BRNTAKEN |
| #undef R_PPC64_GOT16 |
| #undef R_PPC64_GOT16_LO |
| #undef R_PPC64_GOT16_HI |
| #undef R_PPC64_GOT16_HA |
| #undef R_PPC64_GLOB_DAT |
| #undef R_PPC64_JMP_SLOT |
| #undef R_PPC64_RELATIVE |
| #undef R_PPC64_REL32 |
| #undef R_PPC64_ADDR64 |
| #undef R_PPC64_ADDR16_HIGHER |
| #undef R_PPC64_ADDR16_HIGHERA |
| #undef R_PPC64_ADDR16_HIGHEST |
| #undef R_PPC64_ADDR16_HIGHESTA |
| #undef R_PPC64_REL64 |
| #undef R_PPC64_TOC16 |
| #undef R_PPC64_TOC16_LO |
| #undef R_PPC64_TOC16_HI |
| #undef R_PPC64_TOC16_HA |
| #undef R_PPC64_TOC |
| #undef R_PPC64_ADDR16_DS |
| #undef R_PPC64_ADDR16_LO_DS |
| #undef R_PPC64_GOT16_DS |
| #undef R_PPC64_GOT16_LO_DS |
| #undef R_PPC64_TOC16_DS |
| #undef R_PPC64_TOC16_LO_DS |
| #undef R_PPC64_TLS |
| #undef R_PPC64_DTPMOD64 |
| #undef R_PPC64_TPREL16 |
| #undef R_PPC64_TPREL16_LO |
| #undef R_PPC64_TPREL16_HI |
| #undef R_PPC64_TPREL16_HA |
| #undef R_PPC64_TPREL64 |
| #undef R_PPC64_DTPREL16 |
| #undef R_PPC64_DTPREL16_LO |
| #undef R_PPC64_DTPREL16_HI |
| #undef R_PPC64_DTPREL16_HA |
| #undef R_PPC64_DTPREL64 |
| #undef R_PPC64_GOT_TLSGD16 |
| #undef R_PPC64_GOT_TLSGD16_LO |
| #undef R_PPC64_GOT_TLSGD16_HI |
| #undef R_PPC64_GOT_TLSGD16_HA |
| #undef R_PPC64_GOT_TLSLD16 |
| #undef R_PPC64_GOT_TLSLD16_LO |
| #undef R_PPC64_GOT_TLSLD16_HI |
| #undef R_PPC64_GOT_TLSLD16_HA |
| #undef R_PPC64_GOT_TPREL16_DS |
| #undef R_PPC64_GOT_TPREL16_LO_DS |
| #undef R_PPC64_GOT_TPREL16_HI |
| #undef R_PPC64_GOT_TPREL16_HA |
| #undef R_PPC64_GOT_DTPREL16_DS |
| #undef R_PPC64_GOT_DTPREL16_LO_DS |
| #undef R_PPC64_GOT_DTPREL16_HI |
| #undef R_PPC64_GOT_DTPREL16_HA |
| #undef R_PPC64_TPREL16_DS |
| #undef R_PPC64_TPREL16_LO_DS |
| #undef R_PPC64_TPREL16_HIGHER |
| #undef R_PPC64_TPREL16_HIGHERA |
| #undef R_PPC64_TPREL16_HIGHEST |
| #undef R_PPC64_TPREL16_HIGHESTA |
| #undef R_PPC64_DTPREL16_DS |
| #undef R_PPC64_DTPREL16_LO_DS |
| #undef R_PPC64_DTPREL16_HIGHER |
| #undef R_PPC64_DTPREL16_HIGHERA |
| #undef R_PPC64_DTPREL16_HIGHEST |
| #undef R_PPC64_DTPREL16_HIGHESTA |
| #undef R_PPC64_TLSGD |
| #undef R_PPC64_TLSLD |
| #undef R_PPC64_REL16 |
| #undef R_PPC64_REL16_LO |
| #undef R_PPC64_REL16_HI |
| #undef R_PPC64_REL16_HA |
| |
| ELF_RELOC(R_PPC64_NONE, 0) |
| ELF_RELOC(R_PPC64_ADDR32, 1) |
| ELF_RELOC(R_PPC64_ADDR24, 2) |
| ELF_RELOC(R_PPC64_ADDR16, 3) |
| ELF_RELOC(R_PPC64_ADDR16_LO, 4) |
| ELF_RELOC(R_PPC64_ADDR16_HI, 5) |
| ELF_RELOC(R_PPC64_ADDR16_HA, 6) |
| ELF_RELOC(R_PPC64_ADDR14, 7) |
| ELF_RELOC(R_PPC64_ADDR14_BRTAKEN, 8) |
| ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN, 9) |
| ELF_RELOC(R_PPC64_REL24, 10) |
| ELF_RELOC(R_PPC64_REL14, 11) |
| ELF_RELOC(R_PPC64_REL14_BRTAKEN, 12) |
| ELF_RELOC(R_PPC64_REL14_BRNTAKEN, 13) |
| ELF_RELOC(R_PPC64_GOT16, 14) |
| ELF_RELOC(R_PPC64_GOT16_LO, 15) |
| ELF_RELOC(R_PPC64_GOT16_HI, 16) |
| ELF_RELOC(R_PPC64_GOT16_HA, 17) |
| ELF_RELOC(R_PPC64_GLOB_DAT, 20) |
| ELF_RELOC(R_PPC64_JMP_SLOT, 21) |
| ELF_RELOC(R_PPC64_RELATIVE, 22) |
| ELF_RELOC(R_PPC64_REL32, 26) |
| ELF_RELOC(R_PPC64_ADDR64, 38) |
| ELF_RELOC(R_PPC64_ADDR16_HIGHER, 39) |
| ELF_RELOC(R_PPC64_ADDR16_HIGHERA, 40) |
| ELF_RELOC(R_PPC64_ADDR16_HIGHEST, 41) |
| ELF_RELOC(R_PPC64_ADDR16_HIGHESTA, 42) |
| ELF_RELOC(R_PPC64_REL64, 44) |
| ELF_RELOC(R_PPC64_TOC16, 47) |
| ELF_RELOC(R_PPC64_TOC16_LO, 48) |
| ELF_RELOC(R_PPC64_TOC16_HI, 49) |
| ELF_RELOC(R_PPC64_TOC16_HA, 50) |
| ELF_RELOC(R_PPC64_TOC, 51) |
| ELF_RELOC(R_PPC64_ADDR16_DS, 56) |
| ELF_RELOC(R_PPC64_ADDR16_LO_DS, 57) |
| ELF_RELOC(R_PPC64_GOT16_DS, 58) |
| ELF_RELOC(R_PPC64_GOT16_LO_DS, 59) |
| ELF_RELOC(R_PPC64_TOC16_DS, 63) |
| ELF_RELOC(R_PPC64_TOC16_LO_DS, 64) |
| ELF_RELOC(R_PPC64_TLS, 67) |
| ELF_RELOC(R_PPC64_DTPMOD64, 68) |
| ELF_RELOC(R_PPC64_TPREL16, 69) |
| ELF_RELOC(R_PPC64_TPREL16_LO, 70) |
| ELF_RELOC(R_PPC64_TPREL16_HI, 71) |
| ELF_RELOC(R_PPC64_TPREL16_HA, 72) |
| ELF_RELOC(R_PPC64_TPREL64, 73) |
| ELF_RELOC(R_PPC64_DTPREL16, 74) |
| ELF_RELOC(R_PPC64_DTPREL16_LO, 75) |
| ELF_RELOC(R_PPC64_DTPREL16_HI, 76) |
| ELF_RELOC(R_PPC64_DTPREL16_HA, 77) |
| ELF_RELOC(R_PPC64_DTPREL64, 78) |
| ELF_RELOC(R_PPC64_GOT_TLSGD16, 79) |
| ELF_RELOC(R_PPC64_GOT_TLSGD16_LO, 80) |
| ELF_RELOC(R_PPC64_GOT_TLSGD16_HI, 81) |
| ELF_RELOC(R_PPC64_GOT_TLSGD16_HA, 82) |
| ELF_RELOC(R_PPC64_GOT_TLSLD16, 83) |
| ELF_RELOC(R_PPC64_GOT_TLSLD16_LO, 84) |
| ELF_RELOC(R_PPC64_GOT_TLSLD16_HI, 85) |
| ELF_RELOC(R_PPC64_GOT_TLSLD16_HA, 86) |
| ELF_RELOC(R_PPC64_GOT_TPREL16_DS, 87) |
| ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS, 88) |
| ELF_RELOC(R_PPC64_GOT_TPREL16_HI, 89) |
| ELF_RELOC(R_PPC64_GOT_TPREL16_HA, 90) |
| ELF_RELOC(R_PPC64_GOT_DTPREL16_DS, 91) |
| ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS, 92) |
| ELF_RELOC(R_PPC64_GOT_DTPREL16_HI, 93) |
| ELF_RELOC(R_PPC64_GOT_DTPREL16_HA, 94) |
| ELF_RELOC(R_PPC64_TPREL16_DS, 95) |
| ELF_RELOC(R_PPC64_TPREL16_LO_DS, 96) |
| ELF_RELOC(R_PPC64_TPREL16_HIGHER, 97) |
| ELF_RELOC(R_PPC64_TPREL16_HIGHERA, 98) |
| ELF_RELOC(R_PPC64_TPREL16_HIGHEST, 99) |
| ELF_RELOC(R_PPC64_TPREL16_HIGHESTA, 100) |
| ELF_RELOC(R_PPC64_DTPREL16_DS, 101) |
| ELF_RELOC(R_PPC64_DTPREL16_LO_DS, 102) |
| ELF_RELOC(R_PPC64_DTPREL16_HIGHER, 103) |
| ELF_RELOC(R_PPC64_DTPREL16_HIGHERA, 104) |
| ELF_RELOC(R_PPC64_DTPREL16_HIGHEST, 105) |
| ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA, 106) |
| ELF_RELOC(R_PPC64_TLSGD, 107) |
| ELF_RELOC(R_PPC64_TLSLD, 108) |
| ELF_RELOC(R_PPC64_REL16, 249) |
| ELF_RELOC(R_PPC64_REL16_LO, 250) |
| ELF_RELOC(R_PPC64_REL16_HI, 251) |
| ELF_RELOC(R_PPC64_REL16_HA, 252) |