|  |  | 
|  | #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) |