• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef __ASMARM_ELF_H
13 #define __ASMARM_ELF_H
14 
15 #include <asm/ptrace.h>
16 #include <asm/user.h>
17 #ifdef __KERNEL
18 #include <asm/procinfo.h>
19 #endif
20 
21 typedef unsigned long elf_greg_t;
22 typedef unsigned long elf_freg_t[3];
23 
24 #define EM_ARM 40
25 #define EF_ARM_APCS26 0x08
26 #define EF_ARM_SOFT_FLOAT 0x200
27 #define EF_ARM_EABI_MASK 0xFF000000
28 
29 #define R_ARM_NONE 0
30 #define R_ARM_PC24 1
31 #define R_ARM_ABS32 2
32 #define R_ARM_CALL 28
33 #define R_ARM_JUMP24 29
34 
35 #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
36 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
37 
38 typedef struct user_fp elf_fpregset_t;
39 
40 #define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) )
41 
42 #define ELF_CLASS ELFCLASS32
43 #ifdef __ARMEB__
44 #define ELF_DATA ELFDATA2MSB
45 #else
46 #define ELF_DATA ELFDATA2LSB
47 #endif
48 #define ELF_ARCH EM_ARM
49 
50 #define USE_ELF_CORE_DUMP
51 #define ELF_EXEC_PAGESIZE 4096
52 
53 #define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
54 
55 #define ELF_PLAT_INIT(_r, load_addr) (_r)->ARM_r0 = 0
56 
57 #define ELF_HWCAP (elf_hwcap)
58 
59 #define ELF_PLATFORM_SIZE 8
60 
61 #define ELF_PLATFORM (elf_platform)
62 
63 #endif
64