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