mirror of
https://github.com/lief-project/LIEF
synced 2026-06-08 15:30:44 +00:00
Add support for PPC32/64 relocations
This commit is contained in:
@@ -838,6 +838,151 @@ void init_ELF_Structures_enum(py::module& m) {
|
||||
.value(PY_ENUM(RELOC_AARCH64::R_AARCH64_TLSDESC))
|
||||
.value(PY_ENUM(RELOC_AARCH64::R_AARCH64_IRELATIVE));
|
||||
|
||||
LIEF::enum_<RELOC_POWERPC32>(m, "RELOCATION_PPC")
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_NONE))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR32))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR24))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR14))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR14_BRTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_ADDR14_BRNTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL24))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL14))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL14_BRTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL14_BRNTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_PLTREL24))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_JMP_SLOT))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_RELATIVE))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_LOCAL24PC))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL32))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TLS))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPMOD32))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TPREL32))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_DTPREL32))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSGD16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSGD16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSGD16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSGD16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSLD16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSLD16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSLD16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TLSLD16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_TPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_DTPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_DTPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_DTPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_GOT_DTPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TLSGD))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_TLSLD))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC32::R_PPC_REL16_HA));
|
||||
|
||||
LIEF::enum_<RELOC_POWERPC64>(m, "RELOCATION_PPC64")
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_NONE))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR32))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR24))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR14))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR14_BRTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR14_BRNTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL24))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL14))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL14_BRTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL14_BRNTAKEN))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_JMP_SLOT))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_RELATIVE))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL32))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR64))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HIGHER))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HIGHERA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HIGHEST))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_HIGHESTA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL64))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_ADDR16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TOC16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TLS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPMOD64))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL64))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL64))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSGD16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSGD16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSGD16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSGD16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSLD16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSLD16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSLD16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TLSLD16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TPREL16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TPREL16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_TPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_DTPREL16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_DTPREL16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_DTPREL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_GOT_DTPREL16_HA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HIGHER))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HIGHERA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HIGHEST))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TPREL16_HIGHESTA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_LO_DS))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HIGHER))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HIGHERA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HIGHEST))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_DTPREL16_HIGHESTA))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TLSGD))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_TLSLD))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL16))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL16_LO))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL16_HI))
|
||||
.value(PY_ENUM(RELOC_POWERPC64::R_PPC64_REL16_HA));
|
||||
|
||||
|
||||
LIEF::enum_<DYNSYM_COUNT_METHODS>(m, "DYNSYM_COUNT_METHODS")
|
||||
.value(PY_ENUM(DYNSYM_COUNT_METHODS::COUNT_AUTO))
|
||||
|
||||
Reference in New Issue
Block a user