http://www.linker-aliens.org/blogs/ali/entry/gnu_hash_elf_sections/
https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter6-48031.html
- property buckets → list[int]
Buckets values
- property chains → list[int]
Chains values
- property nbucket → int
Return the number of buckets
- property nchain → int
Return the number of chains (symbol table index)
Note
- class lief.ELF.Note
Bases: Object
Class which represents an ELF note.
- class TYPE(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
LIEF representation of the ELF NT_ values.
- ANDROID_IDENT = 38
- ANDROID_KUSER = 40
- ANDROID_MEMTAG = 39
- CORE_ARM_HW_BREAK = 25
- CORE_ARM_HW_WATCH = 26
- CORE_ARM_PACA_KEYS = 30
- CORE_ARM_PACG_KEYS = 31
- CORE_ARM_PAC_MASK = 29
- CORE_ARM_SVE = 28
- CORE_ARM_SYSTEM_CALL = 27
- CORE_ARM_TLS = 24
- CORE_ARM_VFP = 23
- CORE_AUXV = 13
- CORE_FILE = 20
- CORE_FPREGS = 15
- CORE_FPREGSET = 10
- CORE_LWPSINFO = 18
- CORE_LWPSTATUS = 17
- CORE_PAC_ENABLED_KEYS = 33
- CORE_PRPSINFO = 11
- CORE_PRSTATUS = 9
- CORE_PRXFPREG = 21
- CORE_PSINFO = 16
- CORE_PSTATUS = 14
- CORE_SIGINFO = 22
- CORE_TAGGED_ADDR_CTRL = 32
- CORE_TASKSTRUCT = 12
- CORE_WIN32PSTATUS = 19
- CORE_X86_CET = 37
- CORE_X86_IOPERM = 35
- CORE_X86_TLS = 34
- CORE_X86_XSTATE = 36
- CRASHPAD = 8
- GNU_ABI_TAG = 1
- GNU_BUILD_ATTRIBUTE_FUNC = 7
- GNU_BUILD_ATTRIBUTE_OPEN = 6
- GNU_BUILD_ID = 3
- GNU_GOLD_VERSION = 4
- GNU_HWCAP = 2
- GNU_PROPERTY_TYPE_0 = 5
- GO_BUILDID = 41
- QNX_STACK = 43
- STAPSDT = 42
- UNKNOWN = 0
- from_value(arg: int) → lief.ELF.Note.TYPE = <nanobind.nb_func object>
- copy(self) → lief.ELF.Note | None
Duplicate the current instance of this object
- create(*args) → lief.ELF.Note | None = <nanobind.nb_func object>
- property description → memoryview
Return the description associated with the note
- property name → str
Return the name of the note also known as the owner.
- property original_type → int
Return the original NT_ value of the note.
This value should be interpreted according the name
of the note.
- property size → int
Size of the raw note
- property type → lief.ELF.Note.TYPE
Return the LIEF type representation of the note.
Core PrPsInfo
- class lief.ELF.CorePrPsInfo
Bases: Note
- property info → lief.ELF.CorePrPsInfo.info_t | None
- class info_t
Bases: object
- property args → str
- property args_stripped → str
- property filename → str
- property filename_stripped → str
- property flag → int
- property gid → int
- property nice → int
- property pgrp → int
- property pid → int
- property ppid → int
- property sid → int
- property sname → str
- property state → int
- property uid → int
- property zombie → bool
Core PrStatus
- class lief.ELF.CorePrStatus
Bases: Note
- class Registers
Bases: object
- class AARCH64(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Registers for the AARCH64 architecture (AARCH64
)
- PC = 32
- PSTATE = 33
- X0 = 0
- X1 = 1
- X10 = 10
- X11 = 11
- X12 = 12
- X13 = 13
- X14 = 14
- X15 = 15
- X16 = 16
- X17 = 17
- X18 = 18
- X19 = 19
- X2 = 2
- X20 = 20
- X21 = 21
- X22 = 22
- X23 = 23
- X24 = 24
- X25 = 25
- X26 = 26
- X27 = 27
- X28 = 28
- X29 = 29
- X3 = 3
- X30 = 30
- X31 = 31
- X4 = 4
- X5 = 5
- X6 = 6
- X7 = 7
- X8 = 8
- X9 = 9
- from_value(arg: int) → lief.ELF.CorePrStatus.Registers.AARCH64 = <nanobind.nb_func object>
- class ARM(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Registers for the ARM architecture (ARM
)
- CPSR = 16
- R0 = 0
- R1 = 1
- R10 = 10
- R11 = 11
- R12 = 12
- R13 = 13
- R14 = 14
- R15 = 15
- R2 = 2
- R3 = 3
- R4 = 4
- R5 = 5
- R6 = 6
- R7 = 7
- R8 = 8
- R9 = 9
- from_value(arg: int) → lief.ELF.CorePrStatus.Registers.ARM = <nanobind.nb_func object>
- class X86(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Registers for the x86 architecture (i386
)
- CS = 13
- DS = 7
- EAX = 6
- EBP = 5
- EBX = 0
- ECX = 1
- EDI = 4
- EDX = 2
- EFLAGS = 14
- EIP = 12
- ES = 8
- ESI = 3
- ESP = 15
- FS = 9
- GS = 10
- ORIG_EAX = 11
- SS = 16
- from_value(arg: int) → lief.ELF.CorePrStatus.Registers.X86 = <nanobind.nb_func object>
- class X86_64(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Registers for the x86-64 architecture (x86_64
)
- CS = 17
- EFLAGS = 18
- ORIG_RAX = 15
- R10 = 7
- R11 = 6
- R12 = 3
- R13 = 2
- R14 = 1
- R15 = 0
- R8 = 9
- R9 = 8
- RAX = 10
- RBP = 4
- RBX = 5
- RCX = 11
- RDI = 14
- RDX = 12
- RIP = 16
- RSI = 13
- RSP = 19
- SS = 20
- from_value(arg: int) → lief.ELF.CorePrStatus.Registers.X86_64 = <nanobind.nb_func object>
- property architecture → lief.ELF.ARCH
Original target architecture.
- get(*args) → int | None
Get the register value or non if it is not present
- property pc → int | None
Return the program counter value (rip, pc, eip etc)
- class pr_status_t
Bases: object
- property cstime → lief.ELF.CorePrStatus.timeval_t
- property cursig → int
- property cutime → lief.ELF.CorePrStatus.timeval_t
- property info → lief.ELF.CorePrStatus.siginfo_t
- property pgrp → int
- property pid → int
- property ppid → int
- property reserved → int
- property sid → int
- property sighold → int
- property sigpend → int
- property stime → lief.ELF.CorePrStatus.timeval_t
- property utime → lief.ELF.CorePrStatus.timeval_t
- property register_values → list[int]
List of the register values. This list is guarantee to be as long as the number of registers defined in the Registers
or empty if it can’t be resolved.
Thus, one can access a specific register through:
reg_vals: list[int] = note.register_values()
x20 = reg_vals[CorePrStatus.Registesr.AARCH64.X20.value]
- property return_value → int | None
The value of the register that holds the return value according to the calling convention.
- set(*args) → lief.ok_error_t
Change the register value
- class siginfo_t
Bases: object
- property errno → int
- property sicode → int
- property signo → int
- property sp → int | None
Return the stack pointer value
- property status → lief.ELF.CorePrStatus.pr_status_t
Info associated with the signal
- class timeval_t
Bases: object
- property sec → int
- property usec → int
Core File
- class lief.ELF.CoreFile
Bases: Note
- class entry_t
Bases: object
- property end → int
End address of mapped file
- property file_ofs → int
Offset (in core) of mapped file
- property path → str
Path of mapped file
- property start → int
Start address of mapped file
- property files → lief.ELF.CoreFile.files_t
List of files mapped in core. (list of CoreFileEntry
)
- class files_t(self)
- class files_t(self, arg: lief._lief.ELF.CoreFile.files_t)
- class files_t(self, arg: collections.abc.Iterable[lief._lief.ELF.CoreFile.entry_t], /)
Bases: object
Overloaded function.
__init__(self) -> None
Default constructor
__init__(self, arg: lief._lief.ELF.CoreFile.files_t) -> None
Copy constructor
__init__(self, arg: collections.abc.Iterable[lief._lief.ELF.CoreFile.entry_t], /) -> None
Construct from an iterable object
- append(self, arg: lief.ELF.CoreFile.entry_t) → None
Append arg to the end of the list.
- clear(self) → None
Remove all items from list.
- extend(self, arg: lief.ELF.CoreFile.files_t) → None
Extend self by appending elements from arg.
- insert(self, arg0: int, arg1: lief.ELF.CoreFile.entry_t) → None
Insert object arg1 before index arg0.
- pop(self, index: int) → lief.ELF.CoreFile.entry_t
Remove and return item at index (default last).
Core Siginfo
- class lief.ELF.CoreSigInfo
Bases: Note
- property sigcode → int | None
Signal code
- property sigerrno → int | None
If non-zero, an errno value associated with this signal
- property signo → int | None
Signal number
Core Auxiliary Vector
- class lief.ELF.CoreAuxv
Bases: Note
- class TYPE(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- BASE = 7
- BASE_PLATFORM = 24
- CLKTCK = 17
- DCACHEBSIZE = 19
- EGID = 14
- END = 0
- ENTRY = 9
- EUID = 12
- EXECFD = 2
- EXECFN = 31
- FLAGS = 8
- FPUCW = 18
- GID = 13
- HWCAP = 16
- HWCAP2 = 26
- ICACHEBSIZE = 20
- IGNORE = 1
- IGNOREPPC = 22
- NOTELF = 10
- PAGESZ = 6
- PHDR = 3
- PHENT = 4
- PHNUM = 5
- RANDOM = 25
- SECURE = 23
- SYSINFO = 32
- SYSINFO_EHDR = 33
- TGT_PLATFORM = 15
- UCACHEBSIZE = 21
- UID = 11
- from_value(arg: int) → lief.ELF.CoreAuxv.TYPE = <nanobind.nb_func object>
- get(self, type: lief.ELF.CoreAuxv.TYPE) → int | None
Get the auxv value from the provided type. Return None if it is not present.
- set(*args) → bool
Overloaded function.
set(self, type: lief._lief.ELF.CoreAuxv.TYPE, value: int) -> bool
Change the value for the given type.
set(self, arg: collections.abc.Mapping[lief._lief.ELF.CoreAuxv.TYPE, int], /) -> bool
Replace all the values by the given dictionary.
- property values → dict[lief.ELF.CoreAuxv.TYPE, int]
Return the auxiliary vector as a dictionary of TYPE
/ int
Android Ident
- class lief.ELF.AndroidIdent
Bases: Note
- property ndk_build_number → str
Android NDK build number
- property ndk_version → str
Android NDK version used to build the current binary
- property sdk_version → int
Target SDK platform
QNX Stack
- class lief.ELF.QNXStack
Bases: Note
- property is_executable → bool
Whether the stack is executable
- property stack_allocated → int
Size of the stack pre-allocated (upfront)
- property stack_size → int
Size of the stack
Note ABI
- class lief.ELF.NoteAbi
Bases: Note
Class that wraps the NT_GNU_ABI_TAG note
- class ABI(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
ABI recognized by this note
- FREEBSD = 3
- GNU = 1
- LINUX = 0
- NACL = 6
- NETBSD = 4
- SOLARIS2 = 2
- SYLLABLE = 5
- from_value(arg: int) → lief.ELF.NoteAbi.ABI = <nanobind.nb_func object>
- property abi → lief.ELF.NoteAbi.ABI | None
Return the target ABI
- property version → list[int] | None
Return the target version as (Major, Minor, Patch)
Note Gnu Property
- class lief.ELF.NoteGnuProperty
Bases: Note
This object represents the NT_GNU_PROPERTY_TYPE_0 note.
- class Property
Bases: object
This class wraps the different properties that can be used in a NT_GNU_PROPERTY_TYPE_0 note
- class TYPE(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
LIEF’s mirror types of the original GNU_PROPERTY_ values
- AARCH64_FEATURES = 2
- AARCH64_PAUTH = 3
- GENERIC = 1
- NEEDED = 8
- NO_COPY_ON_PROTECTED = 5
- STACK_SIZE = 4
- UNKNOWN = 0
- X86_FEATURE = 7
- X86_ISA = 6
- from_value(arg: int) → lief.ELF.NoteGnuProperty.Property.TYPE = <nanobind.nb_func object>
- property type → lief.ELF.NoteGnuProperty.Property.TYPE
- find(self, arg: lief.ELF.NoteGnuProperty.Property.TYPE) → lief.ELF.NoteGnuProperty.Property | None
Find the property with the given type or return None
- property properties → list[lief.ELF.NoteGnuProperty.Property | None]
Return the properties as a list of Property
Generic
- class lief.ELF.Generic
Bases: Property
This class represents a property which doesn’t have a concrete LIEF implementation.
- property raw_type → int
The original raw type as an integer. This value might depends on the architecture and/or the file type.
AArch64 Feature
- class lief.ELF.AArch64Feature
Bases: Property
This class represents the GNU_PROPERTY_AARCH64_FEATURE_1_AND
note.
- class FEATURE(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- BTI = 1
- PAC = 2
- UNKNOWN = 0
- from_value(arg: int) → lief.ELF.AArch64Feature.FEATURE = <nanobind.nb_func object>
- property features → list[lief.ELF.AArch64Feature.FEATURE]
Return the list of the supported features.
AArch64 PAuth
- class lief.ELF.AArch64PAuth
Bases: Property
This class represents the GNU_PROPERTY_AARCH64_FEATURE_PAUTH
note.
- property platform → int
64-bit value that specifies the platform vendor.
A 0
value is associated with an invalid platform while the value 1
is associated with a baremetal platform.
- property version → int
64-bit value that identifies the signing schema used by the ELF file.
No Copy on Protected
- class lief.ELF.NoteNoCopyOnProtected
Bases: Property
This class provides an interface over the GNU_PROPERTY_NO_COPY_ON_PROTECTED
property. This property indicates that the linker shouldn’t copy relocations against protected symbols.
Stack Size
- class lief.ELF.StackSize
Bases: Property
This class provides an interface over the GNU_PROPERTY_STACK_SIZE
property This property can be used by the loader to raise the stack limit.
- property stack_size → int
X86 Feature
- class lief.ELF.X86Features
Bases: Property
This class interfaces the different GNU_PROPERTY_X86_FEATURE_*
properties which includes:
GNU_PROPERTY_X86_FEATURE_1_AND
GNU_PROPERTY_X86_FEATURE_2_USED
GNU_PROPERTY_X86_FEATURE_2_NEEDED
- class FEATURE(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Features provided by these different properties
- FXSR = 11
- IBT = 1
- LAM_U48 = 3
- LAM_U57 = 4
- MASK = 16
- MMX = 7
- SHSTK = 2
- TMM = 15
- UNKNOWN = 0
- X86 = 5
- X87 = 6
- XMM = 8
- XSAVE = 12
- XSAVEC = 14
- XSAVEOPT = 13
- YMM = 9
- ZMM = 10
- from_value(arg: int) → lief.ELF.X86Features.FEATURE = <nanobind.nb_func object>
- class FLAG(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
Flag according to the _AND
, _USED
or _NEEDED
suffixes
- NEEDED = 2
- NONE = 0
- USED = 1
- from_value(arg: int) → lief.ELF.X86Features.FLAG = <nanobind.nb_func object>
- property features → list[tuple[lief.ELF.X86Features.FLAG, lief.ELF.X86Features.FEATURE]]
List of the features as a pair of (FLAG
, FEATURE
).
X86 ISA
- class lief.ELF.X86ISA
Bases: Property
This class interfaces the different GNU_PROPERTY_X86_ISA_*
properties which includes:
GNU_PROPERTY_X86_ISA_1_USED
GNU_PROPERTY_X86_ISA_1_NEEDED
GNU_PROPERTY_X86_COMPAT_ISA_1_USED
GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED
GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED
GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED
- class FLAG(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- NEEDED = 2
- NONE = 0
- USED = 1
- from_value(arg: int) → lief.ELF.X86ISA.FLAG = <nanobind.nb_func object>
- class ISA(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- AVX = 16
- AVX2 = 17
- AVX512BW = 24
- AVX512CD = 19
- AVX512DQ = 23
- AVX512ER = 20
- AVX512F = 18
- AVX512PF = 21
- AVX512VL = 22
- AVX512_4FMAPS = 25
- AVX512_4VNNIW = 26
- AVX512_BF16 = 32
- AVX512_BITALG = 27
- AVX512_IFMA = 28
- AVX512_VBMI = 29
- AVX512_VBMI2 = 30
- AVX512_VNNI = 31
- BASELINE = 1
- CMOV = 5
- FMA = 6
- I486 = 7
- I586 = 8
- I686 = 9
- SSE = 10
- SSE2 = 11
- SSE3 = 12
- SSE4_1 = 14
- SSE4_2 = 15
- SSSE3 = 13
- UNKNOWN = 0
- V2 = 2
- V3 = 3
- V4 = 4
- from_value(arg: int) → lief.ELF.X86ISA.ISA = <nanobind.nb_func object>
- property values → list[tuple[lief.ELF.X86ISA.FLAG, lief.ELF.X86ISA.ISA]]
List of the ISA values in this property
Builder
- class lief.ELF.Builder(self, elf_binary: lief._lief.ELF.Binary)
Bases: object
Class which takes an lief.ELF.Binary
object and reconstructs a valid binary
Constructor that takes a Binary
- build(self) → None
Perform the build of the provided ELF binary
- property config → lief.ELF.Builder.config_t
Tweak the ELF builder with the provided config parameter
- class config_t(self)
Bases: object
Interface to tweak the Builder
- property android_rela → bool
Rebuild ANDROID_RELA
- property coredump_notes → bool
Rebuild the Coredump notes
- property dt_hash → bool
Rebuild HASH
- property dyn_str → bool
Rebuild STRTAB
- property dynamic_section → bool
Rebuild the PT_DYNAMIC segment
- property fini_array → bool
Rebuild FINI_ARRAY
- property force_relocate → bool
Force to relocate all the ELF structures that can be relocated (mostly for testing)
- property init_array → bool
Rebuild INIT_ARRAY
- property interpreter → bool
Rebuild the PT_INTERP segment
- property jmprel → bool
Rebuild JMPREL
- property notes → bool
Rebuild PT_NOTES segment(s)
- property preinit_array → bool
Rebuild PREINIT_ARRAY
- property rela → bool
Rebuild RELA
- property relr → bool
Rebuild RELR
- property static_symtab → bool
Rebuild .symtab section
- property sym_verdef → bool
Rebuild VERDEF
- property sym_verneed → bool
Rebuild VERNEED
- property sym_versym → bool
Rebuild VERSYM
- property symtab → bool
Rebuild SYMTAB
- get_build(self) → list[int]
Return the build result as a list
of bytes
- write(self, output: str) → None
Write the build result into the output
file
Enums
Architectures
- class lief.ELF.ARCH(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- AARCH64 = 183
- ALPHA = 41
- ALTERA_NIOS2 = 113
- AMDGPU = 224
- ARC = 45
- ARCA = 109
- ARC_COMPACT = 93
- ARC_COMPACT2 = 195
- ARM = 40
- AVR = 83
- AVR32 = 185
- BA1 = 201
- BA2 = 202
- BLACKFIN = 106
- BPF = 247
- C166 = 116
- CDP = 215
- CE = 119
- CLOUDSHIELD = 192
- COGE = 216
- COLDFIRE = 52
- COOL = 217
- COREA_1ST = 193
- COREA_2ND = 194
- CR = 103
- CR16 = 177
- CRAYNV2 = 172
- CRIS = 76
- CRX = 114
- CSKY = 252
- CSR_KALIMBA = 219
- CUDA = 190
- CYPRESS_M8C = 161
- D10V = 85
- D30V = 86
- DSP24 = 136
- DSPIC30F = 118
- DXP = 112
- ECOG16 = 176
- ECOG1X = 168
- ECOG2 = 134
- ETPU = 178
- EXCESS = 111
- F2MC16 = 104
- FIREPATH = 78
- FR20 = 37
- FR30 = 84
- FX66 = 66
- H8S = 48
- H8_300 = 46
- H8_300H = 47
- H8_500 = 49
- HEXAGON = 164
- HUANY = 81
- I386 = 3
- I60 = 19
- I860 = 7
- IAMCU = 6
- IA_64 = 50
- INTEL205 = 205
- INTEL206 = 206
- INTEL207 = 207
- INTEL208 = 208
- INTEL209 = 209
- IP2K = 101
- JAVELIN = 77
- K10M = 181
- KM32 = 210
- KMX16 = 212
- KMX32 = 211
- KMX8 = 213
- KVARC = 214
- L10M = 180
- LATTICEMICO32 = 138
- LOONGARCH = 258
- M16C = 117
- M32 = 1
- M32C = 120
- M32R = 88
- M56800EX = 200
- M68HC05 = 72
- M68HC08 = 71
- M68HC11 = 70
- M68HC12 = 53
- M68HC16 = 69
- M68K = 4
- M78KOR = 199
- M8051 = 165
- M88K = 5
- MANIK = 171
- MAX = 102
- MAXQ30 = 169
- MCHP_PIC = 204
- MCST_ELBRUS = 175
- ME16 = 59
- METAG = 174
- MIPS = 8
- MIPS_RS3_LE = 10
- MIPS_X = 51
- MMA = 54
- MMDSP_PLUS = 160
- MMIX = 80
- MN10200 = 90
- MN10300 = 89
- MSP430 = 105
- NCPU = 56
- NDR1 = 57
- NDS32 = 167
- NONE = 0
- NORC = 218
- NS32K = 97
- OPEN8 = 196
- OPENRISC = 92
- PARISC = 15
- PCP = 55
- PDP10 = 64
- PDP11 = 65
- PDSP = 63
- PJ = 91
- PPC = 20
- PPC64 = 21
- PRISM = 82
- R32C = 162
- RCE = 39
- RH32 = 38
- RISCV = 243
- RL78 = 197
- RS08 = 132
- RX = 173
- S370 = 9
- S390 = 22
- SCORE7 = 135
- SEP = 108
- SE_C17 = 139
- SE_C33 = 107
- SH = 42
- SHARC = 133
- SLE9X = 179
- SNP1K = 99
- SPARC = 2
- SPARC32PLUS = 18
- SPARCV9 = 43
- SPU = 23
- ST100 = 60
- ST19 = 74
- ST200 = 100
- ST7 = 68
- ST9PLUS = 67
- STARCORE = 58
- STM8 = 186
- STXP7X = 166
- SVX = 73
- TILE64 = 187
- TILEGX = 191
- TILEPRO = 188
- TINYJ = 61
- TI_C2000 = 141
- TI_C5500 = 142
- TI_C6000 = 140
- TMM_GPP = 96
- TPC = 98
- TRICORE = 44
- TRIMEDIA = 163
- TSK3000 = 131
- UNICORE = 110
- V800 = 36
- V850 = 87
- VAX = 75
- VIDEOCORE = 95
- VIDEOCORE3 = 137
- VIDEOCORE5 = 198
- VPP500 = 17
- X86_64 = 62
- XCORE = 203
- XGATE = 115
- XIMO16 = 170
- XTENSA = 94
- ZSP = 79
- from_value(arg: int) → lief.ELF.ARCH = <nanobind.nb_func object>
Processor Flags
- class lief.ELF.PROCESSOR_FLAGS(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases: Enum
- ARM_EABI_UNKNOWN = 8796093022208
- ARM_EABI_VER1 = 8796109799424
- ARM_EABI_VER2 = 8796126576640
- ARM_EABI_VER3 = 8796143353856
- ARM_EABI_VER4 = 8796160131072
- ARM_EABI_VER5 = 8796176908288
- ARM_SOFT_FLOAT = 8796093022720
- ARM_VFP_FLOAT = 8796093023232
- HEXAGON_ISA_V2 = 17592186044432
- HEXAGON_ISA_V3 = 17592186044448
- HEXAGON_ISA_V4 = 17592186044464
- HEXAGON_ISA_V5 = 17592186044480
- HEXAGON_MACH_V2 = 17592186044417
- HEXAGON_MACH_V3 = 17592186044418
- HEXAGON_MACH_V4 = 17592186044419
- HEXAGON_MACH_V5 = 17592186044420
- LOONGARCH_ABI_DOUBLE_FLOAT = 26388279066627
- LOONGARCH_ABI_SINGLE_FLOAT = 26388279066626
- LOONGARCH_ABI_SOFT_FLOAT = 26388279066625
- MIPS_32BITMODE = 35184372089088
- MIPS_ABI2 = 35184372088864
- MIPS_ABI_EABI32 = 35184372101120
- MIPS_ABI_EABI64 = 35184372105216
- MIPS_ABI_O32 = 35184372092928
- MIPS_ABI_O64 = 35184372097024
- MIPS_ARCH_1 = 35184372088832
- MIPS_ARCH_2 = 35184640524288
- MIPS_ARCH_3 = 35184908959744
- MIPS_ARCH_32 = 35185714266112
- MIPS_ARCH_32R2 = 35186251137024
- MIPS_ARCH_32R6 = 35186788007936
- MIPS_ARCH_4 = 35185177395200
- MIPS_ARCH_5 = 35185445830656
- MIPS_ARCH_64 = 35185982701568
- MIPS_ARCH_64R2 = 35186519572480
- MIPS_ARCH_64R6 = 35187056443392
- MIPS_ARCH_ASE_M16 = 35184439197696
- MIPS_ARCH_ASE_MDMX = 35184506306560
- MIPS_CPIC = 35184372088836
- MIPS_FP64 = 35184372089344
- MIPS_MACH_3900 = 35184380542976
- MIPS_MACH_4010 = 35184380608512
- MIPS_MACH_4100 = 35184380674048
- MIPS_MACH_4111 = 35184381001728
- MIPS_MACH_4120 = 35184380936192
- MIPS_MACH_4650 = 35184380805120
- MIPS_MACH_5400 = 35184381591552
- MIPS_MACH_5500 = 35184382050304
- MIPS_MACH_5900 = 35184381657088
- MIPS_MACH_9000 = 35184382115840
- MIPS_MACH_LS2E = 35184382574592
- MIPS_MACH_LS2F = 35184382640128
- MIPS_MACH_LS3A = 35184382705664
- MIPS_MACH_OCTEON = 35184381198336
- MIPS_MACH_OCTEON2 = 35184381329408
- MIPS_MACH_OCTEON3 = 35184381394944
- MIPS_MACH_SB1 = 35184381132800
- MIPS_MACH_XLR = 35184381263872
- MIPS_MICROMIPS = 35184405643264
- MIPS_NAN2008 = 35184372089856
- MIPS_NOREORDER = 35184372088833
- MIPS_PIC = 35184372088834
- RISCV_FLOAT_ABI_DOUBLE = 43980465111044
- RISCV_FLOAT_ABI_QUAD = 43980465111046
- RISCV_FLOAT_ABI_RVE = 43980465111048
- RISCV_FLOAT_ABI_SINGLE = 43980465111042
- RISCV_FLOAT_ABI_SOFT = 43980465111040
- RISCV_FLOAT_ABI_TSO = 43980465111056
- RISCV_RVC = 43980465111041
- from_value(arg: int) → lief.ELF.PROCESSOR_FLAGS = <nanobind.nb_func object>