Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Functions | Variables
elf.h File Reference
#include <asm/ptrace.h>
#include <asm/user.h>
#include <linux/sched.h>
#include <asm/mmu_context.h>
#include <asm/vdso.h>

Go to the source code of this file.

Macros

#define R_390_NONE   0 /* No reloc. */
 
#define R_390_8   1 /* Direct 8 bit. */
 
#define R_390_12   2 /* Direct 12 bit. */
 
#define R_390_16   3 /* Direct 16 bit. */
 
#define R_390_32   4 /* Direct 32 bit. */
 
#define R_390_PC32   5 /* PC relative 32 bit. */
 
#define R_390_GOT12   6 /* 12 bit GOT offset. */
 
#define R_390_GOT32   7 /* 32 bit GOT offset. */
 
#define R_390_PLT32   8 /* 32 bit PC relative PLT address. */
 
#define R_390_COPY   9 /* Copy symbol at runtime. */
 
#define R_390_GLOB_DAT   10 /* Create GOT entry. */
 
#define R_390_JMP_SLOT   11 /* Create PLT entry. */
 
#define R_390_RELATIVE   12 /* Adjust by program base. */
 
#define R_390_GOTOFF32   13 /* 32 bit offset to GOT. */
 
#define R_390_GOTPC   14 /* 32 bit PC rel. offset to GOT. */
 
#define R_390_GOT16   15 /* 16 bit GOT offset. */
 
#define R_390_PC16   16 /* PC relative 16 bit. */
 
#define R_390_PC16DBL   17 /* PC relative 16 bit shifted by 1. */
 
#define R_390_PLT16DBL   18 /* 16 bit PC rel. PLT shifted by 1. */
 
#define R_390_PC32DBL   19 /* PC relative 32 bit shifted by 1. */
 
#define R_390_PLT32DBL   20 /* 32 bit PC rel. PLT shifted by 1. */
 
#define R_390_GOTPCDBL   21 /* 32 bit PC rel. GOT shifted by 1. */
 
#define R_390_64   22 /* Direct 64 bit. */
 
#define R_390_PC64   23 /* PC relative 64 bit. */
 
#define R_390_GOT64   24 /* 64 bit GOT offset. */
 
#define R_390_PLT64   25 /* 64 bit PC relative PLT address. */
 
#define R_390_GOTENT   26 /* 32 bit PC rel. to GOT entry >> 1. */
 
#define R_390_GOTOFF16   27 /* 16 bit offset to GOT. */
 
#define R_390_GOTOFF64   28 /* 64 bit offset to GOT. */
 
#define R_390_GOTPLT12   29 /* 12 bit offset to jump slot. */
 
#define R_390_GOTPLT16   30 /* 16 bit offset to jump slot. */
 
#define R_390_GOTPLT32   31 /* 32 bit offset to jump slot. */
 
#define R_390_GOTPLT64   32 /* 64 bit offset to jump slot. */
 
#define R_390_GOTPLTENT   33 /* 32 bit rel. offset to jump slot. */
 
#define R_390_PLTOFF16   34 /* 16 bit offset from GOT to PLT. */
 
#define R_390_PLTOFF32   35 /* 32 bit offset from GOT to PLT. */
 
#define R_390_PLTOFF64   36 /* 16 bit offset from GOT to PLT. */
 
#define R_390_TLS_LOAD   37 /* Tag for load insn in TLS code. */
 
#define R_390_TLS_GDCALL
 
#define R_390_TLS_LDCALL
 
#define R_390_TLS_GD32
 
#define R_390_TLS_GD64
 
#define R_390_TLS_GOTIE12
 
#define R_390_TLS_GOTIE32
 
#define R_390_TLS_GOTIE64
 
#define R_390_TLS_LDM32
 
#define R_390_TLS_LDM64
 
#define R_390_TLS_IE32
 
#define R_390_TLS_IE64
 
#define R_390_TLS_IEENT
 
#define R_390_TLS_LE32
 
#define R_390_TLS_LE64
 
#define R_390_TLS_LDO32
 
#define R_390_TLS_LDO64
 
#define R_390_TLS_DTPMOD   54 /* ID of module containing symbol. */
 
#define R_390_TLS_DTPOFF   55 /* Offset in TLS block. */
 
#define R_390_TLS_TPOFF
 
#define R_390_20   57 /* Direct 20 bit. */
 
#define R_390_GOT20   58 /* 20 bit GOT offset. */
 
#define R_390_GOTPLT20   59 /* 20 bit offset to jump slot. */
 
#define R_390_TLS_GOTIE20
 
#define R_390_NUM   61
 
#define HWCAP_S390_ESAN3   1
 
#define HWCAP_S390_ZARCH   2
 
#define HWCAP_S390_STFLE   4
 
#define HWCAP_S390_MSA   8
 
#define HWCAP_S390_LDISP   16
 
#define HWCAP_S390_EIMM   32
 
#define HWCAP_S390_DFP   64
 
#define HWCAP_S390_HPAGE   128
 
#define HWCAP_S390_ETF3EH   256
 
#define HWCAP_S390_HIGH_GPRS   512
 
#define HWCAP_S390_TE   1024
 
#define ELF_CLASS   ELFCLASS32
 
#define ELF_DATA   ELFDATA2MSB
 
#define ELF_ARCH   EM_S390
 
#define elf_check_arch(x)
 
#define compat_elf_check_arch(x)
 
#define compat_start_thread   start_thread31
 
#define ELF_PLAT_INIT(_r, load_addr)
 
#define CORE_DUMP_USE_REGSET
 
#define ELF_EXEC_PAGESIZE   4096
 
#define ELF_ET_DYN_BASE   (randomize_et_dyn(STACK_TOP / 3 * 2))
 
#define ELF_HWCAP   (elf_hwcap)
 
#define ELF_PLATFORM_SIZE   8
 
#define ELF_PLATFORM   (elf_platform)
 
#define SET_PERSONALITY(ex)   set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
 
#define STACK_RND_MASK   0x7ffUL
 
#define ARCH_DLINFO
 
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES   1
 
#define arch_randomize_brk   arch_randomize_brk
 

Typedefs

typedef s390_fp_regs elf_fpregset_t
 
typedef s390_regs elf_gregset_t
 
typedef s390_fp_regs compat_elf_fpregset_t
 
typedef s390_compat_regs compat_elf_gregset_t
 

Functions

unsigned long randomize_et_dyn (unsigned long base)
 
int arch_setup_additional_pages (struct linux_binprm *, int)
 
unsigned long arch_randomize_brk (struct mm_struct *mm)
 
voidfill_cpu_elf_notes (void *ptr, struct save_area *sa)
 

Variables

unsigned int vdso_enabled
 
unsigned long elf_hwcap
 
char elf_platform []
 

Macro Definition Documentation

#define ARCH_DLINFO
Value:
do { \
if (vdso_enabled) \
NEW_AUX_ENT(AT_SYSINFO_EHDR, \
(unsigned long)current->mm->context.vdso_base); \
} while (0)

Definition at line 183 of file elf.h.

#define ARCH_HAS_SETUP_ADDITIONAL_PAGES   1

Definition at line 192 of file elf.h.

#define arch_randomize_brk   arch_randomize_brk

Definition at line 196 of file elf.h.

#define compat_elf_check_arch (   x)
Value:
(((x)->e_machine == EM_S390 || (x)->e_machine == EM_S390_OLD) \
&& (x)->e_ident[EI_CLASS] == ELF_CLASS)

Definition at line 125 of file elf.h.

#define compat_start_thread   start_thread31

Definition at line 128 of file elf.h.

#define CORE_DUMP_USE_REGSET

Definition at line 137 of file elf.h.

#define ELF_ARCH   EM_S390

Definition at line 97 of file elf.h.

#define elf_check_arch (   x)
Value:
(((x)->e_machine == EM_S390 || (x)->e_machine == EM_S390_OLD) \
&& (x)->e_ident[EI_CLASS] == ELF_CLASS)

Definition at line 122 of file elf.h.

#define ELF_CLASS   ELFCLASS32

Definition at line 92 of file elf.h.

#define ELF_DATA   ELFDATA2MSB

Definition at line 96 of file elf.h.

#define ELF_ET_DYN_BASE   (randomize_et_dyn(STACK_TOP / 3 * 2))

Definition at line 146 of file elf.h.

#define ELF_EXEC_PAGESIZE   4096

Definition at line 138 of file elf.h.

#define ELF_HWCAP   (elf_hwcap)

Definition at line 152 of file elf.h.

#define ELF_PLAT_INIT (   _r,
  load_addr 
)
Value:
do { \
_r->gprs[14] = 0; \
} while (0)

Definition at line 132 of file elf.h.

#define ELF_PLATFORM   (elf_platform)

Definition at line 163 of file elf.h.

#define ELF_PLATFORM_SIZE   8

Definition at line 161 of file elf.h.

#define HWCAP_S390_DFP   64

Definition at line 82 of file elf.h.

#define HWCAP_S390_EIMM   32

Definition at line 81 of file elf.h.

#define HWCAP_S390_ESAN3   1

Definition at line 76 of file elf.h.

#define HWCAP_S390_ETF3EH   256

Definition at line 84 of file elf.h.

#define HWCAP_S390_HIGH_GPRS   512

Definition at line 85 of file elf.h.

#define HWCAP_S390_HPAGE   128

Definition at line 83 of file elf.h.

#define HWCAP_S390_LDISP   16

Definition at line 80 of file elf.h.

#define HWCAP_S390_MSA   8

Definition at line 79 of file elf.h.

#define HWCAP_S390_STFLE   4

Definition at line 78 of file elf.h.

#define HWCAP_S390_TE   1024

Definition at line 86 of file elf.h.

#define HWCAP_S390_ZARCH   2

Definition at line 77 of file elf.h.

#define R_390_12   2 /* Direct 12 bit. */

Definition at line 13 of file elf.h.

#define R_390_16   3 /* Direct 16 bit. */

Definition at line 14 of file elf.h.

#define R_390_20   57 /* Direct 20 bit. */

Definition at line 68 of file elf.h.

#define R_390_32   4 /* Direct 32 bit. */

Definition at line 15 of file elf.h.

#define R_390_64   22 /* Direct 64 bit. */

Definition at line 33 of file elf.h.

#define R_390_8   1 /* Direct 8 bit. */

Definition at line 12 of file elf.h.

#define R_390_COPY   9 /* Copy symbol at runtime. */

Definition at line 20 of file elf.h.

#define R_390_GLOB_DAT   10 /* Create GOT entry. */

Definition at line 21 of file elf.h.

#define R_390_GOT12   6 /* 12 bit GOT offset. */

Definition at line 17 of file elf.h.

#define R_390_GOT16   15 /* 16 bit GOT offset. */

Definition at line 26 of file elf.h.

#define R_390_GOT20   58 /* 20 bit GOT offset. */

Definition at line 69 of file elf.h.

#define R_390_GOT32   7 /* 32 bit GOT offset. */

Definition at line 18 of file elf.h.

#define R_390_GOT64   24 /* 64 bit GOT offset. */

Definition at line 35 of file elf.h.

#define R_390_GOTENT   26 /* 32 bit PC rel. to GOT entry >> 1. */

Definition at line 37 of file elf.h.

#define R_390_GOTOFF16   27 /* 16 bit offset to GOT. */

Definition at line 38 of file elf.h.

#define R_390_GOTOFF32   13 /* 32 bit offset to GOT. */

Definition at line 24 of file elf.h.

#define R_390_GOTOFF64   28 /* 64 bit offset to GOT. */

Definition at line 39 of file elf.h.

#define R_390_GOTPC   14 /* 32 bit PC rel. offset to GOT. */

Definition at line 25 of file elf.h.

#define R_390_GOTPCDBL   21 /* 32 bit PC rel. GOT shifted by 1. */

Definition at line 32 of file elf.h.

#define R_390_GOTPLT12   29 /* 12 bit offset to jump slot. */

Definition at line 40 of file elf.h.

#define R_390_GOTPLT16   30 /* 16 bit offset to jump slot. */

Definition at line 41 of file elf.h.

#define R_390_GOTPLT20   59 /* 20 bit offset to jump slot. */

Definition at line 70 of file elf.h.

#define R_390_GOTPLT32   31 /* 32 bit offset to jump slot. */

Definition at line 42 of file elf.h.

#define R_390_GOTPLT64   32 /* 64 bit offset to jump slot. */

Definition at line 43 of file elf.h.

#define R_390_GOTPLTENT   33 /* 32 bit rel. offset to jump slot. */

Definition at line 44 of file elf.h.

#define R_390_JMP_SLOT   11 /* Create PLT entry. */

Definition at line 22 of file elf.h.

#define R_390_NONE   0 /* No reloc. */

Definition at line 11 of file elf.h.

#define R_390_NUM   61

Definition at line 73 of file elf.h.

#define R_390_PC16   16 /* PC relative 16 bit. */

Definition at line 27 of file elf.h.

#define R_390_PC16DBL   17 /* PC relative 16 bit shifted by 1. */

Definition at line 28 of file elf.h.

#define R_390_PC32   5 /* PC relative 32 bit. */

Definition at line 16 of file elf.h.

#define R_390_PC32DBL   19 /* PC relative 32 bit shifted by 1. */

Definition at line 30 of file elf.h.

#define R_390_PC64   23 /* PC relative 64 bit. */

Definition at line 34 of file elf.h.

#define R_390_PLT16DBL   18 /* 16 bit PC rel. PLT shifted by 1. */

Definition at line 29 of file elf.h.

#define R_390_PLT32   8 /* 32 bit PC relative PLT address. */

Definition at line 19 of file elf.h.

#define R_390_PLT32DBL   20 /* 32 bit PC rel. PLT shifted by 1. */

Definition at line 31 of file elf.h.

#define R_390_PLT64   25 /* 64 bit PC relative PLT address. */

Definition at line 36 of file elf.h.

#define R_390_PLTOFF16   34 /* 16 bit offset from GOT to PLT. */

Definition at line 45 of file elf.h.

#define R_390_PLTOFF32   35 /* 32 bit offset from GOT to PLT. */

Definition at line 46 of file elf.h.

#define R_390_PLTOFF64   36 /* 16 bit offset from GOT to PLT. */

Definition at line 47 of file elf.h.

#define R_390_RELATIVE   12 /* Adjust by program base. */

Definition at line 23 of file elf.h.

#define R_390_TLS_DTPMOD   54 /* ID of module containing symbol. */

Definition at line 65 of file elf.h.

#define R_390_TLS_DTPOFF   55 /* Offset in TLS block. */

Definition at line 66 of file elf.h.

#define R_390_TLS_GD32
Value:
40 /* Direct 32 bit for general dynamic
thread local data. */

Definition at line 51 of file elf.h.

#define R_390_TLS_GD64
Value:
41 /* Direct 64 bit for general dynamic
thread local data. */

Definition at line 52 of file elf.h.

#define R_390_TLS_GDCALL
Value:
38 /* Tag for function call in general
dynamic TLS code. */

Definition at line 49 of file elf.h.

#define R_390_TLS_GOTIE12
Value:
42 /* 12 bit GOT offset for static TLS
block offset. */

Definition at line 53 of file elf.h.

#define R_390_TLS_GOTIE20
Value:
60 /* 20 bit GOT offset for static TLS
block offset. */

Definition at line 71 of file elf.h.

#define R_390_TLS_GOTIE32
Value:
43 /* 32 bit GOT offset for static TLS
block offset. */

Definition at line 54 of file elf.h.

#define R_390_TLS_GOTIE64
Value:
44 /* 64 bit GOT offset for static TLS
block offset. */

Definition at line 55 of file elf.h.

#define R_390_TLS_IE32
Value:
47 /* 32 bit address of GOT entry for
negated static TLS block offset. */

Definition at line 58 of file elf.h.

#define R_390_TLS_IE64
Value:
48 /* 64 bit address of GOT entry for
negated static TLS block offset. */

Definition at line 59 of file elf.h.

#define R_390_TLS_IEENT
Value:
49 /* 32 bit rel. offset to GOT entry for
negated static TLS block offset. */

Definition at line 60 of file elf.h.

#define R_390_TLS_LDCALL
Value:
39 /* Tag for function call in local
dynamic TLS code. */

Definition at line 50 of file elf.h.

#define R_390_TLS_LDM32
Value:
45 /* Direct 32 bit for local dynamic
thread local data in LD code. */

Definition at line 56 of file elf.h.

#define R_390_TLS_LDM64
Value:
46 /* Direct 64 bit for local dynamic
thread local data in LD code. */

Definition at line 57 of file elf.h.

#define R_390_TLS_LDO32
Value:
52 /* 32 bit offset relative to TLS
block. */

Definition at line 63 of file elf.h.

#define R_390_TLS_LDO64
Value:
53 /* 64 bit offset relative to TLS
block. */

Definition at line 64 of file elf.h.

#define R_390_TLS_LE32
Value:
50 /* 32 bit negated offset relative to
static TLS block. */

Definition at line 61 of file elf.h.

#define R_390_TLS_LE64
Value:
51 /* 64 bit negated offset relative to
static TLS block. */

Definition at line 62 of file elf.h.

#define R_390_TLS_LOAD   37 /* Tag for load insn in TLS code. */

Definition at line 48 of file elf.h.

#define R_390_TLS_TPOFF
Value:
56 /* Negate offset in static TLS
block. */

Definition at line 67 of file elf.h.

#define SET_PERSONALITY (   ex)    set_personality(PER_LINUX | (current->personality & (~PER_MASK)))

Definition at line 166 of file elf.h.

#define STACK_RND_MASK   0x7ffUL

Definition at line 181 of file elf.h.

Typedef Documentation

Definition at line 109 of file elf.h.

Definition at line 110 of file elf.h.

Definition at line 106 of file elf.h.

Definition at line 107 of file elf.h.

Function Documentation

unsigned long arch_randomize_brk ( struct mm_struct mm)

Definition at line 454 of file process.c.

int arch_setup_additional_pages ( struct linux_binprm ,
int   
)

Definition at line 152 of file vdso.c.

void* fill_cpu_elf_notes ( void ptr,
struct save_area sa 
)

Definition at line 202 of file crash_dump.c.

unsigned long randomize_et_dyn ( unsigned long  base)

Definition at line 387 of file process.c.

Variable Documentation

unsigned long elf_hwcap

Definition at line 91 of file setup.c.

char elf_platform[]

Definition at line 133 of file setup.c.

unsigned int vdso_enabled

Definition at line 53 of file vdso.c.