L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
elf.h
Go to the documentation of this file.
1
19/*
20 * (c) 2008-2009 Author(s)
21 * economic rights: Technische Universität Dresden (Germany)
22 * This file is part of TUD:OS and distributed under the terms of the
23 * GNU Lesser General Public License 2.1.
24 * Please see the COPYING-LGPL-2.1 file for details.
25 */
26
27/* (c) 2003-2006 Technische Universitaet Dresden
28 * This file is part of the exec package, which is distributed under
29 * the terms of the GNU General Public License 2. Please see the
30 * COPYING file for details. */
31
32#pragma once
33
34#include <l4/sys/l4int.h>
35
64#if L4_MWORD_BITS == 64
65# define ElfW(type) _ElfW(Elf, 64, type)
66#else
67# define ElfW(type) _ElfW(Elf, 32, type)
68#endif
69#define _ElfW(e,w,t) __ElfW(e, w, _##t)
70#define __ElfW(e,w,t) e##w##t
71
72#if defined(ARCH_x86)
73# define L4_ARCH_EI_DATA ELFDATA2LSB
74# define L4_ARCH_E_MACHINE EM_386
75# define L4_ARCH_EI_CLASS ELFCLASS32
76#elif defined(ARCH_amd64)
77# define L4_ARCH_EI_DATA ELFDATA2LSB
78# define L4_ARCH_E_MACHINE EM_X86_64
79# define L4_ARCH_EI_CLASS ELFCLASS64
80#elif defined(ARCH_arm)
81# define L4_ARCH_EI_DATA ELFDATA2LSB
82# define L4_ARCH_E_MACHINE EM_ARM
83# define L4_ARCH_EI_CLASS ELFCLASS32
84#elif defined(ARCH_arm64)
85# define L4_ARCH_EI_DATA ELFDATA2LSB
86# define L4_ARCH_E_MACHINE EM_AARCH64
87# define L4_ARCH_EI_CLASS ELFCLASS64
88#elif defined(ARCH_ppc32)
89# define L4_ARCH_EI_DATA ELFDATA2MSB
90# define L4_ARCH_E_MACHINE EM_PPC
91# define L4_ARCH_EI_CLASS ELFCLASS32
92#elif defined(ARCH_sparc)
93# define L4_ARCH_EI_DATA ELFDATA2MSB
94# define L4_ARCH_E_MACHINE EM_SPARC
95# define L4_ARCH_EI_CLASS ELFCLASS32
96#elif defined(ARCH_mips)
97# define L4_ARCH_EI_DATA ELFDATA2LSB
98# define L4_ARCH_E_MACHINE EM_MIPS
99# ifdef __mips64
100# define L4_ARCH_EI_CLASS ELFCLASS64
101# else
102# define L4_ARCH_EI_CLASS ELFCLASS32
103# endif
104#elif defined(ARCH_riscv)
105# define L4_ARCH_EI_DATA ELFDATA2LSB
106# define L4_ARCH_E_MACHINE EM_RISCV
107# if __riscv_xlen == 64
108# define L4_ARCH_EI_CLASS ELFCLASS64
109# else
110# define L4_ARCH_EI_CLASS ELFCLASS32
111# endif
112#else
113# warning elf.h: Unsupported build architecture!
114#endif
115
116
121enum
122{
124};
125
146
167
173{
175 ET_REL = 1,
177 ET_DYN = 3,
179 ET_LOPROC = 0xff00,
180 ET_HIPROC = 0xffff,
181};
182
261
262#if 0
263#define EM_ALPHA 0x9026 /* interium value used by Linux until the
264 committee comes up with a final number */
265#define EM_S390 0xA390 /* interium value used for IBM S390 */
266#endif
267
271{
274};
275
291
294{
295 ELFMAG0 = 0x7f,
296 ELFMAG1 = 'E',
297 ELFMAG2 = 'L',
298 ELFMAG3 = 'F',
299};
300
309
318
337
340{
342 SHN_LORESERVE = 0xff00,
343 SHN_LOPROC = 0xff00,
344 SHN_HIPROC = 0xff1f,
345 SHN_ABS = 0xfff1,
346 SHN_COMMON = 0xfff2,
347 SHN_HIRESERVE = 0xffff,
348};
349
364
379
408
411{
412 SHF_WRITE = 0x1,
413 SHF_ALLOC = 0x2,
415 SHF_MERGE = 0x10,
416 SHF_STRINGS = 0x20,
419 SHF_OS_NONCONFORMING = 0x100,
421 SHF_GROUP = 0x200,
422 SHF_TLS = 0x400,
423 SHF_MASKOS = 0x0ff00000,
424 SHF_MASKPROC = 0xf0000000,
425};
426
427
440
453
456{
464 PT_TLS = 7,
465 PT_NUM = 8,
466 PT_LOOS = 0x60000000,
467 PT_HIOS = 0x6fffffff,
468 PT_LOPROC = 0x70000000,
469 PT_HIPROC = 0x7fffffff,
471 PT_GNU_EH_FRAME = PT_LOOS + 0x474e550,
472 PT_GNU_STACK = PT_LOOS + 0x474e551,
473 PT_GNU_RELRO = PT_LOOS + 0x474e552,
478};
479
482{
483 PF_X = 0x1,
484 PF_W = 0x2,
485 PF_R = 0x4,
486 PF_MASKOS = 0x0ff00000,
487 PF_MASKPROC = 0x7fffffff,
488};
489
510
513{
515};
516
518typedef struct
519{
521 union
522 {
525 } d_un;
526} Elf32_Dyn;
527
529typedef struct
530{
532 union
533 {
536 } d_un;
537} Elf64_Dyn;
538
582
587{
588 DF_ORIGIN = 0x00000001,
589 DF_SYMBOLIC = 0x00000002,
590 DF_TEXTREL = 0x00000004,
591 DF_BIND_NOW = 0x00000008,
592 DF_STATIC_TLS = 0x00000010,
593};
594
600{
601 DF_1_NOW = 0x00000001,
602 DF_1_GLOBAL = 0x00000002,
603 DF_1_GROUP = 0x00000004,
604 DF_1_NODELETE = 0x00000008,
605 DF_1_LOADFLTR = 0x00000010,
606 DF_1_INITFIRST = 0x00000020,
607 DF_1_NOOPEN = 0x00000040,
608 DF_1_ORIGIN = 0x00000080,
609 DF_1_DIRECT = 0x00000100,
610 DF_1_TRANS = 0x00000200,
611 DF_1_INTERPOSE = 0x00000400,
612 DF_1_NODEFLIB = 0x00000800,
613 DF_1_NODUMP = 0x00001000,
614 DF_1_CONFALT = 0x00002000,
615 DF_1_ENDFILTEE = 0x00004000,
616 DF_1_DISPRELDNE = 0x00008000,
617 DF_1_DISPRELPND = 0x00010000,
618};
619
622{
623 DTF_1_PARINIT = 0x00000001,
624 DTF_1_CONFEXP = 0x00000002,
625};
626
629{
630 DF_P1_LAZYLOAD = 0x00000001,
631 DF_P1_GROUPPERM = 0x00000002,
633};
634
636typedef struct
637{
638 Elf32_Addr r_offset;
639 Elf32_Word r_info;
640} Elf32_Rel;
641
643typedef struct
644{
645 Elf32_Addr r_offset;
646 Elf32_Word r_info;
647 Elf32_Sword r_addend;
648} Elf32_Rela;
649
651typedef struct
652{
653 Elf64_Addr r_offset;
654 Elf64_Xword r_info;
655} Elf64_Rel;
656
658typedef struct
659{
660 Elf64_Addr r_offset;
661 Elf64_Xword r_info;
662 Elf64_Sxword r_addend;
663} Elf64_Rela;
664
666#define ELF32_R_SYM(i) ((i)>>8)
668#define ELF32_R_TYPE(i) ((unsigned char)(i))
670#define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t))
671
673#define ELF64_R_SYM(i) ((i)>>32)
674
676#define ELF64_R_TYPE(i) ((i)&0xffffffffL)
677
679#define ELF64_R_INFO(s,t) (((s)<<32)+(t)&0xffffffffL)
680
731
736{
737 EF_ARM_RELEXEC = 0x01,
738 EF_ARM_HASENTRY = 0x02,
739 EF_ARM_INTERWORK = 0x04,
740 EF_ARM_APCS_26 = 0x08,
741 EF_ARM_APCS_FLOAT = 0x10,
742 EF_ARM_PIC = 0x20,
744 EF_ARM_NEW_ABI = 0x80,
745 EF_ARM_OLD_ABI = 0x100,
746
747/* Other constants defined in the ARM ELF spec. version B-01. */
748/* NB. These conflict with values defined above. */
749 EF_ARM_SYMSARESORTED = 0x04,
750 EF_ARM_DYNSYMSUSESEGIDX = 0x08,
751 EF_ARM_MAPSYMSFIRST = 0x10,
752 EF_ARM_EABIMASK = 0XFF000000,
753
754#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
755 EF_ARM_EABI_UNKNOWN = 0x00000000,
756 EF_ARM_EABI_VER1 = 0x01000000,
757 EF_ARM_EABI_VER2 = 0x02000000,
758};
759
762{
763 STT_ARM_TFUNC = 0xd,
764};
765
768{
769 SHF_ARM_ENTRYSECT = 0x10000000,
770 SHF_ARM_COMDEF = 0x80000000,
772};
773
776{
777 PF_ARM_SB = 0x10000000,
779};
780
783{
788 R_ARM_PC13 = 4,
791 R_ARM_THM_ABS5 = 7,
793 R_ARM_SBREL32 = 9,
794 R_ARM_THM_PC22 = 10,
795 R_ARM_THM_PC8 = 11,
796 R_ARM_AMP_VCALL9 = 12,
797 R_ARM_SWI24 = 13,
798 R_ARM_THM_SWI8 = 14,
799 R_ARM_XPC25 = 15,
800 R_ARM_THM_XPC22 = 16,
809 R_ARM_ALU_PCREL_7_0 = 32,
810 R_ARM_ALU_PCREL_15_8 = 33,
811 R_ARM_ALU_PCREL_23_15 = 34,
812 R_ARM_LDR_SBREL_11_0 = 35,
813 R_ARM_ALU_SBREL_19_12 = 36,
814 R_ARM_ALU_SBREL_27_20 = 37,
815 R_ARM_GNU_VTENTRY = 100,
816 R_ARM_GNU_VTINHERIT = 101,
819 R_ARM_RXPC25 = 249,
820 R_ARM_RSBREL32 = 250,
821 R_ARM_THM_RPC22 = 251,
822 R_ARM_RREL32 = 252,
823 R_ARM_RABS22 = 253,
824 R_ARM_RPC24 = 254,
825 R_ARM_RBASE = 255,
826 R_ARM_NUM = 256,
827};
828
831{
833 R_AARCH64_RELATIVE = 1027,
834};
835
868
871{
872 STN_UNDEF = 0,
873};
874
885
896
898#define ELF32_ST_BIND(i) ((i)>>4)
899
901#define ELF32_ST_TYPE(i) ((i)&0xf)
902
904#define ELF32_ST_INFO(b,t) (((b)<<4)+((t)&0xf))
905
907#define ELF64_ST_BIND(i) ((i)>>4)
908
910#define ELF64_ST_TYPE(i) ((i)&0xf)
911
913#define ELF64_ST_INFO(b,t) (((b)<<4)+((t)&0xf))
914
927
942
965
967typedef struct Elf32_Auxv
968{
970 Elf32_Word avalue;
972
974typedef struct Elf64_Auxv
975{
977 Elf64_Word avalue;
979
987static inline int l4util_elf_check_magic(ElfW(Ehdr) const *hdr);
988
996static inline int l4util_elf_check_arch(ElfW(Ehdr) const *hdr);
997
1004static inline ElfW(Phdr) *l4util_elf_phdr(ElfW(Ehdr) const *hdr);
1005
1006
1007/* Implementations */
1008
1009static inline
1010int l4util_elf_check_magic(ElfW(Ehdr) const *hdr)
1011{
1012 return hdr->e_ident[EI_MAG0] == ELFMAG0
1013 && hdr->e_ident[EI_MAG1] == ELFMAG1
1014 && hdr->e_ident[EI_MAG2] == ELFMAG2
1015 && hdr->e_ident[EI_MAG3] == ELFMAG3;
1016}
1017
1018static inline
1019int l4util_elf_check_arch(ElfW(Ehdr) const *hdr)
1020{
1021 return hdr->e_ident[EI_CLASS] == L4_ARCH_EI_CLASS
1022 && hdr->e_ident[EI_DATA] == L4_ARCH_EI_DATA
1023 && hdr->e_machine == L4_ARCH_E_MACHINE;
1024}
1025
1026static inline
1027ElfW(Phdr) *l4util_elf_phdr(ElfW(Ehdr) const *hdr)
1028{
1029 return (ElfW(Phdr) *)((char *)hdr + hdr->e_phoff);
1030}
signed int l4_int32_t
Signed 32bit value.
Definition l4int.h:39
signed long long l4_int64_t
Signed 64bit value.
Definition l4int.h:41
unsigned int l4_uint32_t
Unsigned 32bit value.
Definition l4int.h:40
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition l4int.h:38
unsigned long long l4_uint64_t
Unsigned 64bit value.
Definition l4int.h:42
l4_uint64_t Elf64_Addr
size 8 align 8
Definition elf.h:51
Elf_DATAs
Data encoding.
Definition elf.h:312
Elf_R_X86_64_s
AMD x86-64 relocations.
Definition elf.h:838
Elf_ClASSs
File class or capacity.
Definition elf.h:303
Elf_PTs
Segment types.
Definition elf.h:456
Elf_ETs
Object file type.
Definition elf.h:173
Elf_STT_ARM_s
Additional symbol types for Thumb.
Definition elf.h:762
Elf_OSABIs
Identify operating system and ABI to which the object is targeted.
Definition elf.h:321
l4_uint16_t Elf64_Half
size 2 align 2
Definition elf.h:53
Elf_STNs
Symbol Table Entry.
Definition elf.h:871
Elf_DTs
Dynamic Array Tags.
Definition elf.h:541
Elf_DF_1s
State flags selectable in the Elf32_Dyn.d_un.d_val / Elf64_Dyn.d_un.d_val element of the DT_FLAGS_1 e...
Definition elf.h:600
l4_uint16_t Elf32_Half
size 2 align 2
Definition elf.h:48
Elf_MAGs
Magic number.
Definition elf.h:294
Elf_NTs_core
Legal values for note segment descriptor types for core files.
Definition elf.h:492
Elf_R_AARCH64_s
AARCH64 relocations.
Definition elf.h:831
l4_uint32_t Elf32_Word
size 4 align 4
Definition elf.h:49
l4_int32_t Elf64_Sword
size 4 align 4
Definition elf.h:55
Elf_ARM_SBs
ARM-specific program header flags.
Definition elf.h:776
Elf_STTs
Symbol Types.
Definition elf.h:931
Elf_EIs
Identification Indices.
Definition elf.h:279
Elf_EF_ARM_s
ARM specific declarations.
Definition elf.h:736
Elf_EVs
Object file version.
Definition elf.h:271
l4_int32_t Elf32_Sword
size 4 align 4
Definition elf.h:50
l4_uint32_t Elf32_Addr
size 4 align 4
Definition elf.h:46
ELF_PFs
Segment permissions.
Definition elf.h:482
Elf_SHTs
Section type.
Definition elf.h:382
l4_uint32_t Elf32_Off
size 4 align 4
Definition elf.h:47
Elf_SHNs
Special section indexes.
Definition elf.h:340
Elf_DTF_1s
Flags for the feature selection in DT_FEATURE_1.
Definition elf.h:622
Elf_DF_P1s
Flags in the DT_POSFLAG_1 entry effecting only the next DT_* entry.
Definition elf.h:629
Elf_SHFs
Section attribute flags.
Definition elf.h:411
Elf_ATs
Legal values for Elf32_Auxv.atype / Elf64_Auxv.atype.
Definition elf.h:945
Elf_R_386_s
Relocation types (processor specific).
Definition elf.h:683
l4_uint64_t Elf64_Off
size 8 align 8
Definition elf.h:52
l4_uint64_t Elf64_Xword
size 8 align 8
Definition elf.h:56
Elf_EMs
Required architecture.
Definition elf.h:188
l4_uint32_t Elf64_Word
size 4 align 4
Definition elf.h:54
l4_int64_t Elf64_Sxword
size 8 align 8
Definition elf.h:57
Elf_NTs_obj
Legal values for the note segment descriptor types for object files.
Definition elf.h:513
Elf_STBs
Symbol Binding.
Definition elf.h:918
Elf_DFs
Values of Elf32_Dyn.d_un.d_val, Elf64_Dyn.d_un.d_val in the DT_FLAGS entry.
Definition elf.h:587
#define ElfW(type)
Use 64 or 32 bits types depending on the target architecture.
Definition elf.h:67
Elf_SHF_s_ARM
ARM-specific values for Elf32_Shdr.sh_flags / Elf64_Shdr.sh_flags.
Definition elf.h:768
Elf_R_ARM_s
ARM relocations.
Definition elf.h:783
@ ELFDATA2MSB
0x01020304 => [ 0x01|0x02|0x03|0x04 ]
Definition elf.h:315
@ ELFDATA2LSB
0x01020304 => [ 0x04|0x03|0x02|0x01 ]
Definition elf.h:314
@ ELFDATANUM
Mask for valid data encoding.
Definition elf.h:316
@ ELFDATANONE
invalid data encoding
Definition elf.h:313
@ R_X86_64_RELATIVE
Adjust by program base.
Definition elf.h:847
@ R_X86_64_GLOB_DAT
Create GOT entry.
Definition elf.h:845
@ R_X86_64_COPY
Copy symbol at runtime.
Definition elf.h:844
@ R_X86_64_GOTTPOFF
32 bit signed PC relative offset to GOT entry for IE symbol
Definition elf.h:863
@ R_X86_64_32
Direct 32 bit zero extended.
Definition elf.h:849
@ R_X86_64_TPOFF32
Offset in initial TLS block.
Definition elf.h:865
@ R_X86_64_GOTPCREL
32 bit signed PC relative offset to GOT
Definition elf.h:848
@ R_X86_64_TLSGD
32 bit signed PC relative offset to two GOT entries for GD symbol
Definition elf.h:858
@ R_X86_64_64
Direct 64 bit
Definition elf.h:840
@ R_X86_64_DTPOFF64
Offset in module's TLS block.
Definition elf.h:856
@ R_X86_64_32S
Direct 32 bit sign extended.
Definition elf.h:850
@ R_X86_64_TPOFF64
Offset in initial TLS block.
Definition elf.h:857
@ R_X86_64_GOT32
32 bit GOT entry
Definition elf.h:842
@ R_X86_64_PC16
16 bit sign extended pc relative
Definition elf.h:852
@ R_X86_64_NONE
No reloc.
Definition elf.h:839
@ R_X86_64_TLSLD
32 bit signed PC relative offset to two GOT entries for LD symbol
Definition elf.h:860
@ R_X86_64_PC8
8 bit sign extended pc relative
Definition elf.h:854
@ R_X86_64_JUMP_SLOT
Create PLT entry.
Definition elf.h:846
@ R_X86_64_PC32
PC relative 32 bit signed.
Definition elf.h:841
@ R_X86_64_8
Direct 8 bit sign extended
Definition elf.h:853
@ R_X86_64_DTPOFF32
Offset in TLS block.
Definition elf.h:862
@ R_X86_64_DTPMOD64
ID of module containing symbol.
Definition elf.h:855
@ R_X86_64_PLT32
32 bit PLT address
Definition elf.h:843
@ R_X86_64_16
Direct 16 bit zero extended.
Definition elf.h:851
@ ELFCLASS64
64-bit object
Definition elf.h:306
@ ELFCLASS32
32-bit object
Definition elf.h:305
@ ELFCLASSNUM
Mask for 32-bit or 64-bit class.
Definition elf.h:307
@ ELFCLASSNONE
Invalid class.
Definition elf.h:304
@ PT_LOPROC
processor-specific
Definition elf.h:468
@ PT_HIOS
OS-specific.
Definition elf.h:467
@ PT_SHLIB
reserved
Definition elf.h:462
@ PT_PHDR
location of the pht itself
Definition elf.h:463
@ PT_TLS
Thread-local storage segment.
Definition elf.h:464
@ PT_HIPROC
processor-specific
Definition elf.h:469
@ PT_GNU_RELRO
Read only after reloc.
Definition elf.h:473
@ PT_GNU_STACK
Flags for stack.
Definition elf.h:472
@ PT_NULL
array is unused
Definition elf.h:457
@ PT_L4_KIP
Address of the KIP.
Definition elf.h:476
@ PT_LOOS
OS-specific.
Definition elf.h:466
@ PT_NUM
Number of defined types.
Definition elf.h:465
@ PT_L4_AUX
Address of the AUX structures.
Definition elf.h:477
@ PT_L4_STACK
Address of the stack.
Definition elf.h:475
@ PT_GNU_EH_FRAME
EH frame information.
Definition elf.h:471
@ PT_DYNAMIC
dynamic linking information
Definition elf.h:459
@ PT_NOTE
auxiliary information
Definition elf.h:461
@ PT_INTERP
path to interpreter
Definition elf.h:460
@ PT_LOAD
loadable
Definition elf.h:458
@ ET_NONE
no file type
Definition elf.h:174
@ ET_REL
relocatable file
Definition elf.h:175
@ ET_DYN
shared object file
Definition elf.h:177
@ ET_HIPROC
processor-specific
Definition elf.h:180
@ ET_LOPROC
processor-specific
Definition elf.h:179
@ ET_CORE
core file
Definition elf.h:178
@ ET_EXEC
executable file
Definition elf.h:176
@ ELFOSABI_LINUX
Linux.
Definition elf.h:326
@ ELFOSABI_TRU64
Compaq TRU64 UNIX.
Definition elf.h:331
@ ELFOSABI_HPUX
HP-UX.
Definition elf.h:324
@ ELFOSABI_NETBSD
NetBSD.
Definition elf.h:325
@ ELFOSABI_IRIX
SGI Irix.
Definition elf.h:329
@ ELFOSABI_ARM
ARM.
Definition elf.h:334
@ ELFOSABI_STANDALONE
Standalone (embedded) application.
Definition elf.h:335
@ ELFOSABI_SYSV
Alias.
Definition elf.h:323
@ ELFOSABI_OPENBSD
OpenBSD.
Definition elf.h:333
@ ELFOSABI_NONE
UNIX System V ABI.
Definition elf.h:322
@ ELFOSABI_AIX
IBM AIX.
Definition elf.h:328
@ ELFOSABI_SOLARIS
Sun Solaris.
Definition elf.h:327
@ ELFOSABI_FREEBSD
FreeBSD.
Definition elf.h:330
@ ELFOSABI_MODESTO
Novell Modesto.
Definition elf.h:332
@ DT_SYMENT
size of a symbol table entry
Definition elf.h:553
@ DT_FINI_ARRAYSZ
Size in bytes of DT_FINI_ARRAY.
Definition elf.h:570
@ DT_SYMBOLIC
alter symbol resolution algorithm
Definition elf.h:558
@ DT_PREINIT_ARRAYSZ
size in bytes of DT_PREINIT_ARRAY
Definition elf.h:575
@ DT_NUM
Number used.
Definition elf.h:576
@ DT_TEXTREL
at least on entry changes r/o section
Definition elf.h:564
@ DT_PLTRELSZ
total size of relocation entry
Definition elf.h:544
@ DT_LOPROC
processor-specific
Definition elf.h:579
@ DT_RELASZ
total size of relocation table
Definition elf.h:550
@ DT_STRTAB
address of string table
Definition elf.h:547
@ DT_HIPROC
processor-specific
Definition elf.h:580
@ DT_RUNPATH
Library search path.
Definition elf.h:571
@ DT_RELSZ
total size of DT_REL relocation table
Definition elf.h:560
@ DT_INIT
address of initialization function
Definition elf.h:554
@ DT_RELAENT
size of DT_RELA relocation entry
Definition elf.h:551
@ DT_RELA
address of relocation table
Definition elf.h:549
@ DT_NEEDED
name of a needed library
Definition elf.h:543
@ DT_PTRREL
type of relocation entry
Definition elf.h:562
@ DT_RPATH
search library path
Definition elf.h:557
@ DT_BIND_NOW
Process relocations of object.
Definition elf.h:566
@ DT_NULL
end of _DYNAMIC array
Definition elf.h:542
@ DT_HIOS
End of OS-specific.
Definition elf.h:578
@ DT_JMPREL
address of relocation entries
Definition elf.h:565
@ DT_PREINIT_ARRAY
Array with addresses of preinit fct.
Definition elf.h:574
@ DT_FINI_ARRAY
Array with addresses of fini fct.
Definition elf.h:568
@ DT_RELENT
size of the DT_REL relocation entry
Definition elf.h:561
@ DT_REL
address of relocation table
Definition elf.h:559
@ DT_PLTGOT
address assoc with prog link table
Definition elf.h:545
@ DT_HASH
address of symbol hash table
Definition elf.h:546
@ DT_LOOS
Start of OS-specific.
Definition elf.h:577
@ DT_ENCODING
Start of encoded range.
Definition elf.h:573
@ DT_INIT_ARRAYSZ
Size in bytes of DT_INIT_ARRAY.
Definition elf.h:569
@ DT_DEBUG
for debugging purposes
Definition elf.h:563
@ DT_STRSZ
size of the string table
Definition elf.h:552
@ DT_SONAME
name of the shared object
Definition elf.h:556
@ DT_FLAGS
Flags for the object being loaded.
Definition elf.h:572
@ DT_FINI
address of termination function
Definition elf.h:555
@ DT_SYMTAB
address of symbol table
Definition elf.h:548
@ DT_INIT_ARRAY
Array with addresses of init fct.
Definition elf.h:567
@ DF_1_LOADFLTR
Trigger filtee loading at runtime.
Definition elf.h:605
@ DF_1_DISPRELPND
Disp reloc applied at run-time.
Definition elf.h:617
@ DF_1_NOW
Set RTLD_NOW for this object.
Definition elf.h:601
@ DF_1_NOOPEN
Set RTLD_NOOPEN for this object.
Definition elf.h:607
@ DF_1_DISPRELDNE
Disp reloc applied at build time.
Definition elf.h:616
@ DF_1_GLOBAL
Set RTLD_GLOBAL for this object.
Definition elf.h:602
@ DF_1_DIRECT
Direct binding enabled.
Definition elf.h:609
@ DF_1_NODELETE
Set RTLD_NODELETE for this object.
Definition elf.h:604
@ DF_1_NODUMP
Object can't be dldump'ed.
Definition elf.h:613
@ DF_1_GROUP
Set RTLD_GROUP for this object.
Definition elf.h:603
@ DF_1_ENDFILTEE
Filtee terminates filters search.
Definition elf.h:615
@ DF_1_INTERPOSE
Object is used to interpose.
Definition elf.h:611
@ DF_1_NODEFLIB
Ignore default lib search path.
Definition elf.h:612
@ DF_1_ORIGIN
$ORIGIN must be handled.
Definition elf.h:608
@ DF_1_CONFALT
Configuration alternative created.
Definition elf.h:614
@ DF_1_INITFIRST
Set RTLD_INITFIRST for this object.
Definition elf.h:606
@ ELFMAG1
e_ident[EI_MAG1]
Definition elf.h:296
@ ELFMAG0
e_ident[EI_MAG0]
Definition elf.h:295
@ ELFMAG3
e_ident[EI_MAG3]
Definition elf.h:298
@ ELFMAG2
e_ident[EI_MAG2]
Definition elf.h:297
@ NT_PRFPXREG
Contains copy of fprxregset struct.
Definition elf.h:508
@ NT_TASKSTRUCT
Contains copy of task structure.
Definition elf.h:497
@ NT_ASRS
Contains copy of asrset struct.
Definition elf.h:501
@ NT_LWPSINFO
Contains copy of lwpinfo struct.
Definition elf.h:507
@ NT_LWPSTATUS
Contains copy of lwpstatus struct.
Definition elf.h:506
@ NT_AUXV
Contains copy of auxv array.
Definition elf.h:499
@ NT_PRCRED
Contains copy of prcred struct.
Definition elf.h:504
@ NT_PSINFO
Contains copy of psinfo struct.
Definition elf.h:503
@ NT_PRPSINFO
Contains copy of prpsinfo struct.
Definition elf.h:495
@ NT_UTSNAME
Contains copy of utsname struct.
Definition elf.h:505
@ NT_FPREGSET
Contains copy of fpregset struct.
Definition elf.h:494
@ NT_PSTATUS
Contains copy of pstatus struct.
Definition elf.h:502
@ NT_PRXREG
Contains copy of prxregset struct.
Definition elf.h:496
@ NT_PRSTATUS
Contains copy of prstatus struct.
Definition elf.h:493
@ NT_PLATFORM
String from sysinfo(SI_PLATFORM)
Definition elf.h:498
@ NT_GWINDOWS
Contains copy of gwindows struct.
Definition elf.h:500
@ R_AARCH64_NONE
No reloc.
Definition elf.h:832
@ PF_ARM_SB
Segment contains the location addressed by the static base.
Definition elf.h:777
@ STT_LOPROC
processor-specific
Definition elf.h:939
@ STT_FUNC
associated with a function or other code
Definition elf.h:934
@ STT_LOOS
OS-specific.
Definition elf.h:937
@ STT_NOTYPE
symbol's type not specified
Definition elf.h:932
@ STT_OBJECT
associated with a data object
Definition elf.h:933
@ STT_HIOS
OS-specific.
Definition elf.h:938
@ STT_FILE
source file name associated with object
Definition elf.h:936
@ STT_SECTION
associated with a section
Definition elf.h:935
@ STT_HIPROC
processor-specific
Definition elf.h:940
@ EI_ABIVERSION
ABI version.
Definition elf.h:288
@ EI_MAG1
file id 1
Definition elf.h:281
@ EI_DATA
data encoding
Definition elf.h:285
@ EI_MAG0
file id 0
Definition elf.h:280
@ EI_PAD
start of padding bytes
Definition elf.h:289
@ EI_MAG3
file id 3
Definition elf.h:283
@ EI_CLASS
file class
Definition elf.h:284
@ EI_OSABI
Operating system / ABI identification.
Definition elf.h:287
@ EI_VERSION
file version
Definition elf.h:286
@ EI_MAG2
file id 2
Definition elf.h:282
@ EF_ARM_ALIGN8
8-bit structure alignment is in use
Definition elf.h:743
@ EV_CURRENT
Current version.
Definition elf.h:273
@ EV_NONE
Invalid version.
Definition elf.h:272
@ PF_R
Read.
Definition elf.h:485
@ PF_MASKPROC
Processor-specific.
Definition elf.h:487
@ PF_X
Executable.
Definition elf.h:483
@ PF_MASKOS
OS-specific.
Definition elf.h:486
@ PF_W
Write.
Definition elf.h:484
@ SHT_NUM
Number of defined types.
Definition elf.h:400
@ SHT_HASH
symbol hash table
Definition elf.h:388
@ SHT_RELA
reloc entries w/ explicit addens
Definition elf.h:387
@ SHT_PROGBITS
information defined by program
Definition elf.h:384
@ SHT_STRTAB
string table
Definition elf.h:386
@ SHT_SYMTAB_SHNDX
Extended section indices.
Definition elf.h:399
@ SHT_REL
reloc entries w/o explicit addens
Definition elf.h:392
@ SHT_HIOS
End OS-specific.
Definition elf.h:402
@ SHT_FINI_ARRAY
Array of destructors.
Definition elf.h:396
@ SHT_HIPROC
End processor-specific.
Definition elf.h:404
@ SHT_GROUP
Section group.
Definition elf.h:398
@ SHT_INIT_ARRAY
Array of constructors.
Definition elf.h:395
@ SHT_NOTE
information that marks the file
Definition elf.h:390
@ SHT_SYMTAB
symbol table
Definition elf.h:385
@ SHT_NOBITS
occupies no space in the file
Definition elf.h:391
@ SHT_LOUSER
Start application-specific.
Definition elf.h:405
@ SHT_NULL
inactive section header
Definition elf.h:383
@ SHT_HIUSER
End application-specific.
Definition elf.h:406
@ SHT_LOOS
Start OS-specific.
Definition elf.h:401
@ SHT_DYNSYM
symbol table (dynamic
Definition elf.h:394
@ SHT_PREINIT_ARRAY
Array of pre-constructors.
Definition elf.h:397
@ SHT_SHLIB
reserved + unspecified semantics
Definition elf.h:393
@ SHT_LOPROC
Start processor-specific.
Definition elf.h:403
@ SHT_DYNAMIC
information for dynamic linking
Definition elf.h:389
@ SHN_COMMON
common symbols
Definition elf.h:346
@ SHN_UNDEF
undefined section header entry
Definition elf.h:341
@ SHN_HIPROC
upper bound of proc spec entr
Definition elf.h:344
@ SHN_LOPROC
lower bound of proc spec entr
Definition elf.h:343
@ SHN_ABS
absolute values for ref
Definition elf.h:345
@ SHN_LORESERVE
lower bound of reserved indexes
Definition elf.h:342
@ SHN_HIRESERVE
upper bound of reserved indexes
Definition elf.h:347
@ DF_P1_LAZYLOAD
Lazyload following object.
Definition elf.h:630
@ DF_P1_GROUPPERM
Symbols from next object are not generally available.
Definition elf.h:631
@ SHF_MERGE
Might be merged.
Definition elf.h:415
@ SHF_INFO_LINK
‘sh_info’ contains SHT index
Definition elf.h:417
@ SHF_STRINGS
Contains nul-terminated strings.
Definition elf.h:416
@ SHF_ALLOC
section occupies virt memory
Definition elf.h:413
@ SHF_MASKPROC
processor-specific mask
Definition elf.h:424
@ SHF_GROUP
Section is member of a group.
Definition elf.h:421
@ SHF_EXECINSTR
code section
Definition elf.h:414
@ SHF_OS_NONCONFORMING
Non-standard OS-specific handling required.
Definition elf.h:419
@ SHF_LINK_ORDER
Preserve order after combining.
Definition elf.h:418
@ SHF_TLS
Section hold thread-local data.
Definition elf.h:422
@ SHF_WRITE
writeable during execution
Definition elf.h:412
@ SHF_MASKOS
OS-specific.
Definition elf.h:423
@ AT_IGNORE
Entry should be ignored.
Definition elf.h:947
@ AT_PHDR
Program headers for program.
Definition elf.h:949
@ AT_L4_AUX
L4Re AUX section.
Definition elf.h:962
@ AT_FLAGS
Flags.
Definition elf.h:954
@ AT_GID
Real GID.
Definition elf.h:959
@ AT_EUID
Effective UID.
Definition elf.h:958
@ AT_BASE
Base address of interpreter.
Definition elf.h:953
@ AT_L4_ENV
L4Re ENV section.
Definition elf.h:963
@ AT_ENTRY
Entry point of program.
Definition elf.h:955
@ AT_PHENT
Size of program header entry.
Definition elf.h:950
@ AT_EXECFD
File descriptor of program.
Definition elf.h:948
@ AT_EGID
Effective GID.
Definition elf.h:960
@ AT_NOTELF
Program is not ELF.
Definition elf.h:956
@ AT_PAGESZ
System page size.
Definition elf.h:952
@ AT_UID
Real UID.
Definition elf.h:957
@ AT_PHNUM
Number of program headers.
Definition elf.h:951
@ AT_NULL
End of vector.
Definition elf.h:946
@ R_386_COPY
none
Definition elf.h:689
@ R_386_TLS_GD_CALL
Relocation for call to __tls_get_addr()
Definition elf.h:712
@ R_386_RELATIVE
B + A.
Definition elf.h:692
@ R_386_TLS_DTPOFF32
Offset in TLS block.
Definition elf.h:727
@ R_386_TLS_LDO_32
Offset relative to TLS block.
Definition elf.h:721
@ R_386_TLS_LDM
Direct 32 bit for GNU version of local dynamic thread local data in LE code.
Definition elf.h:703
@ R_386_GOT32
G + A - P.
Definition elf.h:687
@ R_386_TLS_LDM_PUSH
Tag for pushl in LDM TLS code.
Definition elf.h:717
@ R_386_TLS_LDM_CALL
Relocation for call to __tls_get_addr() in LDM code.
Definition elf.h:718
@ R_386_TLS_IE
Address of GOT entry for static TLS block offset.
Definition elf.h:697
@ R_386_TLS_TPOFF
Offset in static TLS block.
Definition elf.h:696
@ R_386_TLS_LDM_POP
Tag for popl in LDM TLS code.
Definition elf.h:720
@ R_386_TLS_LE_32
Negated offset relative to static TLS block.
Definition elf.h:724
@ R_386_TLS_LE
Offset relative to static TLS block.
Definition elf.h:700
@ R_386_32
S + A.
Definition elf.h:685
@ R_386_TLS_TPOFF32
Negated offset in static TLS block.
Definition elf.h:728
@ R_386_TLS_DTPMOD32
ID of module containing symbol.
Definition elf.h:726
@ R_386_TLS_GD
Direct 32 bit for GNU version of general dynamic thread local data.
Definition elf.h:701
@ R_386_TLS_GD_PUSH
Tag for pushl in GD TLS code.
Definition elf.h:711
@ R_386_TLS_LDM_32
Direct 32 bit for local dynamic thread local data in LE code.
Definition elf.h:715
@ R_386_NONE
none
Definition elf.h:684
@ R_386_TLS_GOTIE
GOT entry for static TLS block offset.
Definition elf.h:699
@ R_386_TLS_GD_POP
Tag for popl in GD TLS code.
Definition elf.h:714
@ R_386_GLOB_DAT
S.
Definition elf.h:690
@ R_386_PC32
S + A - P.
Definition elf.h:686
@ R_386_GOTPC
GOT + A - P.
Definition elf.h:694
@ R_386_GOTOFF
S + A - GOT.
Definition elf.h:693
@ R_386_TLS_IE_32
GOT entry for negated static TLS block offset.
Definition elf.h:722
@ R_386_TLS_GD_32
Direct 32 bit for general dynamic thread local data.
Definition elf.h:709
@ R_386_PLT32
L + A - P.
Definition elf.h:688
@ R_386_NUM
Keep this the last entry.
Definition elf.h:729
@ R_386_JMP_SLOT
S.
Definition elf.h:691
@ EM_88K
Motorola 88000.
Definition elf.h:194
@ EM_H8_300
Hitachi H8/300.
Definition elf.h:214
@ EM_TRICORE
Siemens Tricore embedded processor.
Definition elf.h:212
@ EM_SVX
Silicon Graphics SVx.
Definition elf.h:231
@ EM_IA_64
HP/Intel IA-64.
Definition elf.h:218
@ EM_PJ
picoJava
Definition elf.h:249
@ EM_FR20
Fujitsu FR20.
Definition elf.h:205
@ EM_TILEPRO
Tilera TILEPro.
Definition elf.h:255
@ EM_MMIX
Donald Knuth's educational 64-bit processor.
Definition elf.h:238
@ EM_M32
AT&T WE 32100.
Definition elf.h:190
@ EM_PDSP
Sony DSP Processor.
Definition elf.h:223
@ EM_SPARC
SPARC.
Definition elf.h:191
@ EM_X86_64
Advanced Micro Devices x86-64.
Definition elf.h:222
@ EM_TILEGX
Tilera TILE-Gx.
Definition elf.h:257
@ EM_OPENRISC
OpenRISC 32-bit embedded processor.
Definition elf.h:250
@ EM_68HC11
Motorola MC68HC11 microcontroller.
Definition elf.h:228
@ EM_M32R
Mitsubishi M32R.
Definition elf.h:246
@ EM_ARM
Advanced RISC Machines ARM.
Definition elf.h:208
@ EM_ARC_A5
ARC Cores Tangent-A5.
Definition elf.h:251
@ EM_ALPHA
Digital Alpha.
Definition elf.h:209
@ EM_H8_300H
Hitachi H8/300H.
Definition elf.h:215
@ EM_H8S
Hitachi H8/S.
Definition elf.h:216
@ EM_68K
Motorola 68000.
Definition elf.h:193
@ EM_PRISM
SiTera Prism.
Definition elf.h:240
@ EM_SPARC64
SPARC 64-bit.
Definition elf.h:198
@ EM_ST19
STMicroelectronics ST19 8 bit mc.
Definition elf.h:232
@ EM_JAVELIN
Infineon Technologies 32-bit embedded processor.
Definition elf.h:235
@ EM_FR30
Fujitsu FR30.
Definition elf.h:242
@ EM_ST9PLUS
STMicroelectronics ST9+ 8/16 mc.
Definition elf.h:225
@ EM_68HC08
Motorola MC68HC08 microcontroller.
Definition elf.h:229
@ EM_ALTERA_NIOS2
Altera Nios II.
Definition elf.h:253
@ EM_MIPS
MIPS RS3000 big-endian.
Definition elf.h:196
@ EM_AARCH64
ARM AARCH64.
Definition elf.h:254
@ EM_CRIS
Axis Communications 32-bit embedded processor.
Definition elf.h:234
@ EM_HUANY
Harvard University machine-independent object files.
Definition elf.h:239
@ EM_68HC16
Motorola MC68HC16 microcontroller.
Definition elf.h:227
@ EM_68HC05
Motorola MC68HC05 microcontroller.
Definition elf.h:230
@ EM_H8_500
Hitachi H8/500.
Definition elf.h:217
@ EM_VPP500
Fujitsu VPP500.
Definition elf.h:200
@ EM_PARISC
HP PA-RISC.
Definition elf.h:199
@ EM_960
Intel 80960.
Definition elf.h:202
@ EM_860
Intel 80860.
Definition elf.h:195
@ EM_FX66
Siemens FX66 microcontroller.
Definition elf.h:224
@ EM_XTENSA
Tensilica Xtensa Architecture.
Definition elf.h:252
@ EM_68HC12
Motorola M68HC12.
Definition elf.h:221
@ EM_MN10200
Matsushita MN10200.
Definition elf.h:248
@ EM_VAX
Digital VAX.
Definition elf.h:233
@ EM_COLDFIRE
Motorola Coldfire.
Definition elf.h:220
@ EM_SPARC32PLUS
Sun's V8plus.
Definition elf.h:201
@ EM_RCE
Motorola RCE.
Definition elf.h:207
@ EM_V800
NEC V800.
Definition elf.h:204
@ EM_RH32
TRW RH-32.
Definition elf.h:206
@ EM_NONE
no machine
Definition elf.h:189
@ EM_ARC
Argonaut RISC Core, Argonaut Techn Inc.
Definition elf.h:213
@ EM_ZSP
LSI Logic 16-bit DSP Processor.
Definition elf.h:237
@ EM_PPC
PowerPC.
Definition elf.h:203
@ EM_SH
Hitachi SuperH.
Definition elf.h:210
@ EM_AVR
Atmel AVR 8-bit microcontroller.
Definition elf.h:241
@ EM_MIPS_X
Stanford MIPS-X.
Definition elf.h:219
@ EM_D30V
Mitsubishi D30V.
Definition elf.h:244
@ EM_MIPS_RS4_BE
MIPS RS4000 big-endian.
Definition elf.h:197
@ EM_MN10300
Matsushita MN10300.
Definition elf.h:247
@ EM_D10V
Mitsubishi D10V.
Definition elf.h:243
@ EM_RISCV
RISC-V.
Definition elf.h:258
@ EM_SPARCV9
SPARC v9 64-bit.
Definition elf.h:211
@ EM_MICROBLAZE
Xilinx MicroBlaze.
Definition elf.h:256
@ EM_386
Intel 80386.
Definition elf.h:192
@ EM_FIREPATH
Element 14 64-bit DSP Processor.
Definition elf.h:236
@ EM_ST7
STmicroelectronics ST7 8 bit mc.
Definition elf.h:226
@ EM_V850
NEC v850.
Definition elf.h:245
@ NT_VERSION
Contains a version string.
Definition elf.h:514
@ STB_LOOS
OS-specific.
Definition elf.h:922
@ STB_GLOBAL
visible to all objects being combined
Definition elf.h:920
@ STB_LOPROC
Processor-specific.
Definition elf.h:924
@ STB_LOCAL
not visible outside object file
Definition elf.h:919
@ STB_WEAK
resemble global symbols
Definition elf.h:921
@ STB_HIPROC
Processor-specific.
Definition elf.h:925
@ STB_HIOS
OS-specific.
Definition elf.h:923
@ DF_STATIC_TLS
Module uses the static TLS model.
Definition elf.h:592
@ DF_BIND_NOW
No lazy binding for this object.
Definition elf.h:591
@ DF_ORIGIN
Object may use DF_ORIGIN.
Definition elf.h:588
@ DF_SYMBOLIC
Symbol resolutions starts here.
Definition elf.h:589
@ DF_TEXTREL
Object contains text relocations.
Definition elf.h:590
@ SHF_ARM_ENTRYSECT
Section contains an entry point.
Definition elf.h:769
@ SHF_ARM_COMDEF
Section may be multiply defined in the input to a link step.
Definition elf.h:770
@ EI_NIDENT
Number of characters.
Definition elf.h:123
@ R_ARM_ABS16
Direct 16 bit.
Definition elf.h:789
@ R_ARM_RELATIVE
Adjust by program base.
Definition elf.h:804
@ R_ARM_PC24
PC relative 26 bit branch.
Definition elf.h:785
@ R_ARM_GOTPC
32 bit PC relative offset to GOT
Definition elf.h:806
@ R_ARM_THM_PC9
thumb conditional branch
Definition elf.h:818
@ R_ARM_NONE
No reloc.
Definition elf.h:784
@ R_ARM_ABS12
Direct 12 bit.
Definition elf.h:790
@ R_ARM_THM_PC11
thumb unconditional branch
Definition elf.h:817
@ R_ARM_NUM
Keep this the last entry.
Definition elf.h:826
@ R_ARM_GOT32
32 bit GOT entry
Definition elf.h:807
@ R_ARM_GLOB_DAT
Create GOT entry.
Definition elf.h:802
@ R_ARM_ABS8
Direct 8 bit.
Definition elf.h:792
@ R_ARM_GOTOFF
32 bit offset to GOT
Definition elf.h:805
@ R_ARM_REL32
PC relative 32 bit.
Definition elf.h:787
@ R_ARM_PLT32
32 bit PLT address
Definition elf.h:808
@ R_ARM_COPY
Copy symbol at runtime.
Definition elf.h:801
@ R_ARM_ABS32
Direct 32 bit
Definition elf.h:786
@ R_ARM_JUMP_SLOT
Create PLT entry.
Definition elf.h:803
Auxiliary vector (32-bit).
Definition elf.h:968
Elf32_Word atype
Definition elf.h:969
ELF32 dynamic entry.
Definition elf.h:519
Elf32_Word d_val
integer values with various interpret.
Definition elf.h:523
Elf32_Sword d_tag
Definition elf.h:520
Elf32_Addr d_ptr
program virtual addresses
Definition elf.h:524
ELF32 header.
Definition elf.h:130
Elf32_Off e_shoff
offset of file header table
Definition elf.h:137
Elf32_Half e_ehsize
size of ELF header
Definition elf.h:139
Elf32_Half e_shnum
number of entries in section header table
Definition elf.h:143
Elf32_Half e_machine
required architecture
Definition elf.h:133
Elf32_Off e_phoff
offset of program header table
Definition elf.h:136
Elf32_Half e_phnum
number of entries in program header table
Definition elf.h:141
Elf32_Half e_shstrndx
section header table index of strtab
Definition elf.h:144
Elf32_Half e_type
type of ELF file
Definition elf.h:132
Elf32_Word e_flags
processor-specific flags
Definition elf.h:138
Elf32_Word e_version
file version
Definition elf.h:134
Elf32_Half e_shentsize
size of section header entry
Definition elf.h:142
Elf32_Addr e_entry
initial program counter
Definition elf.h:135
Elf32_Half e_phentsize
size of program header entry
Definition elf.h:140
ELF32 program header.
Definition elf.h:430
Elf32_Addr p_vaddr
memory address of prog section
Definition elf.h:433
Elf32_Word p_flags
flags
Definition elf.h:437
Elf32_Word p_type
type of program section
Definition elf.h:431
Elf32_Off p_offset
file offset of program section
Definition elf.h:432
Elf32_Word p_filesz
file size of program section
Definition elf.h:435
Elf32_Word p_memsz
memory size of program section
Definition elf.h:436
Elf32_Addr p_paddr
physical address (ignored)
Definition elf.h:434
Elf32_Word p_align
alignment of section
Definition elf.h:438
ELF32 relocation entry w/o addend.
Definition elf.h:637
ELF32 relocation entry w/ addend.
Definition elf.h:644
ELF32 section header.
Definition elf.h:352
Elf32_Word sh_entsize
size of entry if sect is table
Definition elf.h:362
Elf32_Word sh_flags
section's flags
Definition elf.h:355
Elf32_Word sh_addralign
address alignment constraints
Definition elf.h:361
Elf32_Off sh_offset
file offset of section
Definition elf.h:357
Elf32_Word sh_name
name of sect (idx into strtab)
Definition elf.h:353
Elf32_Addr sh_addr
memory address of section
Definition elf.h:356
Elf32_Word sh_size
file size of section
Definition elf.h:358
Elf32_Word sh_type
section's type
Definition elf.h:354
Elf32_Word sh_link
idx to associated header section
Definition elf.h:359
Elf32_Word sh_info
extra info of header section
Definition elf.h:360
ELF32 symbol table entry.
Definition elf.h:877
Elf32_Word st_size
size of associated symbol
Definition elf.h:880
unsigned char st_other
undefined
Definition elf.h:882
Elf32_Half st_shndx
associated section header
Definition elf.h:883
Elf32_Word st_name
name of symbol (idx symstrtab)
Definition elf.h:878
unsigned char st_info
type and binding info
Definition elf.h:881
Elf32_Addr st_value
value of associated symbol
Definition elf.h:879
Auxiliary vector (64-bit).
Definition elf.h:975
Elf64_Word atype
Definition elf.h:976
ELF64 dynamic entry.
Definition elf.h:530
Elf64_Addr d_ptr
program virtual addresses
Definition elf.h:535
Elf64_Sxword d_tag
Definition elf.h:531
Elf64_Xword d_val
integer values with various interpret.
Definition elf.h:534
ELF64 header.
Definition elf.h:151
Elf64_Half e_type
type of ELF file
Definition elf.h:153
Elf64_Half e_shentsize
size of section header entry
Definition elf.h:163
Elf64_Half e_shnum
number of entries in section header table
Definition elf.h:164
Elf64_Word e_version
file version
Definition elf.h:155
Elf64_Half e_ehsize
size of ELF header
Definition elf.h:160
Elf64_Off e_shoff
offset of file header table
Definition elf.h:158
Elf64_Addr e_entry
initial program counter
Definition elf.h:156
Elf64_Half e_phentsize
size of program header entry
Definition elf.h:161
Elf64_Off e_phoff
offset of program header table
Definition elf.h:157
Elf64_Half e_machine
required architecture
Definition elf.h:154
Elf64_Word e_flags
processor-specific flags
Definition elf.h:159
Elf64_Half e_shstrndx
section header table index of strtab
Definition elf.h:165
Elf64_Half e_phnum
number of entries in program header table
Definition elf.h:162
ELF64 program header.
Definition elf.h:443
Elf64_Xword p_memsz
memory size of program section
Definition elf.h:450
Elf64_Addr p_vaddr
memory address of prog section
Definition elf.h:447
Elf64_Addr p_paddr
physical address (ignored)
Definition elf.h:448
Elf64_Off p_offset
file offset of program section
Definition elf.h:446
Elf64_Xword p_align
alignment of section
Definition elf.h:451
Elf64_Word p_flags
flags
Definition elf.h:445
Elf64_Word p_type
type of program section
Definition elf.h:444
Elf64_Xword p_filesz
file size of program section
Definition elf.h:449
ELF64 relocation entry w/o addend.
Definition elf.h:652
ELF64 relocation entry w/ addend.
Definition elf.h:659
ELF64 section header.
Definition elf.h:367
Elf64_Word sh_name
name of sect (idx into strtab)
Definition elf.h:368
Elf64_Xword sh_flags
section's flags
Definition elf.h:370
Elf64_Word sh_link
idx to associated header section
Definition elf.h:374
Elf64_Word sh_type
section's type
Definition elf.h:369
Elf64_Word sh_info
extra info of header section
Definition elf.h:375
Elf64_Xword sh_entsize
size of entry if sect is table
Definition elf.h:377
Elf64_Xword sh_size
file size of section
Definition elf.h:373
Elf64_Xword sh_addralign
address alignment constraints
Definition elf.h:376
Elf64_Addr sh_addr
memory address of section
Definition elf.h:371
Elf64_Off sh_offset
file offset of section
Definition elf.h:372
ELF64 symbol table entry.
Definition elf.h:888
Elf64_Half st_shndx
associated section header
Definition elf.h:892
Elf64_Word st_name
name of symbol (idx symstrtab)
Definition elf.h:889
Elf64_Addr st_value
value of associated symbol
Definition elf.h:893
unsigned char st_info
type and binding info
Definition elf.h:890
unsigned char st_other
undefined
Definition elf.h:891
Elf64_Xword st_size
size of associated symbol
Definition elf.h:894