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