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