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/user.h>
#include <skas.h>

Go to the source code of this file.

Macros

#define R_X86_64_NONE   0 /* No reloc */
 
#define R_X86_64_64   1 /* Direct 64 bit */
 
#define R_X86_64_PC32   2 /* PC relative 32 bit signed */
 
#define R_X86_64_GOT32   3 /* 32 bit GOT entry */
 
#define R_X86_64_PLT32   4 /* 32 bit PLT address */
 
#define R_X86_64_COPY   5 /* Copy symbol at runtime */
 
#define R_X86_64_GLOB_DAT   6 /* Create GOT entry */
 
#define R_X86_64_JUMP_SLOT   7 /* Create PLT entry */
 
#define R_X86_64_RELATIVE   8 /* Adjust by program base */
 
#define R_X86_64_GOTPCREL
 
#define R_X86_64_32   10 /* Direct 32 bit zero extended */
 
#define R_X86_64_32S   11 /* Direct 32 bit sign extended */
 
#define R_X86_64_16   12 /* Direct 16 bit zero extended */
 
#define R_X86_64_PC16   13 /* 16 bit sign extended pc relative */
 
#define R_X86_64_8   14 /* Direct 8 bit sign extended */
 
#define R_X86_64_PC8   15 /* 8 bit sign extended pc relative */
 
#define R_X86_64_NUM   16
 
#define elf_check_arch(x)   ((x)->e_machine == EM_X86_64)
 
#define ELF_CLASS   ELFCLASS64
 
#define ELF_DATA   ELFDATA2LSB
 
#define ELF_ARCH   EM_X86_64
 
#define ELF_PLAT_INIT(regs, load_addr)
 
#define ELF_CORE_COPY_REGS(pr_reg, _regs)
 
#define ELF_PLATFORM   "x86_64"
 
#define FIXADDR_USER_START   0
 
#define FIXADDR_USER_END   0
 
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES   1
 
#define AT_SYSINFO_EHDR   33
 
#define ARCH_DLINFO   NEW_AUX_ENT(AT_SYSINFO_EHDR, um_vdso_addr)
 
#define ELF_NGREG   (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
 
#define task_pt_regs(t)   (&(t)->thread.regs)
 
#define ELF_CORE_COPY_FPREGS(t, fpu)   elf_core_copy_fpregs(t, fpu)
 
#define ELF_EXEC_PAGESIZE   4096
 
#define ELF_ET_DYN_BASE   (2 * TASK_SIZE / 3)
 
#define ELF_HWCAP   (elf_aux_hwcap)
 
#define SET_PERSONALITY(ex)   do ; while(0)
 
#define __HAVE_ARCH_GATE_AREA   1
 

Typedefs

typedef unsigned long elf_greg_t
 
typedef elf_greg_t elf_gregset_t [ELF_NGREG]
 
typedef struct user_i387_struct elf_fpregset_t
 

Functions

int arch_setup_additional_pages (struct linux_binprm *bprm, int uses_interp)
 
int elf_core_copy_fpregs (struct task_struct *t, elf_fpregset_t *fpu)
 

Variables

unsigned long um_vdso_addr
 
long elf_aux_hwcap
 

Macro Definition Documentation

#define __HAVE_ARCH_GATE_AREA   1

Definition at line 218 of file elf.h.

#define ARCH_DLINFO   NEW_AUX_ENT(AT_SYSINFO_EHDR, um_vdso_addr)

Definition at line 191 of file elf.h.

#define ARCH_HAS_SETUP_ADDITIONAL_PAGES   1

Definition at line 184 of file elf.h.

#define AT_SYSINFO_EHDR   33

Definition at line 190 of file elf.h.

#define ELF_ARCH   EM_X86_64

Definition at line 129 of file elf.h.

#define elf_check_arch (   x)    ((x)->e_machine == EM_X86_64)

Definition at line 124 of file elf.h.

#define ELF_CLASS   ELFCLASS64

Definition at line 127 of file elf.h.

#define ELF_CORE_COPY_FPREGS (   t,
  fpu 
)    elf_core_copy_fpregs(t, fpu)

Definition at line 208 of file elf.h.

#define ELF_CORE_COPY_REGS (   pr_reg,
  _regs 
)
Value:
(pr_reg)[0] = (_regs)->regs.gp[0]; \
(pr_reg)[1] = (_regs)->regs.gp[1]; \
(pr_reg)[2] = (_regs)->regs.gp[2]; \
(pr_reg)[3] = (_regs)->regs.gp[3]; \
(pr_reg)[4] = (_regs)->regs.gp[4]; \
(pr_reg)[5] = (_regs)->regs.gp[5]; \
(pr_reg)[6] = (_regs)->regs.gp[6]; \
(pr_reg)[7] = (_regs)->regs.gp[7]; \
(pr_reg)[8] = (_regs)->regs.gp[8]; \
(pr_reg)[9] = (_regs)->regs.gp[9]; \
(pr_reg)[10] = (_regs)->regs.gp[10]; \
(pr_reg)[11] = (_regs)->regs.gp[11]; \
(pr_reg)[12] = (_regs)->regs.gp[12]; \
(pr_reg)[13] = (_regs)->regs.gp[13]; \
(pr_reg)[14] = (_regs)->regs.gp[14]; \
(pr_reg)[15] = (_regs)->regs.gp[15]; \
(pr_reg)[16] = (_regs)->regs.gp[16]; \
(pr_reg)[17] = (_regs)->regs.gp[17]; \
(pr_reg)[18] = (_regs)->regs.gp[18]; \
(pr_reg)[19] = (_regs)->regs.gp[19]; \
(pr_reg)[20] = (_regs)->regs.gp[20]; \
(pr_reg)[21] = current->thread.arch.fs; \
(pr_reg)[22] = 0; \
(pr_reg)[23] = 0; \
(pr_reg)[24] = 0; \
(pr_reg)[25] = 0; \
(pr_reg)[26] = 0;

Definition at line 149 of file elf.h.

#define ELF_DATA   ELFDATA2LSB

Definition at line 128 of file elf.h.

#define ELF_ET_DYN_BASE   (2 * TASK_SIZE / 3)

Definition at line 212 of file elf.h.

#define ELF_EXEC_PAGESIZE   4096

Definition at line 210 of file elf.h.

#define ELF_HWCAP   (elf_aux_hwcap)

Definition at line 215 of file elf.h.

#define ELF_NGREG   (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))

Definition at line 197 of file elf.h.

#define ELF_PLAT_INIT (   regs,
  load_addr 
)
Value:
do { \
PT_REGS_BX(regs) = 0; \
PT_REGS_CX(regs) = 0; \
PT_REGS_DX(regs) = 0; \
PT_REGS_SI(regs) = 0; \
PT_REGS_DI(regs) = 0; \
PT_REGS_BP(regs) = 0; \
PT_REGS_AX(regs) = 0; \
PT_REGS_R8(regs) = 0; \
PT_REGS_R9(regs) = 0; \
PT_REGS_R10(regs) = 0; \
PT_REGS_R11(regs) = 0; \
PT_REGS_R12(regs) = 0; \
PT_REGS_R13(regs) = 0; \
PT_REGS_R14(regs) = 0; \
PT_REGS_R15(regs) = 0; \
} while (0)

Definition at line 131 of file elf.h.

#define ELF_PLATFORM   "x86_64"

Definition at line 178 of file elf.h.

#define FIXADDR_USER_END   0

Definition at line 182 of file elf.h.

#define FIXADDR_USER_START   0

Definition at line 181 of file elf.h.

#define R_X86_64_16   12 /* Direct 16 bit zero extended */

Definition at line 114 of file elf.h.

#define R_X86_64_32   10 /* Direct 32 bit zero extended */

Definition at line 112 of file elf.h.

#define R_X86_64_32S   11 /* Direct 32 bit sign extended */

Definition at line 113 of file elf.h.

#define R_X86_64_64   1 /* Direct 64 bit */

Definition at line 103 of file elf.h.

#define R_X86_64_8   14 /* Direct 8 bit sign extended */

Definition at line 116 of file elf.h.

#define R_X86_64_COPY   5 /* Copy symbol at runtime */

Definition at line 107 of file elf.h.

#define R_X86_64_GLOB_DAT   6 /* Create GOT entry */

Definition at line 108 of file elf.h.

#define R_X86_64_GOT32   3 /* 32 bit GOT entry */

Definition at line 105 of file elf.h.

#define R_X86_64_GOTPCREL
Value:
9 /* 32 bit signed pc relative
offset to GOT */

Definition at line 111 of file elf.h.

#define R_X86_64_JUMP_SLOT   7 /* Create PLT entry */

Definition at line 109 of file elf.h.

#define R_X86_64_NONE   0 /* No reloc */

Definition at line 102 of file elf.h.

#define R_X86_64_NUM   16

Definition at line 119 of file elf.h.

#define R_X86_64_PC16   13 /* 16 bit sign extended pc relative */

Definition at line 115 of file elf.h.

#define R_X86_64_PC32   2 /* PC relative 32 bit signed */

Definition at line 104 of file elf.h.

#define R_X86_64_PC8   15 /* 8 bit sign extended pc relative */

Definition at line 117 of file elf.h.

#define R_X86_64_PLT32   4 /* 32 bit PLT address */

Definition at line 106 of file elf.h.

#define R_X86_64_RELATIVE   8 /* Adjust by program base */

Definition at line 110 of file elf.h.

#define SET_PERSONALITY (   ex)    do ; while(0)

Definition at line 217 of file elf.h.

#define task_pt_regs (   t)    (&(t)->thread.regs)

Definition at line 202 of file elf.h.

Typedef Documentation

Definition at line 200 of file elf.h.

typedef unsigned long elf_greg_t

Definition at line 195 of file elf.h.

Definition at line 198 of file elf.h.

Function Documentation

int arch_setup_additional_pages ( struct linux_binprm bprm,
int  uses_interp 
)

Definition at line 152 of file vdso.c.

int elf_core_copy_fpregs ( struct task_struct t,
elf_fpregset_t fpu 
)

Definition at line 441 of file process.c.

Variable Documentation

long elf_aux_hwcap

Definition at line 23 of file main.c.

unsigned long um_vdso_addr

Definition at line 16 of file vma.c.