#include <inttypes.h>
Go to the source code of this file.
Classes | |
struct | Elf32_Ehdr |
struct | Elf64_Ehdr |
struct | Elf32_Phdr |
struct | Elf64_Phdr |
struct | Elf32_Shdr |
struct | Elf64_Shdr |
struct | Elf32_Sym |
struct | Elf64_Sym |
struct | Elf32_Rel |
struct | Elf32_Rela |
struct | Elf64_Rel |
struct | Elf64_Rela |
struct | Elf32_Dyn |
struct | Elf64_Dyn |
struct | Aux32Info |
struct | Aux64Info |
struct | Elf32_Nhdr |
struct | Elf64_Nhdr |
Macros | |
#define | ELF32_FSZ_ADDR 4 |
#define | ELF32_FSZ_OFF 4 |
#define | ELF32_FSZ_SWORD 4 |
#define | ELF32_FSZ_WORD 4 |
#define | ELF32_FSZ_HALF 2 |
#define | ELF64_FSZ_ADDR 8 |
#define | ELF64_FSZ_OFF 8 |
#define | ELF64_FSZ_SHALF 4 |
#define | ELF64_FSZ_SWORD 8 |
#define | ELF64_FSZ_WORD 8 |
#define | ELF64_FSZ_XWORD 8 |
#define | ELF64_FSZ_XWORD 8 |
#define | ELF64_FSZ_HALF 4 |
#define | ELF64_FSZ_QUARTER 2 |
#define | ELF_NIDENT 16 |
#define | EI_MAG0 0 /* '\177' */ |
#define | EI_MAG1 1 /* 'E' */ |
#define | EI_MAG2 2 /* 'L' */ |
#define | EI_MAG3 3 /* 'F' */ |
#define | EI_CLASS 4 /* File class */ |
#define | EI_DATA 5 /* Data encoding */ |
#define | EI_VERSION 6 /* File version */ |
#define | EI_OSABI 7 /* Operating system/ABI identification */ |
#define | EI_ABIVERSION 8 /* ABI version */ |
#define | EI_PAD 9 /* Start of padding bytes up to EI_NIDENT*/ |
#define | ELFMAG0 0x7f |
#define | ELFMAG1 'E' |
#define | ELFMAG2 'L' |
#define | ELFMAG3 'F' |
#define | ELFMAG "\177ELF" |
#define | SELFMAG 4 |
#define | ELFCLASSNONE 0 /* Invalid class */ |
#define | ELFCLASS32 1 /* 32-bit objects */ |
#define | ELFCLASS64 2 /* 64-bit objects */ |
#define | ELFCLASSNUM 3 |
#define | ELFDATANONE 0 /* Invalid data encoding */ |
#define | ELFDATA2LSB 1 /* 2's complement values, LSB first */ |
#define | ELFDATA2MSB 2 /* 2's complement values, MSB first */ |
#define | EV_NONE 0 /* Invalid version */ |
#define | EV_CURRENT 1 /* Current version */ |
#define | EV_NUM 2 |
#define | ELFOSABI_SYSV 0 /* UNIX System V ABI */ |
#define | ELFOSABI_HPUX 1 /* HP-UX operating system */ |
#define | ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ |
#define | ET_NONE 0 /* No file type */ |
#define | ET_REL 1 /* Relocatable file */ |
#define | ET_EXEC 2 /* Executable file */ |
#define | ET_DYN 3 /* Shared object file */ |
#define | ET_CORE 4 /* Core file */ |
#define | ET_NUM 5 |
#define | ET_LOOS 0xfe00 /* Operating system specific range */ |
#define | ET_HIOS 0xfeff |
#define | ET_LOPROC 0xff00 /* Processor-specific range */ |
#define | ET_HIPROC 0xffff |
#define | EM_NONE 0 /* No machine */ |
#define | EM_M32 1 /* AT&T WE 32100 */ |
#define | EM_SPARC 2 /* SPARC */ |
#define | EM_386 3 /* Intel 80386 */ |
#define | EM_68K 4 /* Motorola 68000 */ |
#define | EM_88K 5 /* Motorola 88000 */ |
#define | EM_486 6 /* Intel 80486 */ |
#define | EM_860 7 /* Intel 80860 */ |
#define | EM_MIPS 8 /* MIPS I Architecture */ |
#define | EM_S370 9 /* Amdahl UTS on System/370 */ |
#define | EM_MIPS_RS3_LE 10 /* MIPS RS3000 Little-endian */ |
#define | EM_RS6000 11 /* IBM RS/6000 XXX reserved */ |
#define | EM_PARISC 15 /* Hewlett-Packard PA-RISC */ |
#define | EM_NCUBE 16 /* NCube XXX reserved */ |
#define | EM_VPP500 17 /* Fujitsu VPP500 */ |
#define | EM_SPARC32PLUS 18 /* Enhanced instruction set SPARC */ |
#define | EM_960 19 /* Intel 80960 */ |
#define | EM_PPC 20 /* PowerPC */ |
#define | EM_PPC64 21 /* PowerPC 64-bit (GXemul addition) */ |
#define | EM_V800 36 /* NEC V800 */ |
#define | EM_FR20 37 /* Fujitsu FR20 */ |
#define | EM_RH32 38 /* TRW RH-32 */ |
#define | EM_RCE 39 /* Motorola RCE */ |
#define | EM_ARM 40 /* Advanced RISC Machines ARM */ |
#define | EM_ALPHA 41 /* DIGITAL Alpha */ |
#define | EM_SH 42 /* Hitachi Super-H */ |
#define | EM_SPARCV9 43 /* SPARC Version 9 */ |
#define | EM_TRICORE 44 /* Siemens Tricore */ |
#define | EM_ARC 45 /* Argonaut RISC Core */ |
#define | EM_H8_300 46 /* Hitachi H8/300 */ |
#define | EM_H8_300H 47 /* Hitachi H8/300H */ |
#define | EM_H8S 48 /* Hitachi H8S */ |
#define | EM_H8_500 49 /* Hitachi H8/500 */ |
#define | EM_IA_64 50 /* Intel Merced Processor */ |
#define | EM_MIPS_X 51 /* Stanford MIPS-X */ |
#define | EM_COLDFIRE 52 /* Motorola Coldfire */ |
#define | EM_68HC12 53 /* Motorola MC68HC12 */ |
#define | EM_AMD64 62 /* AMD64 (GXemul addition) */ |
#define | EM_VAX 75 /* DIGITAL VAX */ |
#define | EM_AVR 83 /* Atmel AVR (GXemul addition) */ |
#define | EM_M32R 88 /* Renesas M32R (GXemul addition) */ |
#define | EM_ALPHA_EXP 36902 /* used by NetBSD/alpha; obsolete */ |
#define | EM_NUM 36903 |
#define | PT_NULL 0 /* Program header table entry unused */ |
#define | PT_LOAD 1 /* Loadable program segment */ |
#define | PT_DYNAMIC 2 /* Dynamic linking information */ |
#define | PT_INTERP 3 /* Program interpreter */ |
#define | PT_NOTE 4 /* Auxiliary information */ |
#define | PT_SHLIB 5 /* Reserved, unspecified semantics */ |
#define | PT_PHDR 6 /* Entry for header table itself */ |
#define | PT_NUM 7 |
#define | PF_R 0x4 /* Segment is readable */ |
#define | PF_W 0x2 /* Segment is writable */ |
#define | PF_X 0x1 /* Segment is executable */ |
#define | PF_MASKOS 0x0ff00000 /* Opersting system specific values */ |
#define | PF_MASKPROC 0xf0000000 /* Processor-specific values */ |
#define | PT_LOPROC 0x70000000 /* Processor-specific range */ |
#define | PT_HIPROC 0x7fffffff |
#define | PT_MIPS_REGINFO 0x70000000 |
#define | SHT_NULL 0 |
#define | SHT_PROGBITS 1 |
#define | SHT_SYMTAB 2 |
#define | SHT_STRTAB 3 |
#define | SHT_RELA 4 |
#define | SHT_HASH 5 |
#define | SHT_DYNAMIC 6 |
#define | SHT_NOTE 7 |
#define | SHT_NOBITS 8 |
#define | SHT_REL 9 |
#define | SHT_SHLIB 10 |
#define | SHT_DYNSYM 11 |
#define | SHT_NUM 12 |
#define | SHT_LOOS 0x60000000 /* Operating system specific range */ |
#define | SHT_HIOS 0x6fffffff |
#define | SHT_LOPROC 0x70000000 /* Processor-specific range */ |
#define | SHT_HIPROC 0x7fffffff |
#define | SHT_LOUSER 0x80000000 /* Application-specific range */ |
#define | SHT_HIUSER 0xffffffff |
#define | SHF_WRITE 0x1 /* Section contains writable data */ |
#define | SHF_ALLOC 0x2 /* Section occupies memory */ |
#define | SHF_EXECINSTR 0x4 /* Section contains executable insns */ |
#define | SHF_MASKOS 0x0f000000 /* Operating system specific values */ |
#define | SHF_MASKPROC 0xf0000000 /* Processor-specific values */ |
#define | ELF_SYM_UNDEFINED 0 |
#define | STB_LOCAL 0 /* local symbol */ |
#define | STB_GLOBAL 1 /* global symbol */ |
#define | STB_WEAK 2 /* weakly defined global symbol */ |
#define | STB_NUM 3 |
#define | STB_LOOS 10 /* Operating system specific range */ |
#define | STB_HIOS 12 |
#define | STB_LOPROC 13 /* Processor-specific range */ |
#define | STB_HIPROC 15 |
#define | STT_NOTYPE 0 /* Type not specified */ |
#define | STT_OBJECT 1 /* Associated with a data object */ |
#define | STT_FUNC 2 /* Associated with a function */ |
#define | STT_SECTION 3 /* Associated with a section */ |
#define | STT_FILE 4 /* Associated with a file name */ |
#define | STT_NUM 5 |
#define | STT_LOOS 10 /* Operating system specific range */ |
#define | STT_HIOS 12 |
#define | STT_LOPROC 13 /* Processor-specific range */ |
#define | STT_HIPROC 15 |
#define | ELF32_ST_BIND(info) ((Elf32_Word)(info) >> 4) |
#define | ELF32_ST_TYPE(info) ((Elf32_Word)(info) & 0xf) |
#define | ELF32_ST_INFO(bind, type) ((Elf_Byte)(((bind) << 4) | ((type) & 0xf))) |
#define | ELF64_ST_BIND(info) ((Elf64_Xword)(info) >> 4) |
#define | ELF64_ST_TYPE(info) ((Elf64_Xword)(info) & 0xf) |
#define | ELF64_ST_INFO(bind, type) ((Elf_Byte)(((bind) << 4) | ((type) & 0xf))) |
#define | SHN_UNDEF 0 /* Undefined section */ |
#define | SHN_LORESERVE 0xff00 /* Reserved range */ |
#define | SHN_ABS 0xfff1 /* Absolute symbols */ |
#define | SHN_COMMON 0xfff2 /* Common symbols */ |
#define | SHN_HIRESERVE 0xffff |
#define | SHN_LOPROC 0xff00 /* Processor-specific range */ |
#define | SHN_HIPROC 0xff1f |
#define | SHN_LOOS 0xff20 /* Operating system specific range */ |
#define | SHN_HIOS 0xff3f |
#define | SHN_MIPS_ACOMMON 0xff00 |
#define | SHN_MIPS_TEXT 0xff01 |
#define | SHN_MIPS_DATA 0xff02 |
#define | SHN_MIPS_SCOMMON 0xff03 |
#define | ELF32_R_SYM(info) ((info) >> 8) |
#define | ELF32_R_TYPE(info) ((info) & 0xff) |
#define | ELF32_R_INFO(sym, type) (((sym) << 8) + (unsigned char)(type)) |
#define | ELF64_R_SYM(info) ((info) >> 32) |
#define | ELF64_R_TYPE(info) ((info) & 0xffffffff) |
#define | ELF64_R_INFO(sym, type) (((sym) << 32) + (type)) |
#define | DT_NULL 0 /* Marks end of dynamic array */ |
#define | DT_NEEDED 1 /* Name of needed library (DT_STRTAB offset) */ |
#define | DT_PLTRELSZ 2 /* Size, in bytes, of relocations in PLT */ |
#define | DT_PLTGOT 3 /* Address of PLT and/or GOT */ |
#define | DT_HASH 4 /* Address of symbol hash table */ |
#define | DT_STRTAB 5 /* Address of string table */ |
#define | DT_SYMTAB 6 /* Address of symbol table */ |
#define | DT_RELA 7 /* Address of Rela relocation table */ |
#define | DT_RELASZ 8 /* Size, in bytes, of DT_RELA table */ |
#define | DT_RELAENT 9 /* Size, in bytes, of one DT_RELA entry */ |
#define | DT_STRSZ 10 /* Size, in bytes, of DT_STRTAB table */ |
#define | DT_SYMENT 11 /* Size, in bytes, of one DT_SYMTAB entry */ |
#define | DT_INIT 12 /* Address of initialization function */ |
#define | DT_FINI 13 /* Address of termination function */ |
#define | DT_SONAME 14 /* Shared object name (DT_STRTAB offset) */ |
#define | DT_RPATH 15 /* Library search path (DT_STRTAB offset) */ |
#define | DT_SYMBOLIC 16 /* Start symbol search within local object */ |
#define | DT_REL 17 /* Address of Rel relocation table */ |
#define | DT_RELSZ 18 /* Size, in bytes, of DT_REL table */ |
#define | DT_RELENT 19 /* Size, in bytes, of one DT_REL entry */ |
#define | DT_PLTREL 20 /* Type of PLT relocation entries */ |
#define | DT_DEBUG 21 /* Used for debugging; unspecified */ |
#define | DT_TEXTREL 22 /* Relocations might modify non-writable seg */ |
#define | DT_JMPREL 23 /* Address of relocations associated with PLT */ |
#define | DT_BIND_NOW 24 /* Process all relocations at load-time */ |
#define | DT_INIT_ARRAY 25 /* Address of initialization function array */ |
#define | DT_FINI_ARRAY 26 /* Size, in bytes, of DT_INIT_ARRAY array */ |
#define | DT_INIT_ARRAYSZ 27 /* Address of termination function array */ |
#define | DT_FINI_ARRAYSZ 28 /* Size, in bytes, of DT_FINI_ARRAY array*/ |
#define | DT_NUM 29 |
#define | DT_LOOS 0x60000000 /* Operating system specific range */ |
#define | DT_HIOS 0x6fffffff |
#define | DT_LOPROC 0x70000000 /* Processor-specific range */ |
#define | DT_HIPROC 0x7fffffff |
#define | AT_NULL 0 /* Marks end of array */ |
#define | AT_IGNORE 1 /* No meaning, a_un is undefined */ |
#define | AT_EXECFD 2 /* Open file descriptor of object file */ |
#define | AT_PHDR 3 /* &phdr[0] */ |
#define | AT_PHENT 4 /* sizeof(phdr[0]) */ |
#define | AT_PHNUM 5 /* # phdr entries */ |
#define | AT_PAGESZ 6 /* PAGESIZE */ |
#define | AT_BASE 7 /* Interpreter base addr */ |
#define | AT_FLAGS 8 /* Processor flags */ |
#define | AT_ENTRY 9 /* Entry address of executable */ |
#define | AT_DCACHEBSIZE 10 /* Data cache block size */ |
#define | AT_ICACHEBSIZE 11 /* Instruction cache block size */ |
#define | AT_UCACHEBSIZE 12 /* Unified cache block size */ |
#define | AT_MIPS_NOTELF 10 /* XXX a_val != 0 -> MIPS XCOFF executable */ |
#define | AT_SUN_UID 2000 /* euid */ |
#define | AT_SUN_RUID 2001 /* ruid */ |
#define | AT_SUN_GID 2002 /* egid */ |
#define | AT_SUN_RGID 2003 /* rgid */ |
#define | AT_SUN_LDELF 2004 /* dynamic linker's ELF header */ |
#define | AT_SUN_LDSHDR 2005 /* dynamic linker's section header */ |
#define | AT_SUN_LDNAME 2006 /* dynamic linker's name */ |
#define | AT_SUN_LPGSIZE 2007 /* large pagesize */ |
#define | AT_SUN_PLATFORM 2008 /* sysinfo(SI_PLATFORM) */ |
#define | AT_SUN_HWCAP 2009 /* process hardware capabilities */ |
#define | AT_SUN_IFLUSH 2010 /* do we need to flush the instruction cache? */ |
#define | AT_SUN_CPU 2011 /* cpu name */ |
#define | AT_SUN_EMUL_ENTRY 2012 /* coff entry point */ |
#define | AT_SUN_EMUL_EXECFD 2013 /* coff file descriptor */ |
#define | AT_SUN_EXECNAME 2014 |
#define | ELF_NOTE_TYPE_OSVERSION 1 |
#define | ELF_NOTE_NETBSD_TYPE_OSVERSION ELF_NOTE_TYPE_OSVERSION |
#define | ELF_NOTE_NETBSD_TYPE_EMULNAME 2 |
#define | ELF_NOTE_NETBSD_NAMESZ 7 |
#define | ELF_NOTE_NETBSD_DESCSZ 4 |
#define | ELF_NOTE_NETBSD_NAME "NetBSD\0\0" |
#define | ELF_NOTE_GNU_NAMESZ 4 |
#define | ELF_NOTE_GNU_DESCSZ 4 |
#define | ELF_NOTE_GNU_NAME "GNU\0" |
#define | ELF_NOTE_GNU_OSMASK (u_int32_t)0xff000000 |
#define | ELF_NOTE_GNU_OSLINUX (u_int32_t)0x01000000 |
#define | ELF_NOTE_GNU_OSMACH (u_int32_t)0x00000000 |
Typedefs | |
typedef uint8_t | Elf_Byte |
typedef uint32_t | Elf32_Addr |
typedef uint32_t | Elf32_Off |
typedef int32_t | Elf32_Sword |
typedef uint32_t | Elf32_Word |
typedef uint16_t | Elf32_Half |
typedef uint64_t | Elf64_Addr |
typedef uint64_t | Elf64_Off |
typedef int32_t | Elf64_Shalf |
typedef int64_t | Elf64_Sword |
typedef uint64_t | Elf64_Word |
typedef int64_t | Elf64_Sxword |
typedef uint64_t | Elf64_Xword |
typedef uint32_t | Elf64_Half |
typedef uint16_t | Elf64_Quarter |
#define AT_BASE 7 /* Interpreter base addr */ |
Definition at line 521 of file exec_elf.h.
#define AT_DCACHEBSIZE 10 /* Data cache block size */ |
Definition at line 524 of file exec_elf.h.
#define AT_ENTRY 9 /* Entry address of executable */ |
Definition at line 523 of file exec_elf.h.
#define AT_EXECFD 2 /* Open file descriptor of object file */ |
Definition at line 516 of file exec_elf.h.
#define AT_FLAGS 8 /* Processor flags */ |
Definition at line 522 of file exec_elf.h.
#define AT_ICACHEBSIZE 11 /* Instruction cache block size */ |
Definition at line 525 of file exec_elf.h.
#define AT_IGNORE 1 /* No meaning, a_un is undefined */ |
Definition at line 515 of file exec_elf.h.
#define AT_MIPS_NOTELF 10 /* XXX a_val != 0 -> MIPS XCOFF executable */ |
Definition at line 529 of file exec_elf.h.
#define AT_NULL 0 /* Marks end of array */ |
Definition at line 514 of file exec_elf.h.
#define AT_PAGESZ 6 /* PAGESIZE */ |
Definition at line 520 of file exec_elf.h.
#define AT_PHDR 3 /* &phdr[0] */ |
Definition at line 517 of file exec_elf.h.
#define AT_PHENT 4 /* sizeof(phdr[0]) */ |
Definition at line 518 of file exec_elf.h.
#define AT_PHNUM 5 /* # phdr entries */ |
Definition at line 519 of file exec_elf.h.
#define AT_SUN_CPU 2011 /* cpu name */ |
Definition at line 546 of file exec_elf.h.
#define AT_SUN_EMUL_ENTRY 2012 /* coff entry point */ |
Definition at line 548 of file exec_elf.h.
#define AT_SUN_EMUL_EXECFD 2013 /* coff file descriptor */ |
Definition at line 549 of file exec_elf.h.
#define AT_SUN_EXECNAME 2014 |
Definition at line 551 of file exec_elf.h.
#define AT_SUN_GID 2002 /* egid */ |
Definition at line 533 of file exec_elf.h.
#define AT_SUN_HWCAP 2009 /* process hardware capabilities */ |
Definition at line 544 of file exec_elf.h.
#define AT_SUN_IFLUSH 2010 /* do we need to flush the instruction cache? */ |
Definition at line 545 of file exec_elf.h.
#define AT_SUN_LDELF 2004 /* dynamic linker's ELF header */ |
Definition at line 537 of file exec_elf.h.
#define AT_SUN_LDNAME 2006 /* dynamic linker's name */ |
Definition at line 539 of file exec_elf.h.
#define AT_SUN_LDSHDR 2005 /* dynamic linker's section header */ |
Definition at line 538 of file exec_elf.h.
#define AT_SUN_LPGSIZE 2007 /* large pagesize */ |
Definition at line 540 of file exec_elf.h.
#define AT_SUN_PLATFORM 2008 /* sysinfo(SI_PLATFORM) */ |
Definition at line 543 of file exec_elf.h.
#define AT_SUN_RGID 2003 /* rgid */ |
Definition at line 534 of file exec_elf.h.
#define AT_SUN_RUID 2001 /* ruid */ |
Definition at line 532 of file exec_elf.h.
#define AT_SUN_UID 2000 /* euid */ |
Definition at line 531 of file exec_elf.h.
#define AT_UCACHEBSIZE 12 /* Unified cache block size */ |
Definition at line 526 of file exec_elf.h.
#define DT_BIND_NOW 24 /* Process all relocations at load-time */ |
Definition at line 488 of file exec_elf.h.
#define DT_DEBUG 21 /* Used for debugging; unspecified */ |
Definition at line 485 of file exec_elf.h.
#define DT_FINI 13 /* Address of termination function */ |
Definition at line 477 of file exec_elf.h.
#define DT_FINI_ARRAY 26 /* Size, in bytes, of DT_INIT_ARRAY array */ |
Definition at line 490 of file exec_elf.h.
#define DT_FINI_ARRAYSZ 28 /* Size, in bytes, of DT_FINI_ARRAY array*/ |
Definition at line 492 of file exec_elf.h.
#define DT_HASH 4 /* Address of symbol hash table */ |
Definition at line 468 of file exec_elf.h.
#define DT_HIOS 0x6fffffff |
Definition at line 496 of file exec_elf.h.
#define DT_HIPROC 0x7fffffff |
Definition at line 498 of file exec_elf.h.
#define DT_INIT 12 /* Address of initialization function */ |
Definition at line 476 of file exec_elf.h.
#define DT_INIT_ARRAY 25 /* Address of initialization function array */ |
Definition at line 489 of file exec_elf.h.
#define DT_INIT_ARRAYSZ 27 /* Address of termination function array */ |
Definition at line 491 of file exec_elf.h.
#define DT_JMPREL 23 /* Address of relocations associated with PLT */ |
Definition at line 487 of file exec_elf.h.
#define DT_LOOS 0x60000000 /* Operating system specific range */ |
Definition at line 495 of file exec_elf.h.
#define DT_LOPROC 0x70000000 /* Processor-specific range */ |
Definition at line 497 of file exec_elf.h.
#define DT_NEEDED 1 /* Name of needed library (DT_STRTAB offset) */ |
Definition at line 465 of file exec_elf.h.
#define DT_NULL 0 /* Marks end of dynamic array */ |
Definition at line 464 of file exec_elf.h.
#define DT_NUM 29 |
Definition at line 493 of file exec_elf.h.
#define DT_PLTGOT 3 /* Address of PLT and/or GOT */ |
Definition at line 467 of file exec_elf.h.
#define DT_PLTREL 20 /* Type of PLT relocation entries */ |
Definition at line 484 of file exec_elf.h.
#define DT_PLTRELSZ 2 /* Size, in bytes, of relocations in PLT */ |
Definition at line 466 of file exec_elf.h.
#define DT_REL 17 /* Address of Rel relocation table */ |
Definition at line 481 of file exec_elf.h.
#define DT_RELA 7 /* Address of Rela relocation table */ |
Definition at line 471 of file exec_elf.h.
#define DT_RELAENT 9 /* Size, in bytes, of one DT_RELA entry */ |
Definition at line 473 of file exec_elf.h.
#define DT_RELASZ 8 /* Size, in bytes, of DT_RELA table */ |
Definition at line 472 of file exec_elf.h.
#define DT_RELENT 19 /* Size, in bytes, of one DT_REL entry */ |
Definition at line 483 of file exec_elf.h.
#define DT_RELSZ 18 /* Size, in bytes, of DT_REL table */ |
Definition at line 482 of file exec_elf.h.
#define DT_RPATH 15 /* Library search path (DT_STRTAB offset) */ |
Definition at line 479 of file exec_elf.h.
#define DT_SONAME 14 /* Shared object name (DT_STRTAB offset) */ |
Definition at line 478 of file exec_elf.h.
#define DT_STRSZ 10 /* Size, in bytes, of DT_STRTAB table */ |
Definition at line 474 of file exec_elf.h.
#define DT_STRTAB 5 /* Address of string table */ |
Definition at line 469 of file exec_elf.h.
#define DT_SYMBOLIC 16 /* Start symbol search within local object */ |
Definition at line 480 of file exec_elf.h.
#define DT_SYMENT 11 /* Size, in bytes, of one DT_SYMTAB entry */ |
Definition at line 475 of file exec_elf.h.
#define DT_SYMTAB 6 /* Address of symbol table */ |
Definition at line 470 of file exec_elf.h.
#define DT_TEXTREL 22 /* Relocations might modify non-writable seg */ |
Definition at line 486 of file exec_elf.h.
#define EI_ABIVERSION 8 /* ABI version */ |
Definition at line 135 of file exec_elf.h.
#define EI_CLASS 4 /* File class */ |
Definition at line 131 of file exec_elf.h.
#define EI_DATA 5 /* Data encoding */ |
Definition at line 132 of file exec_elf.h.
#define EI_MAG0 0 /* '\177' */ |
Definition at line 127 of file exec_elf.h.
#define EI_MAG1 1 /* 'E' */ |
Definition at line 128 of file exec_elf.h.
#define EI_MAG2 2 /* 'L' */ |
Definition at line 129 of file exec_elf.h.
#define EI_MAG3 3 /* 'F' */ |
Definition at line 130 of file exec_elf.h.
#define EI_OSABI 7 /* Operating system/ABI identification */ |
Definition at line 134 of file exec_elf.h.
#define EI_PAD 9 /* Start of padding bytes up to EI_NIDENT*/ |
Definition at line 136 of file exec_elf.h.
#define EI_VERSION 6 /* File version */ |
Definition at line 133 of file exec_elf.h.
#define ELF32_FSZ_ADDR 4 |
Definition at line 50 of file exec_elf.h.
#define ELF32_FSZ_HALF 2 |
Definition at line 58 of file exec_elf.h.
#define ELF32_FSZ_OFF 4 |
Definition at line 52 of file exec_elf.h.
#define ELF32_FSZ_SWORD 4 |
Definition at line 54 of file exec_elf.h.
#define ELF32_FSZ_WORD 4 |
Definition at line 56 of file exec_elf.h.
#define ELF32_R_INFO | ( | sym, | |
type | |||
) | (((sym) << 8) + (unsigned char)(type)) |
Definition at line 426 of file exec_elf.h.
#define ELF32_R_SYM | ( | info | ) | ((info) >> 8) |
Definition at line 424 of file exec_elf.h.
#define ELF32_R_TYPE | ( | info | ) | ((info) & 0xff) |
Definition at line 425 of file exec_elf.h.
#define ELF32_ST_BIND | ( | info | ) | ((Elf32_Word)(info) >> 4) |
Definition at line 381 of file exec_elf.h.
#define ELF32_ST_INFO | ( | bind, | |
type | |||
) | ((Elf_Byte)(((bind) << 4) | ((type) & 0xf))) |
Definition at line 383 of file exec_elf.h.
#define ELF32_ST_TYPE | ( | info | ) | ((Elf32_Word)(info) & 0xf) |
Definition at line 382 of file exec_elf.h.
#define ELF64_FSZ_ADDR 8 |
Definition at line 61 of file exec_elf.h.
#define ELF64_FSZ_HALF 4 |
Definition at line 83 of file exec_elf.h.
#define ELF64_FSZ_OFF 8 |
Definition at line 63 of file exec_elf.h.
#define ELF64_FSZ_QUARTER 2 |
Definition at line 85 of file exec_elf.h.
#define ELF64_FSZ_SHALF 4 |
Definition at line 65 of file exec_elf.h.
#define ELF64_FSZ_SWORD 8 |
Definition at line 74 of file exec_elf.h.
#define ELF64_FSZ_WORD 8 |
Definition at line 76 of file exec_elf.h.
#define ELF64_FSZ_XWORD 8 |
Definition at line 81 of file exec_elf.h.
#define ELF64_FSZ_XWORD 8 |
Definition at line 81 of file exec_elf.h.
#define ELF64_R_INFO | ( | sym, | |
type | |||
) | (((sym) << 32) + (type)) |
Definition at line 442 of file exec_elf.h.
#define ELF64_R_SYM | ( | info | ) | ((info) >> 32) |
Definition at line 440 of file exec_elf.h.
#define ELF64_R_TYPE | ( | info | ) | ((info) & 0xffffffff) |
Definition at line 441 of file exec_elf.h.
#define ELF64_ST_BIND | ( | info | ) | ((Elf64_Xword)(info) >> 4) |
Definition at line 385 of file exec_elf.h.
#define ELF64_ST_INFO | ( | bind, | |
type | |||
) | ((Elf_Byte)(((bind) << 4) | ((type) & 0xf))) |
Definition at line 387 of file exec_elf.h.
#define ELF64_ST_TYPE | ( | info | ) | ((Elf64_Xword)(info) & 0xf) |
Definition at line 386 of file exec_elf.h.
#define ELF_NIDENT 16 |
Definition at line 90 of file exec_elf.h.
#define ELF_NOTE_GNU_DESCSZ 4 |
Definition at line 584 of file exec_elf.h.
#define ELF_NOTE_GNU_NAME "GNU\0" |
Definition at line 586 of file exec_elf.h.
#define ELF_NOTE_GNU_NAMESZ 4 |
Definition at line 583 of file exec_elf.h.
#define ELF_NOTE_GNU_OSLINUX (u_int32_t)0x01000000 |
Definition at line 590 of file exec_elf.h.
#define ELF_NOTE_GNU_OSMACH (u_int32_t)0x00000000 |
Definition at line 591 of file exec_elf.h.
#define ELF_NOTE_GNU_OSMASK (u_int32_t)0xff000000 |
Definition at line 589 of file exec_elf.h.
#define ELF_NOTE_NETBSD_DESCSZ 4 |
Definition at line 578 of file exec_elf.h.
#define ELF_NOTE_NETBSD_NAME "NetBSD\0\0" |
Definition at line 580 of file exec_elf.h.
#define ELF_NOTE_NETBSD_NAMESZ 7 |
Definition at line 577 of file exec_elf.h.
#define ELF_NOTE_NETBSD_TYPE_EMULNAME 2 |
Definition at line 574 of file exec_elf.h.
#define ELF_NOTE_NETBSD_TYPE_OSVERSION ELF_NOTE_TYPE_OSVERSION |
Definition at line 571 of file exec_elf.h.
#define ELF_NOTE_TYPE_OSVERSION 1 |
Definition at line 568 of file exec_elf.h.
#define ELF_SYM_UNDEFINED 0 |
Definition at line 354 of file exec_elf.h.
#define ELFCLASS32 1 /* 32-bit objects */ |
Definition at line 148 of file exec_elf.h.
#define ELFCLASS64 2 /* 64-bit objects */ |
Definition at line 149 of file exec_elf.h.
#define ELFCLASSNONE 0 /* Invalid class */ |
Definition at line 147 of file exec_elf.h.
#define ELFCLASSNUM 3 |
Definition at line 150 of file exec_elf.h.
#define ELFDATA2LSB 1 /* 2's complement values, LSB first */ |
Definition at line 154 of file exec_elf.h.
#define ELFDATA2MSB 2 /* 2's complement values, MSB first */ |
Definition at line 155 of file exec_elf.h.
#define ELFDATANONE 0 /* Invalid data encoding */ |
Definition at line 153 of file exec_elf.h.
#define ELFMAG "\177ELF" |
Definition at line 143 of file exec_elf.h.
#define ELFMAG0 0x7f |
Definition at line 139 of file exec_elf.h.
#define ELFMAG1 'E' |
Definition at line 140 of file exec_elf.h.
#define ELFMAG2 'L' |
Definition at line 141 of file exec_elf.h.
#define ELFMAG3 'F' |
Definition at line 142 of file exec_elf.h.
#define ELFOSABI_HPUX 1 /* HP-UX operating system */ |
Definition at line 164 of file exec_elf.h.
#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ |
Definition at line 165 of file exec_elf.h.
#define ELFOSABI_SYSV 0 /* UNIX System V ABI */ |
Definition at line 163 of file exec_elf.h.
#define EM_386 3 /* Intel 80386 */ |
Definition at line 184 of file exec_elf.h.
#define EM_486 6 /* Intel 80486 */ |
Definition at line 187 of file exec_elf.h.
#define EM_68HC12 53 /* Motorola MC68HC12 */ |
Definition at line 217 of file exec_elf.h.
#define EM_68K 4 /* Motorola 68000 */ |
Definition at line 185 of file exec_elf.h.
#define EM_860 7 /* Intel 80860 */ |
Definition at line 188 of file exec_elf.h.
#define EM_88K 5 /* Motorola 88000 */ |
Definition at line 186 of file exec_elf.h.
#define EM_960 19 /* Intel 80960 */ |
Definition at line 197 of file exec_elf.h.
#define EM_ALPHA 41 /* DIGITAL Alpha */ |
Definition at line 205 of file exec_elf.h.
#define EM_ALPHA_EXP 36902 /* used by NetBSD/alpha; obsolete */ |
Definition at line 222 of file exec_elf.h.
#define EM_AMD64 62 /* AMD64 (GXemul addition) */ |
Definition at line 218 of file exec_elf.h.
#define EM_ARC 45 /* Argonaut RISC Core */ |
Definition at line 209 of file exec_elf.h.
#define EM_ARM 40 /* Advanced RISC Machines ARM */ |
Definition at line 204 of file exec_elf.h.
#define EM_AVR 83 /* Atmel AVR (GXemul addition) */ |
Definition at line 220 of file exec_elf.h.
#define EM_COLDFIRE 52 /* Motorola Coldfire */ |
Definition at line 216 of file exec_elf.h.
#define EM_FR20 37 /* Fujitsu FR20 */ |
Definition at line 201 of file exec_elf.h.
#define EM_H8_300 46 /* Hitachi H8/300 */ |
Definition at line 210 of file exec_elf.h.
#define EM_H8_300H 47 /* Hitachi H8/300H */ |
Definition at line 211 of file exec_elf.h.
#define EM_H8_500 49 /* Hitachi H8/500 */ |
Definition at line 213 of file exec_elf.h.
#define EM_H8S 48 /* Hitachi H8S */ |
Definition at line 212 of file exec_elf.h.
#define EM_IA_64 50 /* Intel Merced Processor */ |
Definition at line 214 of file exec_elf.h.
#define EM_M32 1 /* AT&T WE 32100 */ |
Definition at line 182 of file exec_elf.h.
#define EM_M32R 88 /* Renesas M32R (GXemul addition) */ |
Definition at line 221 of file exec_elf.h.
#define EM_MIPS 8 /* MIPS I Architecture */ |
Definition at line 189 of file exec_elf.h.
#define EM_MIPS_RS3_LE 10 /* MIPS RS3000 Little-endian */ |
Definition at line 191 of file exec_elf.h.
#define EM_MIPS_X 51 /* Stanford MIPS-X */ |
Definition at line 215 of file exec_elf.h.
#define EM_NCUBE 16 /* NCube XXX reserved */ |
Definition at line 194 of file exec_elf.h.
#define EM_NONE 0 /* No machine */ |
Definition at line 181 of file exec_elf.h.
#define EM_NUM 36903 |
Definition at line 223 of file exec_elf.h.
#define EM_PARISC 15 /* Hewlett-Packard PA-RISC */ |
Definition at line 193 of file exec_elf.h.
#define EM_PPC 20 /* PowerPC */ |
Definition at line 198 of file exec_elf.h.
#define EM_PPC64 21 /* PowerPC 64-bit (GXemul addition) */ |
Definition at line 199 of file exec_elf.h.
#define EM_RCE 39 /* Motorola RCE */ |
Definition at line 203 of file exec_elf.h.
#define EM_RH32 38 /* TRW RH-32 */ |
Definition at line 202 of file exec_elf.h.
#define EM_RS6000 11 /* IBM RS/6000 XXX reserved */ |
Definition at line 192 of file exec_elf.h.
#define EM_S370 9 /* Amdahl UTS on System/370 */ |
Definition at line 190 of file exec_elf.h.
#define EM_SH 42 /* Hitachi Super-H */ |
Definition at line 206 of file exec_elf.h.
#define EM_SPARC 2 /* SPARC */ |
Definition at line 183 of file exec_elf.h.
#define EM_SPARC32PLUS 18 /* Enhanced instruction set SPARC */ |
Definition at line 196 of file exec_elf.h.
#define EM_SPARCV9 43 /* SPARC Version 9 */ |
Definition at line 207 of file exec_elf.h.
#define EM_TRICORE 44 /* Siemens Tricore */ |
Definition at line 208 of file exec_elf.h.
#define EM_V800 36 /* NEC V800 */ |
Definition at line 200 of file exec_elf.h.
#define EM_VAX 75 /* DIGITAL VAX */ |
Definition at line 219 of file exec_elf.h.
#define EM_VPP500 17 /* Fujitsu VPP500 */ |
Definition at line 195 of file exec_elf.h.
#define ET_CORE 4 /* Core file */ |
Definition at line 172 of file exec_elf.h.
#define ET_DYN 3 /* Shared object file */ |
Definition at line 171 of file exec_elf.h.
#define ET_EXEC 2 /* Executable file */ |
Definition at line 170 of file exec_elf.h.
#define ET_HIOS 0xfeff |
Definition at line 176 of file exec_elf.h.
#define ET_HIPROC 0xffff |
Definition at line 178 of file exec_elf.h.
#define ET_LOOS 0xfe00 /* Operating system specific range */ |
Definition at line 175 of file exec_elf.h.
#define ET_LOPROC 0xff00 /* Processor-specific range */ |
Definition at line 177 of file exec_elf.h.
#define ET_NONE 0 /* No file type */ |
Definition at line 168 of file exec_elf.h.
#define ET_NUM 5 |
Definition at line 173 of file exec_elf.h.
#define ET_REL 1 /* Relocatable file */ |
Definition at line 169 of file exec_elf.h.
#define EV_CURRENT 1 /* Current version */ |
Definition at line 159 of file exec_elf.h.
#define EV_NONE 0 /* Invalid version */ |
Definition at line 158 of file exec_elf.h.
#define EV_NUM 2 |
Definition at line 160 of file exec_elf.h.
#define PF_MASKOS 0x0ff00000 /* Opersting system specific values */ |
Definition at line 265 of file exec_elf.h.
#define PF_MASKPROC 0xf0000000 /* Processor-specific values */ |
Definition at line 266 of file exec_elf.h.
#define PF_R 0x4 /* Segment is readable */ |
Definition at line 261 of file exec_elf.h.
#define PF_W 0x2 /* Segment is writable */ |
Definition at line 262 of file exec_elf.h.
#define PF_X 0x1 /* Segment is executable */ |
Definition at line 263 of file exec_elf.h.
#define PT_DYNAMIC 2 /* Dynamic linking information */ |
Definition at line 253 of file exec_elf.h.
#define PT_HIPROC 0x7fffffff |
Definition at line 269 of file exec_elf.h.
#define PT_INTERP 3 /* Program interpreter */ |
Definition at line 254 of file exec_elf.h.
#define PT_LOAD 1 /* Loadable program segment */ |
Definition at line 252 of file exec_elf.h.
#define PT_LOPROC 0x70000000 /* Processor-specific range */ |
Definition at line 268 of file exec_elf.h.
#define PT_MIPS_REGINFO 0x70000000 |
Definition at line 271 of file exec_elf.h.
#define PT_NOTE 4 /* Auxiliary information */ |
Definition at line 255 of file exec_elf.h.
#define PT_NULL 0 /* Program header table entry unused */ |
Definition at line 251 of file exec_elf.h.
#define PT_NUM 7 |
Definition at line 258 of file exec_elf.h.
#define PT_PHDR 6 /* Entry for header table itself */ |
Definition at line 257 of file exec_elf.h.
#define PT_SHLIB 5 /* Reserved, unspecified semantics */ |
Definition at line 256 of file exec_elf.h.
#define SELFMAG 4 |
Definition at line 144 of file exec_elf.h.
#define SHF_ALLOC 0x2 /* Section occupies memory */ |
Definition at line 326 of file exec_elf.h.
#define SHF_EXECINSTR 0x4 /* Section contains executable insns */ |
Definition at line 327 of file exec_elf.h.
#define SHF_MASKOS 0x0f000000 /* Operating system specific values */ |
Definition at line 329 of file exec_elf.h.
#define SHF_MASKPROC 0xf0000000 /* Processor-specific values */ |
Definition at line 330 of file exec_elf.h.
#define SHF_WRITE 0x1 /* Section contains writable data */ |
Definition at line 325 of file exec_elf.h.
#define SHN_ABS 0xfff1 /* Absolute symbols */ |
Definition at line 395 of file exec_elf.h.
#define SHN_COMMON 0xfff2 /* Common symbols */ |
Definition at line 396 of file exec_elf.h.
#define SHN_HIOS 0xff3f |
Definition at line 402 of file exec_elf.h.
#define SHN_HIPROC 0xff1f |
Definition at line 400 of file exec_elf.h.
#define SHN_HIRESERVE 0xffff |
Definition at line 397 of file exec_elf.h.
#define SHN_LOOS 0xff20 /* Operating system specific range */ |
Definition at line 401 of file exec_elf.h.
#define SHN_LOPROC 0xff00 /* Processor-specific range */ |
Definition at line 399 of file exec_elf.h.
#define SHN_LORESERVE 0xff00 /* Reserved range */ |
Definition at line 394 of file exec_elf.h.
#define SHN_MIPS_ACOMMON 0xff00 |
Definition at line 404 of file exec_elf.h.
#define SHN_MIPS_DATA 0xff02 |
Definition at line 406 of file exec_elf.h.
#define SHN_MIPS_SCOMMON 0xff03 |
Definition at line 407 of file exec_elf.h.
#define SHN_MIPS_TEXT 0xff01 |
Definition at line 405 of file exec_elf.h.
#define SHN_UNDEF 0 /* Undefined section */ |
Definition at line 392 of file exec_elf.h.
#define SHT_DYNAMIC 6 |
Definition at line 309 of file exec_elf.h.
#define SHT_DYNSYM 11 |
Definition at line 314 of file exec_elf.h.
#define SHT_HASH 5 |
Definition at line 308 of file exec_elf.h.
#define SHT_HIOS 0x6fffffff |
Definition at line 318 of file exec_elf.h.
#define SHT_HIPROC 0x7fffffff |
Definition at line 320 of file exec_elf.h.
#define SHT_HIUSER 0xffffffff |
Definition at line 322 of file exec_elf.h.
#define SHT_LOOS 0x60000000 /* Operating system specific range */ |
Definition at line 317 of file exec_elf.h.
#define SHT_LOPROC 0x70000000 /* Processor-specific range */ |
Definition at line 319 of file exec_elf.h.
#define SHT_LOUSER 0x80000000 /* Application-specific range */ |
Definition at line 321 of file exec_elf.h.
#define SHT_NOBITS 8 |
Definition at line 311 of file exec_elf.h.
#define SHT_NOTE 7 |
Definition at line 310 of file exec_elf.h.
#define SHT_NULL 0 |
Definition at line 303 of file exec_elf.h.
#define SHT_NUM 12 |
Definition at line 315 of file exec_elf.h.
#define SHT_PROGBITS 1 |
Definition at line 304 of file exec_elf.h.
#define SHT_REL 9 |
Definition at line 312 of file exec_elf.h.
#define SHT_RELA 4 |
Definition at line 307 of file exec_elf.h.
#define SHT_SHLIB 10 |
Definition at line 313 of file exec_elf.h.
#define SHT_STRTAB 3 |
Definition at line 306 of file exec_elf.h.
#define SHT_SYMTAB 2 |
Definition at line 305 of file exec_elf.h.
#define STB_GLOBAL 1 /* global symbol */ |
Definition at line 358 of file exec_elf.h.
#define STB_HIOS 12 |
Definition at line 363 of file exec_elf.h.
#define STB_HIPROC 15 |
Definition at line 365 of file exec_elf.h.
#define STB_LOCAL 0 /* local symbol */ |
Definition at line 357 of file exec_elf.h.
#define STB_LOOS 10 /* Operating system specific range */ |
Definition at line 362 of file exec_elf.h.
#define STB_LOPROC 13 /* Processor-specific range */ |
Definition at line 364 of file exec_elf.h.
#define STB_NUM 3 |
Definition at line 360 of file exec_elf.h.
#define STB_WEAK 2 /* weakly defined global symbol */ |
Definition at line 359 of file exec_elf.h.
#define STT_FILE 4 /* Associated with a file name */ |
Definition at line 372 of file exec_elf.h.
#define STT_FUNC 2 /* Associated with a function */ |
Definition at line 370 of file exec_elf.h.
#define STT_HIOS 12 |
Definition at line 376 of file exec_elf.h.
#define STT_HIPROC 15 |
Definition at line 378 of file exec_elf.h.
#define STT_LOOS 10 /* Operating system specific range */ |
Definition at line 375 of file exec_elf.h.
#define STT_LOPROC 13 /* Processor-specific range */ |
Definition at line 377 of file exec_elf.h.
#define STT_NOTYPE 0 /* Type not specified */ |
Definition at line 368 of file exec_elf.h.
#define STT_NUM 5 |
Definition at line 373 of file exec_elf.h.
#define STT_OBJECT 1 /* Associated with a data object */ |
Definition at line 369 of file exec_elf.h.
#define STT_SECTION 3 /* Associated with a section */ |
Definition at line 371 of file exec_elf.h.
typedef uint32_t Elf32_Addr |
Definition at line 49 of file exec_elf.h.
typedef uint16_t Elf32_Half |
Definition at line 57 of file exec_elf.h.
typedef uint32_t Elf32_Off |
Definition at line 51 of file exec_elf.h.
typedef int32_t Elf32_Sword |
Definition at line 53 of file exec_elf.h.
typedef uint32_t Elf32_Word |
Definition at line 55 of file exec_elf.h.
typedef uint64_t Elf64_Addr |
Definition at line 60 of file exec_elf.h.
typedef uint32_t Elf64_Half |
Definition at line 82 of file exec_elf.h.
typedef uint64_t Elf64_Off |
Definition at line 62 of file exec_elf.h.
typedef uint16_t Elf64_Quarter |
Definition at line 84 of file exec_elf.h.
typedef int32_t Elf64_Shalf |
Definition at line 64 of file exec_elf.h.
typedef int64_t Elf64_Sword |
Definition at line 73 of file exec_elf.h.
typedef int64_t Elf64_Sxword |
Definition at line 78 of file exec_elf.h.
typedef uint64_t Elf64_Word |
Definition at line 75 of file exec_elf.h.
typedef uint64_t Elf64_Xword |
Definition at line 80 of file exec_elf.h.
typedef uint8_t Elf_Byte |
Definition at line 47 of file exec_elf.h.