4
0
mirror of https://github.com/QuasarApp/LIEF.git synced 2025-05-12 11:29:33 +00:00

Move to Pybind11 v2.4.3 and fix enum conflicts

This commit is contained in:
rthomas 2019-11-19 06:40:53 +01:00
parent d400ca429d
commit 934d84ffea
19 changed files with 87 additions and 171 deletions

@ -25,15 +25,13 @@ void init_enums(py::module& m) {
.value(PY_ENUM(EXE_FORMATS::FORMAT_UNKNOWN))
.value(PY_ENUM(EXE_FORMATS::FORMAT_ELF))
.value(PY_ENUM(EXE_FORMATS::FORMAT_PE))
.value(PY_ENUM(EXE_FORMATS::FORMAT_MACHO))
.export_values();
.value(PY_ENUM(EXE_FORMATS::FORMAT_MACHO));
py::enum_<OBJECT_TYPES>(m, "OBJECT_TYPES")
.value(PY_ENUM(OBJECT_TYPES::TYPE_NONE))
.value(PY_ENUM(OBJECT_TYPES::TYPE_EXECUTABLE))
.value(PY_ENUM(OBJECT_TYPES::TYPE_LIBRARY))
.value(PY_ENUM(OBJECT_TYPES::TYPE_OBJECT))
.export_values();
.value(PY_ENUM(OBJECT_TYPES::TYPE_OBJECT));
py::enum_<ARCHITECTURES>(m, "ARCHITECTURES")
.value(PY_ENUM(ARCHITECTURES::ARCH_NONE))
@ -45,8 +43,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ARCHITECTURES::ARCH_SPARC))
.value(PY_ENUM(ARCHITECTURES::ARCH_SYSZ))
.value(PY_ENUM(ARCHITECTURES::ARCH_XCORE))
.value(PY_ENUM(ARCHITECTURES::ARCH_INTEL))
.export_values();
.value(PY_ENUM(ARCHITECTURES::ARCH_INTEL));
py::enum_<MODES>(m, "MODES")
.value(PY_ENUM(MODES::MODE_NONE))
@ -64,13 +61,11 @@ void init_enums(py::module& m) {
.value(PY_ENUM(MODES::MODE_V8))
.value(PY_ENUM(MODES::MODE_V9))
.value(PY_ENUM(MODES::MODE_MIPS32))
.value(PY_ENUM(MODES::MODE_MIPS64))
.export_values();
.value(PY_ENUM(MODES::MODE_MIPS64));
py::enum_<ENDIANNESS>(m, "ENDIANNESS")
.value(PY_ENUM(ENDIANNESS::ENDIAN_NONE))
.value(PY_ENUM(ENDIANNESS::ENDIAN_BIG))
.value(PY_ENUM(ENDIANNESS::ENDIAN_LITTLE))
.export_values();
.value(PY_ENUM(ENDIANNESS::ENDIAN_LITTLE));
}
}

@ -25,8 +25,8 @@ message(STATUS "Python lib: ${PYTHON_LIBRARY}")
message(STATUS "Python include: ${PYTHON_INCLUDE_DIR}")
message(STATUS "Python interpreter: ${PYTHON_EXECUTABLE}")
set(PYBIND11_VERSION 2.2.4)
set(PYBIND11_SHA256 SHA256=c62073cd8d4f9209ad64092279e757f5fd83327a5b17a72c04fd0fea27d0d593)
set(PYBIND11_VERSION 2.4.3)
set(PYBIND11_SHA256 SHA256=f1cc1e9c2836f9873aefdaf76a3280a55aae51068c759b27499a9cf34090d364)
set(PYBIND11_URL "${THIRD_PARTY_DIRECTORY}/pybind11-${PYBIND11_VERSION}.zip" CACHE STRING "URL to the Pybind11 repo")
ExternalProject_Add(lief_pybind11
URL ${PYBIND11_URL}

@ -33,8 +33,8 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ACCESS_FLAGS::ACC_FINAL))
.value(PY_ENUM(ACCESS_FLAGS::ACC_SYNCHRONIZED))
.value(PY_ENUM(ACCESS_FLAGS::ACC_VOLATILE))
.value(PY_ENUM(ACCESS_FLAGS::ACC_BRIDGE))
.value(PY_ENUM(ACCESS_FLAGS::ACC_TRANSIENT))
.value("BRIDGE", ACCESS_FLAGS::ACC_BRIDGE)
.value("TRANSIENT", ACCESS_FLAGS::ACC_TRANSIENT)
.value(PY_ENUM(ACCESS_FLAGS::ACC_VARARGS))
.value(PY_ENUM(ACCESS_FLAGS::ACC_NATIVE))
.value(PY_ENUM(ACCESS_FLAGS::ACC_INTERFACE))
@ -44,9 +44,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ACCESS_FLAGS::ACC_ANNOTATION))
.value(PY_ENUM(ACCESS_FLAGS::ACC_ENUM))
.value(PY_ENUM(ACCESS_FLAGS::ACC_CONSTRUCTOR))
.value(PY_ENUM(ACCESS_FLAGS::ACC_ABSTRACT))
.value(PY_ENUM(ACCESS_FLAGS::ACC_DECLARED_SYNCHRONIZED))
.export_values();
.value(PY_ENUM(ACCESS_FLAGS::ACC_DECLARED_SYNCHRONIZED));
}
}

@ -102,7 +102,6 @@ void create<CoreAuxv>(py::module& m) {
LIEF::enum_<AUX_TYPE>(cls, "TYPES")
.value(PY_ENUM(AUX_TYPE::AT_NULL))
.value(PY_ENUM(AUX_TYPE::AT_NULL))
.value(PY_ENUM(AUX_TYPE::AT_IGNORE))
.value(PY_ENUM(AUX_TYPE::AT_EXECFD))

@ -41,8 +41,8 @@ void init_enums(py::module& m) {
.value(PY_ENUM(OS_ABI::ELFOSABI_SYSTEMV))
.value(PY_ENUM(OS_ABI::ELFOSABI_HPUX))
.value(PY_ENUM(OS_ABI::ELFOSABI_NETBSD))
.value(PY_ENUM(OS_ABI::ELFOSABI_GNU))
.value(PY_ENUM(OS_ABI::ELFOSABI_LINUX))
.value("GNU", OS_ABI::ELFOSABI_GNU)
.value(PY_ENUM(OS_ABI::ELFOSABI_HURD))
.value(PY_ENUM(OS_ABI::ELFOSABI_SOLARIS))
.value(PY_ENUM(OS_ABI::ELFOSABI_AIX))
@ -56,8 +56,8 @@ void init_enums(py::module& m) {
.value(PY_ENUM(OS_ABI::ELFOSABI_AROS))
.value(PY_ENUM(OS_ABI::ELFOSABI_FENIXOS))
.value(PY_ENUM(OS_ABI::ELFOSABI_CLOUDABI))
.value(PY_ENUM(OS_ABI::ELFOSABI_C6000_ELFABI))
.value(PY_ENUM(OS_ABI::ELFOSABI_AMDGPU_HSA))
.value("C6000_ELFABI", OS_ABI::ELFOSABI_C6000_ELFABI)
.value(PY_ENUM(OS_ABI::ELFOSABI_C6000_LINUX))
.value(PY_ENUM(OS_ABI::ELFOSABI_ARM))
.value(PY_ENUM(OS_ABI::ELFOSABI_STANDALONE));
@ -92,7 +92,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ARCH::EM_MIPS_RS3_LE))
.value(PY_ENUM(ARCH::EM_PARISC))
.value(PY_ENUM(ARCH::EM_VPP500))
.value(PY_ENUM(ARCH::EM_NONE))
.value(PY_ENUM(ARCH::EM_SPARC32PLUS))
.value(PY_ENUM(ARCH::EM_960))
.value(PY_ENUM(ARCH::EM_PPC))
.value(PY_ENUM(ARCH::EM_PPC64))
@ -203,7 +203,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ARCH::EM_8051))
.value(PY_ENUM(ARCH::EM_STXP7X))
.value(PY_ENUM(ARCH::EM_NDS32))
.value(PY_ENUM(ARCH::EM_ECOG1))
.value("ECOG1", ARCH::EM_ECOG1)
.value(PY_ENUM(ARCH::EM_ECOG1X))
.value(PY_ENUM(ARCH::EM_MAXQ30))
.value(PY_ENUM(ARCH::EM_XIMO16))
@ -281,15 +281,14 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_GNU_verdef))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_GNU_verneed))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_GNU_versym))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_HIOS))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_LOPROC))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_ARM_EXIDX))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_ARM_PREEMPTMAP))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_ARM_ATTRIBUTES))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_ARM_DEBUGOVERLAY))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_ARM_OVERLAYSECTION))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_HEX_ORDERED))
.value(PY_ENUM(ELF_SECTION_TYPES::SHT_X86_64_UNWIND))
.value("X86_64_UNWIND", ELF_SECTION_TYPES::SHT_X86_64_UNWIND)
//.value(PY_ENUM(ELF_SECTION_TYPES::SHT_MIPS_REGINFO))
//.value(PY_ENUM(ELF_SECTION_TYPES::SHT_MIPS_OPTIONS))
//.value(PY_ENUM(ELF_SECTION_TYPES::SHT_MIPS_ABIFLAGS))
@ -312,20 +311,11 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_GROUP))
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_TLS))
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_EXCLUDE))
.value(PY_ENUM(ELF_SECTION_FLAGS::XCORE_SHF_CP_SECTION))
.value("SHF_CP_SECTION", ELF_SECTION_FLAGS::XCORE_SHF_CP_SECTION)
.value(PY_ENUM(ELF_SECTION_FLAGS::XCORE_SHF_DP_SECTION))
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MASKOS))
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MASKPROC))
.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_HEX_GPREL));
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_NODUPES))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_NAMES))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_LOCAL))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_NOSTRIP))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_GPREL))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_MERGE))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_ADDR))
//.value(PY_ENUM(ELF_SECTION_FLAGS::SHF_MIPS_STRING));
//! Enum for the *p_type* field of ElfXX_Phdr
LIEF::enum_<SEGMENT_TYPES>(m, "SEGMENT_TYPES")
@ -337,22 +327,12 @@ void init_enums(py::module& m) {
.value(PY_ENUM(SEGMENT_TYPES::PT_SHLIB))
.value(PY_ENUM(SEGMENT_TYPES::PT_PHDR))
.value(PY_ENUM(SEGMENT_TYPES::PT_TLS))
.value(PY_ENUM(SEGMENT_TYPES::PT_LOOS))
.value(PY_ENUM(SEGMENT_TYPES::PT_HIOS))
.value(PY_ENUM(SEGMENT_TYPES::PT_LOPROC))
.value(PY_ENUM(SEGMENT_TYPES::PT_HIPROC))
.value(PY_ENUM(SEGMENT_TYPES::PT_GNU_EH_FRAME))
.value(PY_ENUM(SEGMENT_TYPES::PT_SUNW_EH_FRAME))
.value(PY_ENUM(SEGMENT_TYPES::PT_SUNW_UNWIND))
.value(PY_ENUM(SEGMENT_TYPES::PT_GNU_STACK))
.value(PY_ENUM(SEGMENT_TYPES::PT_GNU_RELRO))
.value(PY_ENUM(SEGMENT_TYPES::PT_ARM_ARCHEXT))
.value(PY_ENUM(SEGMENT_TYPES::PT_ARM_EXIDX))
.value(PY_ENUM(SEGMENT_TYPES::PT_ARM_UNWIND));
//.value(PY_ENUM(SEGMENT_TYPES::PT_MIPS_REGINFO))
//.value(PY_ENUM(SEGMENT_TYPES::PT_MIPS_RTPROC))
//.value(PY_ENUM(SEGMENT_TYPES::PT_MIPS_OPTIONS))
//.value(PY_ENUM(SEGMENT_TYPES::PT_MIPS_ABIFLAGS));
.value("UNWIND", SEGMENT_TYPES::PT_ARM_UNWIND);
//! Enum for the *p_flags* field of ElfXX_Phdr
LIEF::enum_<ELF_SEGMENT_FLAGS>(m, "SEGMENT_FLAGS", py::arithmetic())
@ -361,8 +341,6 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ELF_SEGMENT_FLAGS::PF_W))
.value(PY_ENUM(ELF_SEGMENT_FLAGS::PF_R));
LIEF::enum_<DYNAMIC_TAGS>(m, "DYNAMIC_TAGS")
.value(PY_ENUM(DYNAMIC_TAGS::DT_NULL))
.value(PY_ENUM(DYNAMIC_TAGS::DT_NEEDED))
@ -395,13 +373,8 @@ void init_enums(py::module& m) {
.value(PY_ENUM(DYNAMIC_TAGS::DT_FINI_ARRAYSZ))
.value(PY_ENUM(DYNAMIC_TAGS::DT_RUNPATH))
.value(PY_ENUM(DYNAMIC_TAGS::DT_FLAGS))
//.value(PY_ENUM(DYNAMIC_TAGS::DT_ENCODING))
.value(PY_ENUM(DYNAMIC_TAGS::DT_PREINIT_ARRAY))
.value(PY_ENUM(DYNAMIC_TAGS::DT_PREINIT_ARRAYSZ))
.value(PY_ENUM(DYNAMIC_TAGS::DT_LOOS))
.value(PY_ENUM(DYNAMIC_TAGS::DT_HIOS))
.value(PY_ENUM(DYNAMIC_TAGS::DT_LOPROC))
.value(PY_ENUM(DYNAMIC_TAGS::DT_HIPROC))
.value(PY_ENUM(DYNAMIC_TAGS::DT_GNU_HASH))
.value(PY_ENUM(DYNAMIC_TAGS::DT_RELACOUNT))
.value(PY_ENUM(DYNAMIC_TAGS::DT_RELCOUNT))
@ -466,22 +439,14 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_FILE))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_COMMON))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_TLS))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_GNU_IFUNC))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_LOOS))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_HIOS))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_LOPROC))
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_HIPROC));
.value(PY_ENUM(ELF_SYMBOL_TYPES::STT_GNU_IFUNC));
LIEF::enum_<SYMBOL_BINDINGS>(m, "SYMBOL_BINDINGS")
.value(PY_ENUM(SYMBOL_BINDINGS::STB_LOCAL))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_GLOBAL))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_WEAK))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_GNU_UNIQUE))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_LOOS))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_HIOS))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_LOPROC))
.value(PY_ENUM(SYMBOL_BINDINGS::STB_HIPROC));
.value(PY_ENUM(SYMBOL_BINDINGS::STB_GNU_UNIQUE));
LIEF::enum_<RELOC_x86_64>(m, "RELOCATION_X86_64")
@ -1128,14 +1093,8 @@ void init_enums(py::module& m) {
LIEF::enum_<SYMBOL_SECTION_INDEX>(m, "SYMBOL_SECTION_INDEX")
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_UNDEF))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_LORESERVE))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_LOPROC))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_HIPROC))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_LOOS))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_HIOS))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_ABS))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_COMMON))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_XINDEX))
.value(PY_ENUM(SYMBOL_SECTION_INDEX::SHN_HIRESERVE));
@ -1181,8 +1140,6 @@ void init_enums(py::module& m) {
.value(PY_ENUM(ELF_SYMBOL_VISIBILITY::STV_INTERNAL))
.value(PY_ENUM(ELF_SYMBOL_VISIBILITY::STV_PROTECTED));
}
}

@ -23,8 +23,7 @@ void init_ELF32_sizes(py::module& m) {
.value("VERNAUX", static_cast<SIZES>(sizeof(Elf32_Vernaux)))
.value("AUXV", static_cast<SIZES>(sizeof(Elf32_Auxv)))
.value("VERDEF", static_cast<SIZES>(sizeof(Elf32_Verdef)))
.value("VERDAUX", static_cast<SIZES>(sizeof(Elf32_Verdaux)))
.export_values();
.value("VERDAUX", static_cast<SIZES>(sizeof(Elf32_Verdaux)));
}
@ -48,8 +47,7 @@ void init_ELF64_sizes(py::module& m) {
.value("VERNAUX", static_cast<SIZES>(sizeof(Elf64_Vernaux)))
.value("AUXV", static_cast<SIZES>(sizeof(Elf64_Auxv)))
.value("VERDEF", static_cast<SIZES>(sizeof(Elf64_Verdef)))
.value("VERDAUX", static_cast<SIZES>(sizeof(Elf64_Verdaux)))
.export_values();
.value("VERDAUX", static_cast<SIZES>(sizeof(Elf64_Verdaux)));
}
}

@ -28,7 +28,7 @@ void init_enums(py::module& m) {
LIEF::enum_<LIEF::MachO::CPU_TYPES>(m, "CPU_TYPES")
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_ANY))
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_X86))
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_I386))
.value("I386", LIEF::MachO::CPU_TYPES::CPU_TYPE_I386)
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_X86_64))
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_MC98000))
.value(PY_ENUM(LIEF::MachO::CPU_TYPES::CPU_TYPE_ARM))
@ -298,8 +298,7 @@ void init_enums(py::module& m) {
py::enum_<LIEF::MachO::EXPORT_SYMBOL_FLAGS>(m, "EXPORT_SYMBOL_FLAGS")
.value(PY_ENUM(LIEF::MachO::EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION))
.value(PY_ENUM(LIEF::MachO::EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_REEXPORT))
.value(PY_ENUM(LIEF::MachO::EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER))
.export_values();
.value(PY_ENUM(LIEF::MachO::EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER));
LIEF::enum_<LIEF::MachO::VM_PROTECTIONS>(m, "VM_PROTECTIONS")

@ -28,8 +28,7 @@ void init_enums(py::module& m) {
py::enum_<OAT_CLASS_TYPES>(m, "OAT_CLASS_TYPES")
.value(PY_ENUM(OAT_CLASS_TYPES::OAT_CLASS_ALL_COMPILED))
.value(PY_ENUM(OAT_CLASS_TYPES::OAT_CLASS_SOME_COMPILED))
.value(PY_ENUM(OAT_CLASS_TYPES::OAT_CLASS_NONE_COMPILED))
.export_values();
.value(PY_ENUM(OAT_CLASS_TYPES::OAT_CLASS_NONE_COMPILED));
py::enum_<OAT_CLASS_STATUS>(m, "OAT_CLASS_STATUS")
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_RETIRED))
@ -44,8 +43,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_VERIFYING_AT_RUNTIME))
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_VERIFIED))
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_INITIALIZING))
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_INITIALIZED))
.export_values();
.value(PY_ENUM(OAT_CLASS_STATUS::STATUS_INITIALIZED));
py::enum_<HEADER_KEYS>(m, "HEADER_KEYS")
.value(PY_ENUM(HEADER_KEYS::KEY_IMAGE_LOCATION))
@ -58,8 +56,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(HEADER_KEYS::KEY_COMPILER_FILTER))
.value(PY_ENUM(HEADER_KEYS::KEY_CLASS_PATH))
.value(PY_ENUM(HEADER_KEYS::KEY_BOOT_CLASS_PATH))
.value(PY_ENUM(HEADER_KEYS::KEY_CONCURRENT_COPYING))
.export_values();
.value(PY_ENUM(HEADER_KEYS::KEY_CONCURRENT_COPYING));
py::enum_<INSTRUCTION_SETS>(m, "INSTRUCTION_SETS")
@ -70,8 +67,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(INSTRUCTION_SETS::INST_SET_X86))
.value(PY_ENUM(INSTRUCTION_SETS::INST_SET_X86_64))
.value(PY_ENUM(INSTRUCTION_SETS::INST_SET_MIPS))
.value(PY_ENUM(INSTRUCTION_SETS::INST_SET_MIPS_64))
.export_values();
.value(PY_ENUM(INSTRUCTION_SETS::INST_SET_MIPS_64));
}

@ -237,7 +237,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR))
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_SECTION))
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_REL))
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR16))
.value("JMPADDR16", LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR16)
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_IA64_IMM64))
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_DIR64))
.value(PY_ENUM(LIEF::PE::RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH3ADJ));
@ -302,7 +302,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_CATALAN))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_CHINESE))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_CROATIAN))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_BOSNIAN))
.value("BOSNIAN", LIEF::PE::RESOURCE_LANGS::LANG_BOSNIAN)
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_CZECH))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_DANISH))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_DIVEHI))
@ -348,7 +348,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_ROMANIAN))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_RUSSIAN))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_SANSKRIT))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_SERBIAN))
.value("SERBIAN", LIEF::PE::RESOURCE_LANGS::LANG_SERBIAN)
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_SINDHI))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_SLOVAK))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_SLOVENIAN))
@ -365,7 +365,7 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_URDU))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_UZBEK))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_VIETNAMESE))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_GAELIC))
.value("GAELIC", LIEF::PE::RESOURCE_LANGS::LANG_GAELIC)
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_MALTESE))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_MAORI))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_RHAETO_ROMANCE))
@ -384,12 +384,12 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_BRETON))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_INUKTITUT))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_IRISH))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_LOWER_SORBIAN))
.value("LOWER_SORBIAN", LIEF::PE::RESOURCE_LANGS::LANG_LOWER_SORBIAN)
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_PULAR))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_QUECHUA))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_TAMAZIGHT))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_TIGRINYA))
.value(PY_ENUM(LIEF::PE::RESOURCE_LANGS::LANG_VALENCIAN));
.value("VALENCIAN", LIEF::PE::RESOURCE_LANGS::LANG_VALENCIAN);
LIEF::enum_<LIEF::PE::RESOURCE_SUBLANGS>(m, "RESOURCE_SUBLANGS")
.value(PY_ENUM(LIEF::PE::RESOURCE_SUBLANGS::SUBLANG_AFRIKAANS_SOUTH_AFRICA))
@ -637,9 +637,9 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_RIGHT))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_LEFT))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_RTLREADING))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_LTRREADING))
.value("LTRREADING", LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_LTRREADING)
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_LEFTSCROLLBAR))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_RIGHTSCROLLBAR))
.value("RIGHTSCROLLBAR", LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_RIGHTSCROLLBAR)
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_CONTROLPARENT))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_STATICEDGE))
.value(PY_ENUM(LIEF::PE::EXTENDED_WINDOW_STYLES::WS_EX_APPWINDOW));
@ -663,8 +663,8 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_HSCROLL))
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_SYSMENU))
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_THICKFRAME))
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_GROUP))
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_TABSTOP))
.value("GROUP", LIEF::PE::WINDOW_STYLES::WS_GROUP)
.value("TABSTOP", LIEF::PE::WINDOW_STYLES::WS_TABSTOP)
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_MINIMIZEBOX))
.value(PY_ENUM(LIEF::PE::WINDOW_STYLES::WS_MAXIMIZEBOX));
@ -734,9 +734,9 @@ void init_enums(py::module& m) {
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_SOUND))
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_SYSTEM))
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_VERSIONED_PRINTER))
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_RASTER))
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_TRUETYPE))
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_VECTOR))
.value("FONT_RASTER", LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_RASTER)
.value("FONT_TRUETYPE", LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_TRUETYPE)
.value("FONT_VECTOR", LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_VECTOR)
.value(PY_ENUM(LIEF::PE::FIXED_VERSION_FILE_SUB_TYPES::VFT2_UNKNOWN));
LIEF::enum_<LIEF::PE::CODE_PAGES>(m, "CODE_PAGES")

@ -30,8 +30,7 @@ void init_LIEF_Logger(py::module& m) {
.value(PY_ENUM(LIEF::LOGGING_LEVEL::LOG_WARNING))
.value(PY_ENUM(LIEF::LOGGING_LEVEL::LOG_INFO))
.value(PY_ENUM(LIEF::LOGGING_LEVEL::LOG_VERBOSE))
.value(PY_ENUM(LIEF::LOGGING_LEVEL::LOG_UNKNOWN))
.export_values();
.value(PY_ENUM(LIEF::LOGGING_LEVEL::LOG_UNKNOWN));
py::class_<LIEF::Logger>(m, "Logger")
.def_static("disable",

@ -711,7 +711,7 @@ enum _LIEF_EN(SECTION_CHARACTERISTICS) {
_LIEF_EI(IMAGE_SCN_LNK_REMOVE) = 0x00000800,
_LIEF_EI(IMAGE_SCN_LNK_COMDAT) = 0x00001000,
_LIEF_EI(IMAGE_SCN_GPREL) = 0x00008000,
_LIEF_EI(IMAGE_SCN_MEM_PURGEABLE) = 0x00020000,
_LIEF_EI(IMAGE_SCN_MEM_PURGEABLE) = 0x00010000,
_LIEF_EI(IMAGE_SCN_MEM_16BIT) = 0x00020000,
_LIEF_EI(IMAGE_SCN_MEM_LOCKED) = 0x00040000,
_LIEF_EI(IMAGE_SCN_MEM_PRELOAD) = 0x00080000,
@ -860,9 +860,11 @@ enum _LIEF_EN(FIXED_VERSION_FILE_SUB_TYPES) {
_LIEF_EI(VFT2_DRV_SOUND) = 0x00000009L,
_LIEF_EI(VFT2_DRV_SYSTEM) = 0x00000007L,
_LIEF_EI(VFT2_DRV_VERSIONED_PRINTER) = 0x0000000CL,
_LIEF_EI(VFT2_FONT_RASTER) = 0x00000001L,
_LIEF_EI(VFT2_FONT_TRUETYPE) = 0x00000003L,
_LIEF_EI(VFT2_FONT_VECTOR) = 0x00000002L,
_LIEF_EI(VFT2_UNKNOWN) = 0x00000000L,
};

@ -49,7 +49,7 @@ const char* to_string(MapItem::TYPES e) {
const char* to_string(ACCESS_FLAGS e) {
CONST_MAP(ACCESS_FLAGS, const char*, 20) enumStrings {
CONST_MAP(ACCESS_FLAGS, const char*, 18) enumStrings {
{ ACCESS_FLAGS::ACC_UNKNOWN, "UNKNOWN" },
{ ACCESS_FLAGS::ACC_PUBLIC, "PUBLIC" },
{ ACCESS_FLAGS::ACC_PRIVATE, "PRIVATE" },
@ -58,8 +58,6 @@ const char* to_string(ACCESS_FLAGS e) {
{ ACCESS_FLAGS::ACC_FINAL, "FINAL" },
{ ACCESS_FLAGS::ACC_SYNCHRONIZED, "SYNCHRONIZED" },
{ ACCESS_FLAGS::ACC_VOLATILE, "VOLATILE" },
{ ACCESS_FLAGS::ACC_BRIDGE, "BRIDGE" },
{ ACCESS_FLAGS::ACC_TRANSIENT, "TRANSIENT" },
{ ACCESS_FLAGS::ACC_VARARGS, "VARARGS" },
{ ACCESS_FLAGS::ACC_NATIVE, "NATIVE" },
{ ACCESS_FLAGS::ACC_INTERFACE, "INTERFACE" },

@ -23,15 +23,11 @@ namespace LIEF {
namespace ELF {
const char* to_string(SYMBOL_BINDINGS e) {
CONST_MAP(SYMBOL_BINDINGS, const char*, 8) enumStrings {
CONST_MAP(SYMBOL_BINDINGS, const char*, 4) enumStrings {
{ SYMBOL_BINDINGS::STB_LOCAL, "LOCAL" },
{ SYMBOL_BINDINGS::STB_GLOBAL, "GLOBAL" },
{ SYMBOL_BINDINGS::STB_WEAK, "WEAK" },
{ SYMBOL_BINDINGS::STB_GNU_UNIQUE, "GNU_UNIQUE" },
{ SYMBOL_BINDINGS::STB_LOOS, "LOOS" },
{ SYMBOL_BINDINGS::STB_HIOS, "HIOS" },
{ SYMBOL_BINDINGS::STB_LOPROC, "LOPROC" },
{ SYMBOL_BINDINGS::STB_HIPROC, "HIPROC" }
};
auto it = enumStrings.find(e);
return it == enumStrings.end() ? "UNDEFINED" : it->second;
@ -277,7 +273,7 @@ const char* to_string(SEGMENT_TYPES e) {
}
const char* to_string(DYNAMIC_TAGS e) {
CONST_MAP(DYNAMIC_TAGS, const char*, 91) enumStrings {
CONST_MAP(DYNAMIC_TAGS, const char*, 87) enumStrings {
{ DYNAMIC_TAGS::DT_NULL, "NULL"},
{ DYNAMIC_TAGS::DT_NEEDED, "NEEDED"},
{ DYNAMIC_TAGS::DT_PLTRELSZ, "PLTRELSZ"},
@ -312,10 +308,6 @@ const char* to_string(DYNAMIC_TAGS e) {
//{ DYNAMIC_TAGS::DT_ENCODING, "ENCODING"}, // SKIPED
{ DYNAMIC_TAGS::DT_PREINIT_ARRAY, "PREINIT_ARRAY"},
{ DYNAMIC_TAGS::DT_PREINIT_ARRAYSZ, "PREINIT_ARRAYSZ"},
{ DYNAMIC_TAGS::DT_LOOS, "LOOS"},
{ DYNAMIC_TAGS::DT_HIOS, "HIOS"},
{ DYNAMIC_TAGS::DT_LOPROC, "LOPROC"},
{ DYNAMIC_TAGS::DT_HIPROC, "HIPROC"},
{ DYNAMIC_TAGS::DT_GNU_HASH, "GNU_HASH"},
{ DYNAMIC_TAGS::DT_RELACOUNT, "RELACOUNT"},
{ DYNAMIC_TAGS::DT_RELCOUNT, "RELCOUNT"},
@ -455,7 +447,7 @@ const char* to_string(ELF_SECTION_FLAGS e) {
const char* to_string(ELF_SYMBOL_TYPES e) {
CONST_MAP(ELF_SYMBOL_TYPES, const char*, 12) enumStrings {
CONST_MAP(ELF_SYMBOL_TYPES, const char*, 8) enumStrings {
{ ELF_SYMBOL_TYPES::STT_NOTYPE, "NOTYPE"},
{ ELF_SYMBOL_TYPES::STT_OBJECT, "OBJECT"},
{ ELF_SYMBOL_TYPES::STT_FUNC, "FUNC"},
@ -464,10 +456,6 @@ const char* to_string(ELF_SYMBOL_TYPES e) {
{ ELF_SYMBOL_TYPES::STT_COMMON, "COMMON"},
{ ELF_SYMBOL_TYPES::STT_TLS, "TLS"},
{ ELF_SYMBOL_TYPES::STT_GNU_IFUNC, "GNU_IFUNC"},
{ ELF_SYMBOL_TYPES::STT_LOOS, "LOOS"},
{ ELF_SYMBOL_TYPES::STT_HIOS, "HIOS"},
{ ELF_SYMBOL_TYPES::STT_LOPROC, "LOPROC"},
{ ELF_SYMBOL_TYPES::STT_HIPROC, "HIPROC"}
};
auto it = enumStrings.find(e);
return it == enumStrings.end() ? "UNDEFINED" : it->second;
@ -855,7 +843,7 @@ const char* to_string(RELOC_POWERPC32 e) {
{ RELOC_POWERPC32::R_PPC_ADDR32, "ADDR32" },
{ RELOC_POWERPC32::R_PPC_ADDR24, "ADDR24" },
{ RELOC_POWERPC32::R_PPC_ADDR16, "ADDR16" },
{ RELOC_POWERPC32::R_PPC_ADDR16_LO, "ADDR16" },
{ RELOC_POWERPC32::R_PPC_ADDR16_LO, "ADDR16_LO" },
{ RELOC_POWERPC32::R_PPC_ADDR16_HI, "ADDR16_HI" },
{ RELOC_POWERPC32::R_PPC_ADDR16_HA, "ADDR16_HA" },
{ RELOC_POWERPC32::R_PPC_ADDR14, "ADDR14" },

@ -112,10 +112,10 @@ const char* to_string(LOAD_COMMAND_TYPES e) {
}
const char* to_string(CPU_TYPES e) {
CONST_MAP(CPU_TYPES, const char*, 10) enumStrings {
CONST_MAP(CPU_TYPES, const char*, 9) enumStrings {
{ CPU_TYPES::CPU_TYPE_ANY, "ANY"},
{ CPU_TYPES::CPU_TYPE_X86, "x86"},
{ CPU_TYPES::CPU_TYPE_I386, "i386"},
//{ CPU_TYPES::CPU_TYPE_I386, "i386"},
{ CPU_TYPES::CPU_TYPE_X86_64, "x86_64"},
//{ CPU_TYPES::CPU_TYPE_MIPS, "MIPS"},
{ CPU_TYPES::CPU_TYPE_MC98000, "MC98000"},

@ -364,7 +364,7 @@ const char* to_string(RELOCATIONS_ARM e) {
const char* to_string(RELOCATIONS_BASE_TYPES e) {
CONST_MAP(RELOCATIONS_BASE_TYPES, const char*, 12) enumStrings {
CONST_MAP(RELOCATIONS_BASE_TYPES, const char*, 11) enumStrings {
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ABSOLUTE, "ABSOLUTE" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH, "HIGH" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_LOW, "LOW" },
@ -373,7 +373,6 @@ const char* to_string(RELOCATIONS_BASE_TYPES e) {
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR, "JMPADDR" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_SECTION, "SECTION" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_REL, "REL" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR16, "JMPADDR16" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_IA64_IMM64, "IMM64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_DIR64, "DIR64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH3ADJ, "HIGH3ADJ" }
@ -387,23 +386,23 @@ const char* to_string(RELOCATIONS_BASE_TYPES e) {
const char* to_string(DEBUG_TYPES e) {
CONST_MAP(DEBUG_TYPES, const char*, 17) enumStrings {
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_UNKNOWN, "UNKNOWN" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_COFF, "COFF" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_CODEVIEW, "CODEVIEW" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_FPO, "FPO" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_MISC, "MISC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_EXCEPTION, "EXCEPTION" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_FIXUP, "FIXUP" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_OMAP_TO_SRC, "SRC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_OMAP_FROM_SRC, "SRC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_BORLAND, "BORLAND" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_RESERVED10, "RESERVED" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_CLSID, "CLSID" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_VC_FEATURE, "VC_FEATURE" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_POGO, "POGO" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_ILTCG, "ILTCG" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_MPX, "MPX" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_REPRO, "REPRO" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_UNKNOWN, "UNKNOWN" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_COFF, "COFF" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_CODEVIEW, "CODEVIEW" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_FPO, "FPO" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_MISC, "MISC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_EXCEPTION, "EXCEPTION" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_FIXUP, "FIXUP" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_OMAP_TO_SRC, "OMAP_TO_SRC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_OMAP_FROM_SRC, "OMAP_FROM_SRC" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_BORLAND, "BORLAND" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_RESERVED10, "RESERVED" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_CLSID, "CLSID" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_VC_FEATURE, "VC_FEATURE" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_POGO, "POGO" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_ILTCG, "ILTCG" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_MPX, "MPX" },
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_REPRO, "REPRO" },
};
auto it = enumStrings.find(e);
@ -441,7 +440,7 @@ const char* to_string(RESOURCE_TYPES e) {
}
const char* to_string(RESOURCE_LANGS e) {
CONST_MAP(RESOURCE_LANGS, const char*, 103) enumStrings {
CONST_MAP(RESOURCE_LANGS, const char*, 98) enumStrings {
{ RESOURCE_LANGS::LANG_NEUTRAL, "NEUTRAL" },
{ RESOURCE_LANGS::LANG_INVARIANT, "INVARIANT" },
{ RESOURCE_LANGS::LANG_AFRIKAANS, "AFRIKAANS" },
@ -457,7 +456,6 @@ const char* to_string(RESOURCE_LANGS e) {
{ RESOURCE_LANGS::LANG_CATALAN, "CATALAN" },
{ RESOURCE_LANGS::LANG_CHINESE, "CHINESE" },
{ RESOURCE_LANGS::LANG_CROATIAN, "CROATIAN" },
{ RESOURCE_LANGS::LANG_BOSNIAN, "BOSNIAN" },
{ RESOURCE_LANGS::LANG_CZECH, "CZECH" },
{ RESOURCE_LANGS::LANG_DANISH, "DANISH" },
{ RESOURCE_LANGS::LANG_DIVEHI, "DIVEHI" },
@ -503,7 +501,6 @@ const char* to_string(RESOURCE_LANGS e) {
{ RESOURCE_LANGS::LANG_ROMANIAN, "ROMANIAN" },
{ RESOURCE_LANGS::LANG_RUSSIAN, "RUSSIAN" },
{ RESOURCE_LANGS::LANG_SANSKRIT, "SANSKRIT" },
{ RESOURCE_LANGS::LANG_SERBIAN, "SERBIAN" },
{ RESOURCE_LANGS::LANG_SINDHI, "SINDHI" },
{ RESOURCE_LANGS::LANG_SLOVAK, "SLOVAK" },
{ RESOURCE_LANGS::LANG_SLOVENIAN, "SLOVENIAN" },
@ -520,7 +517,6 @@ const char* to_string(RESOURCE_LANGS e) {
{ RESOURCE_LANGS::LANG_URDU, "URDU" },
{ RESOURCE_LANGS::LANG_UZBEK, "UZBEK" },
{ RESOURCE_LANGS::LANG_VIETNAMESE, "VIETNAMESE" },
{ RESOURCE_LANGS::LANG_GAELIC, "GAELIC" },
{ RESOURCE_LANGS::LANG_MALTESE, "MALTESE" },
{ RESOURCE_LANGS::LANG_MAORI, "MAORI" },
{ RESOURCE_LANGS::LANG_RHAETO_ROMANCE, "RHAETO_ROMANCE" },
@ -539,12 +535,10 @@ const char* to_string(RESOURCE_LANGS e) {
{ RESOURCE_LANGS::LANG_BRETON, "BRETON" },
{ RESOURCE_LANGS::LANG_INUKTITUT, "INUKTITUT" },
{ RESOURCE_LANGS::LANG_IRISH, "IRISH" },
{ RESOURCE_LANGS::LANG_LOWER_SORBIAN, "LOWER_SORBIAN" },
{ RESOURCE_LANGS::LANG_PULAR, "PULAR" },
{ RESOURCE_LANGS::LANG_QUECHUA, "QUECHUA" },
{ RESOURCE_LANGS::LANG_TAMAZIGHT, "TAMAZIGHT" },
{ RESOURCE_LANGS::LANG_TIGRINYA, "TIGRINYA" },
{ RESOURCE_LANGS::LANG_VALENCIAN, "VALENCIAN" },
};
auto it = enumStrings.find(e);
@ -789,7 +783,7 @@ const char* to_string(RESOURCE_SUBLANGS e) {
}
const char* to_string(EXTENDED_WINDOW_STYLES e) {
CONST_MAP(EXTENDED_WINDOW_STYLES, const char*, 19) enumStrings {
CONST_MAP(EXTENDED_WINDOW_STYLES, const char*, 17) enumStrings {
{ EXTENDED_WINDOW_STYLES::WS_EX_DLGMODALFRAME, "DLGMODALFRAME" },
{ EXTENDED_WINDOW_STYLES::WS_EX_NOPARENTNOTIFY, "NOPARENTNOTIFY" },
{ EXTENDED_WINDOW_STYLES::WS_EX_TOPMOST, "TOPMOST" },
@ -803,9 +797,7 @@ const char* to_string(EXTENDED_WINDOW_STYLES e) {
{ EXTENDED_WINDOW_STYLES::WS_EX_RIGHT, "RIGHT" },
{ EXTENDED_WINDOW_STYLES::WS_EX_LEFT, "LEFT" },
{ EXTENDED_WINDOW_STYLES::WS_EX_RTLREADING, "RTLREADING" },
{ EXTENDED_WINDOW_STYLES::WS_EX_LTRREADING, "LTRREADING" },
{ EXTENDED_WINDOW_STYLES::WS_EX_LEFTSCROLLBAR, "LEFTSCROLLBAR" },
{ EXTENDED_WINDOW_STYLES::WS_EX_RIGHTSCROLLBAR, "RIGHTSCROLLBAR" },
{ EXTENDED_WINDOW_STYLES::WS_EX_CONTROLPARENT, "CONTROLPARENT" },
{ EXTENDED_WINDOW_STYLES::WS_EX_STATICEDGE, "STATICEDGE" },
{ EXTENDED_WINDOW_STYLES::WS_EX_APPWINDOW, "APPWINDOW" },
@ -817,7 +809,7 @@ const char* to_string(EXTENDED_WINDOW_STYLES e) {
const char* to_string(WINDOW_STYLES e) {
CONST_MAP(WINDOW_STYLES, const char*, 20) enumStrings {
CONST_MAP(WINDOW_STYLES, const char*, 18) enumStrings {
{ WINDOW_STYLES::WS_OVERLAPPED, "OVERLAPPED" },
{ WINDOW_STYLES::WS_POPUP, "POPUP" },
{ WINDOW_STYLES::WS_CHILD, "CHILD" },
@ -834,8 +826,6 @@ const char* to_string(WINDOW_STYLES e) {
{ WINDOW_STYLES::WS_HSCROLL, "HSCROLL" },
{ WINDOW_STYLES::WS_SYSMENU, "SYSMENU" },
{ WINDOW_STYLES::WS_THICKFRAME, "THICKFRAME" },
{ WINDOW_STYLES::WS_GROUP, "GROUP" },
{ WINDOW_STYLES::WS_TABSTOP, "TABSTOP" },
{ WINDOW_STYLES::WS_MINIMIZEBOX, "MINIMIZEBOX" },
{ WINDOW_STYLES::WS_MAXIMIZEBOX, "MAXIMIZEBOX" },
};
@ -921,7 +911,7 @@ const char* to_string(FIXED_VERSION_FILE_TYPES e) {
const char* to_string(FIXED_VERSION_FILE_SUB_TYPES e) {
CONST_MAP(FIXED_VERSION_FILE_SUB_TYPES, const char*, 15) enumStrings {
CONST_MAP(FIXED_VERSION_FILE_SUB_TYPES, const char*, 12) enumStrings {
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_COMM, "DRV_COMM" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_DISPLAY, "DRV_DISPLAY" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_INSTALLABLE, "DRV_INSTALLABLE" },
@ -933,9 +923,6 @@ const char* to_string(FIXED_VERSION_FILE_SUB_TYPES e) {
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_SOUND, "DRV_SOUND" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_SYSTEM, "DRV_SYSTEM" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_DRV_VERSIONED_PRINTER, "DRV_VERSIONED_PRINTER" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_RASTER, "FONT_RASTER" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_TRUETYPE, "FONT_TRUETYPE" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_FONT_VECTOR, "FONT_VECTOR" },
{ FIXED_VERSION_FILE_SUB_TYPES::VFT2_UNKNOWN, "UNKNOWN" },
};
auto it = enumStrings.find(e);

@ -56,7 +56,7 @@ class TestSimple(TestCase):
self.assertEqual(LOAD_0.virtual_address, 0)
self.assertEqual(LOAD_0.physical_size, 0x00b34)
self.assertEqual(LOAD_0.virtual_size, 0x00b34)
self.assertEqual(LOAD_0.flags, lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.X)
self.assertEqual(int(LOAD_0.flags), lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.X)
self.assertEqual(LOAD_1.type, lief.ELF.SEGMENT_TYPES.LOAD)
self.assertEqual(LOAD_1.file_offset, 0x000ed8)
@ -64,7 +64,7 @@ class TestSimple(TestCase):
self.assertEqual(LOAD_1.physical_address, 0x00001ed8)
self.assertEqual(LOAD_1.physical_size, 0x00148)
self.assertEqual(LOAD_1.virtual_size, 0x0014c)
self.assertEqual(LOAD_1.flags, lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.W)
self.assertEqual(int(LOAD_1.flags), lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.W)
def test_dynamic(self):
@ -218,7 +218,7 @@ class TestTiny(TestCase):
self.assertEqual(segment.virtual_address, 0x8048000)
self.assertEqual(segment.physical_size, 0x5a)
self.assertEqual(segment.virtual_size, 0x5a)
self.assertEqual(segment.flags, lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.X)
self.assertEqual(int(segment.flags), lief.ELF.SEGMENT_FLAGS.R | lief.ELF.SEGMENT_FLAGS.X)

@ -142,62 +142,62 @@ class TestMachODyld(TestCase):
self.assertEqual(relocations[0].address, 0x00001010)
self.assertEqual(relocations[0].pc_relative, False)
self.assertEqual(relocations[0].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[0].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[0].section.name, "__data")
self.assertEqual(relocations[0].segment.name, "__DATA")
self.assertEqual(relocations[1].address, 0x00001028)
self.assertEqual(relocations[1].pc_relative, False)
self.assertEqual(relocations[1].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[1].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[1].section.name, "__data")
self.assertEqual(relocations[1].segment.name, "__DATA")
self.assertEqual(relocations[2].address, 0x00001030)
self.assertEqual(relocations[2].pc_relative, False)
self.assertEqual(relocations[2].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[2].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[2].section.name, "__data")
self.assertEqual(relocations[2].segment.name, "__DATA")
self.assertEqual(relocations[3].address, 0x00001038)
self.assertEqual(relocations[3].pc_relative, False)
self.assertEqual(relocations[3].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[3].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[3].section.name, "__data")
self.assertEqual(relocations[3].segment.name, "__DATA")
self.assertEqual(relocations[4].address, 0x00001040)
self.assertEqual(relocations[4].pc_relative, False)
self.assertEqual(relocations[4].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[4].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[4].section.name, "__data")
self.assertEqual(relocations[4].segment.name, "__DATA")
self.assertEqual(relocations[5].address, 0x00001258)
self.assertEqual(relocations[5].pc_relative, False)
self.assertEqual(relocations[5].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[5].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[5].section.name, "__data")
self.assertEqual(relocations[5].segment.name, "__DATA")
self.assertEqual(relocations[6].address, 0x00001278)
self.assertEqual(relocations[6].pc_relative, False)
self.assertEqual(relocations[6].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[6].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[6].section.name, "__mystuff")
self.assertEqual(relocations[6].segment.name, "__DATA")
self.assertEqual(relocations[7].address, 0x00001288)
self.assertEqual(relocations[7].pc_relative, False)
self.assertEqual(relocations[7].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[7].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[7].section.name, "__mystuff")
self.assertEqual(relocations[7].segment.name, "__DATA")
self.assertEqual(relocations[8].address, 0x00001298)
self.assertEqual(relocations[8].pc_relative, False)
self.assertEqual(relocations[8].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[8].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[8].section.name, "__mystuff")
self.assertEqual(relocations[8].segment.name, "__DATA")
self.assertEqual(relocations[9].address, 0x000012A8)
self.assertEqual(relocations[9].pc_relative, False)
self.assertEqual(relocations[9].type, lief.MachO.REBASE_TYPES.POINTER)
self.assertEqual(relocations[9].type, int(lief.MachO.REBASE_TYPES.POINTER))
self.assertEqual(relocations[9].section.name, "__mystuff")
self.assertEqual(relocations[9].segment.name, "__DATA")

Binary file not shown.

BIN
third-party/pybind11-2.4.3.zip vendored Normal file

Binary file not shown.