16#ifndef LIEF_ELF_ENUMS_H
17#define LIEF_ELF_ENUMS_H
18#include "LIEF/enums.hpp"
19#include "LIEF/ELF/undef.h"
298#define ELF_RELOC(name, value) name = value,
302 #include "LIEF/ELF/Relocations/x86_64.def"
307 #include "LIEF/ELF/Relocations/i386.def"
311enum class RELOC_POWERPC32:
size_t {
312 #include "LIEF/ELF/Relocations/PowerPC.def"
316enum class RELOC_POWERPC64:
size_t {
317 #include "LIEF/ELF/Relocations/PowerPC64.def"
321enum class RELOC_AARCH64:
size_t {
322 #include "LIEF/ELF/Relocations/AArch64.def"
326enum class RELOC_ARM:
size_t {
327 #include "LIEF/ELF/Relocations/ARM.def"
331enum class RELOC_MIPS:
size_t {
332 #include "LIEF/ELF/Relocations/Mips.def"
336enum class RELOC_HEXAGON:
size_t {
337 #include "LIEF/ELF/Relocations/Hexagon.def"
341enum class RELOC_SYSTEMZ:
size_t {
342 #include "LIEF/ELF/Relocations/SystemZ.def"
346enum class RELOC_SPARC:
size_t {
347 #include "LIEF/ELF/Relocations/Sparc.def"
351enum class RELOC_LOONGARCH:
size_t {
352 #include "LIEF/ELF/Relocations/LoongArch.def"
358enum class PPC64_EFLAGS:
size_t {
367enum class ARM_EFLAGS:
size_t {
368 EF_ARM_SOFT_FLOAT = 0x00000200U,
369 EF_ARM_VFP_FLOAT = 0x00000400U,
370 EF_ARM_EABI_UNKNOWN = 0x00000000U,
371 EF_ARM_EABI_VER1 = 0x01000000U,
372 EF_ARM_EABI_VER2 = 0x02000000U,
373 EF_ARM_EABI_VER3 = 0x03000000U,
374 EF_ARM_EABI_VER4 = 0x04000000U,
375 EF_ARM_EABI_VER5 = 0x05000000U,
376 EF_ARM_EABIMASK = 0xFF000000U
380enum class MIPS_EFLAGS:
size_t {
381 EF_MIPS_NOREORDER = 0x00000001,
382 EF_MIPS_PIC = 0x00000002,
383 EF_MIPS_CPIC = 0x00000004,
384 EF_MIPS_ABI2 = 0x00000020,
385 EF_MIPS_32BITMODE = 0x00000100,
387 EF_MIPS_FP64 = 0x00000200,
389 EF_MIPS_NAN2008 = 0x00000400,
392 EF_MIPS_ABI_O32 = 0x00001000,
393 EF_MIPS_ABI_O64 = 0x00002000,
394 EF_MIPS_ABI_EABI32 = 0x00003000,
395 EF_MIPS_ABI_EABI64 = 0x00004000,
396 EF_MIPS_ABI = 0x0000f000,
399 EF_MIPS_MACH_3900 = 0x00810000,
400 EF_MIPS_MACH_4010 = 0x00820000,
401 EF_MIPS_MACH_4100 = 0x00830000,
402 EF_MIPS_MACH_4650 = 0x00850000,
403 EF_MIPS_MACH_4120 = 0x00870000,
404 EF_MIPS_MACH_4111 = 0x00880000,
405 EF_MIPS_MACH_SB1 = 0x008a0000,
406 EF_MIPS_MACH_OCTEON = 0x008b0000,
407 EF_MIPS_MACH_XLR = 0x008c0000,
408 EF_MIPS_MACH_OCTEON2 = 0x008d0000,
409 EF_MIPS_MACH_OCTEON3 = 0x008e0000,
410 EF_MIPS_MACH_5400 = 0x00910000,
411 EF_MIPS_MACH_5900 = 0x00920000,
412 EF_MIPS_MACH_5500 = 0x00980000,
413 EF_MIPS_MACH_9000 = 0x00990000,
414 EF_MIPS_MACH_LS2E = 0x00a00000,
415 EF_MIPS_MACH_LS2F = 0x00a10000,
416 EF_MIPS_MACH_LS3A = 0x00a20000,
417 EF_MIPS_MACH = 0x00ff0000,
420 EF_MIPS_MICROMIPS = 0x02000000,
421 EF_MIPS_ARCH_ASE_M16 = 0x04000000,
422 EF_MIPS_ARCH_ASE_MDMX = 0x08000000,
423 EF_MIPS_ARCH_ASE = 0x0f000000,
426 EF_MIPS_ARCH_1 = 0x00000000,
427 EF_MIPS_ARCH_2 = 0x10000000,
428 EF_MIPS_ARCH_3 = 0x20000000,
429 EF_MIPS_ARCH_4 = 0x30000000,
430 EF_MIPS_ARCH_5 = 0x40000000,
431 EF_MIPS_ARCH_32 = 0x50000000,
432 EF_MIPS_ARCH_64 = 0x60000000,
433 EF_MIPS_ARCH_32R2 = 0x70000000,
434 EF_MIPS_ARCH_64R2 = 0x80000000,
435 EF_MIPS_ARCH_32R6 = 0x90000000,
436 EF_MIPS_ARCH_64R6 = 0xa0000000,
437 EF_MIPS_ARCH = 0xf0000000
442enum class HEXAGON_EFLAGS:
size_t {
444 EF_HEXAGON_MACH_V2 = 0x00000001,
445 EF_HEXAGON_MACH_V3 = 0x00000002,
446 EF_HEXAGON_MACH_V4 = 0x00000003,
447 EF_HEXAGON_MACH_V5 = 0x00000004,
450 EF_HEXAGON_ISA_MACH = 0x00000000,
452 EF_HEXAGON_ISA_V2 = 0x00000010,
453 EF_HEXAGON_ISA_V3 = 0x00000020,
454 EF_HEXAGON_ISA_V4 = 0x00000030,
455 EF_HEXAGON_ISA_V5 = 0x00000040
459enum class LOONGARCH_EFLAGS:
size_t {
460 EF_LOONGARCH_ABI_SOFT_FLOAT = 0x1,
461 EF_LOONGARCH_ABI_SINGLE_FLOAT = 0x2,
462 EF_LOONGARCH_ABI_DOUBLE_FLOAT = 0x3
514 SHT_ARM_DEBUGOVERLAY = 0x70000004U,
515 SHT_ARM_OVERLAYSECTION = 0x70000005U,
551 XCORE_SHF_CP_SECTION = 0x800U,
557 XCORE_SHF_DP_SECTION = 0x1000U,
558 SHF_MASKOS = 0x0ff00000,
569 SHF_X86_64_LARGE = 0x10000000,
574 SHF_HEX_GPREL = 0x10000000,
579 SHF_MIPS_NODUPES = 0x01000000,
605enum class ELF_SYMBOL_TYPES:
size_t {
620enum class ELF_SYMBOL_VISIBILITY:
size_t {
645 PT_GNU_EH_FRAME = 0x6474e550,
646 PT_SUNW_EH_FRAME = 0x6474e550,
647 PT_SUNW_UNWIND = 0x6464e550,
657 PT_ARM_EXIDX = 0x70000001,
658 PT_ARM_UNWIND = 0x70000001,
816 DF_1_TRANS = 0x00000200,
825 DF_1_IGNMULDEF = 0x00040000,
826 DF_1_NOKSYMS = 0x00080000,
827 DF_1_NOHDR = 0x00100000,
829 DF_1_NORELOC = 0x00400000,
838 RHF_NONE = 0x00000000,
839 RHF_QUICKSTART = 0x00000001,
840 RHF_NOTPOT = 0x00000002,
841 RHS_NO_LIBRARY_REPLACEMENT = 0x00000004,
842 RHF_NO_MOVE = 0x00000008,
843 RHF_SGI_ONLY = 0x00000010,
844 RHF_GUARANTEE_INIT = 0x00000020,
847 RHF_DELTA_C_PLUS_PLUS = 0x00000040,
848 RHF_GUARANTEE_START_INIT = 0x00000080,
851 RHF_PIXIE = 0x00000100,
852 RHF_DEFAULT_DELAY_LOAD = 0x00000200,
853 RHF_REQUICKSTART = 0x00000400,
854 RHF_REQUICKSTARTED = 0x00000800,
855 RHF_CORD = 0x00001000,
856 RHF_NO_UNRES_UNDEF = 0x00002000,
858 RHF_RLD_ORDER_SAFE = 0x00004000
897enum class RELOCATION_PURPOSES:
size_t {
898 RELOC_PURPOSE_NONE = 0,
899 RELOC_PURPOSE_PLTGOT = 1,
900 RELOC_PURPOSE_DYNAMIC = 2,
901 RELOC_PURPOSE_OBJECT = 3,
908ENABLE_BITMASK_OPERATORS(
LIEF::ELF::ARM_EFLAGS)
909ENABLE_BITMASK_OPERATORS(
LIEF::ELF::MIPS_EFLAGS)
910ENABLE_BITMASK_OPERATORS(
LIEF::ELF::HEXAGON_EFLAGS)
911ENABLE_BITMASK_OPERATORS(
LIEF::ELF::LOONGARCH_EFLAGS)
912ENABLE_BITMASK_OPERATORS(
LIEF::ELF::ELF_SECTION_FLAGS)
913ENABLE_BITMASK_OPERATORS(
LIEF::ELF::DYNAMIC_FLAGS)
914ENABLE_BITMASK_OPERATORS(
LIEF::ELF::DYNAMIC_FLAGS_1)
ELF_SECTION_FLAGS
Definition ELF/enums.hpp:532
SEGMENT_TYPES
Segment types.
Definition ELF/enums.hpp:629
DYNAMIC_FLAGS
Definition ELF/enums.hpp:798
SYMBOL_BINDINGS
Definition ELF/enums.hpp:592
ELF_DATA
Definition ELF/enums.hpp:263
E_TYPE
Definition ELF/enums.hpp:44
OS_ABI
Definition ELF/enums.hpp:270
ARCH
Machine architectures See current registered ELF machine architectures at: http://www....
Definition ELF/enums.hpp:67
DYNSYM_COUNT_METHODS
Definition ELF/enums.hpp:890
RELOC_x86_64
Definition ELF/enums.hpp:301
SYMBOL_SECTION_INDEX
Definition ELF/enums.hpp:467
DYNAMIC_TAGS
Definition ELF/enums.hpp:680
@ DT_MIPS_RLD_TEXT_RESOLVE_ADDR
@ DT_MIPS_DELTA_CLASSSYM_NO
@ DT_MIPS_LOCALPAGE_GOTIDX
@ DT_MIPS_DELTA_INSTANCE_NO
@ DT_MIPS_PROTECTED_GOTIDX
RELOC_i386
Definition ELF/enums.hpp:306
@ VER_NDX_LOCAL
Definition ELF/enums.hpp:876
@ VERSYM_VERSION
Definition ELF/enums.hpp:878
@ VERSYM_HIDDEN
Definition ELF/enums.hpp:879
@ VER_NDX_GLOBAL
Definition ELF/enums.hpp:877
IDENTITY
Definition ELF/enums.hpp:28
ELF_SEGMENT_FLAGS
Definition ELF/enums.hpp:669
ELF_SECTION_TYPES
Definition ELF/enums.hpp:481
ELF_CLASS
Definition ELF/enums.hpp:256
DYNAMIC_FLAGS_1
Definition ELF/enums.hpp:806
VERSION
Definition ELF/enums.hpp:56
LIEF namespace.
Definition Abstract/Binary.hpp:32