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 21typedef unsigned long elf_greg_t; 22typedef 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)) 36typedef elf_greg_t elf_gregset_t[ELF_NGREG]; 37 38typedef 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