diff --git a/arch/arm/include/elf.h b/arch/arm/include/elf.h index fb87e2cb74a..e74fbf45920 100644 --- a/arch/arm/include/elf.h +++ b/arch/arm/include/elf.h @@ -37,8 +37,13 @@ * ELFDATA2MSB (big endian) */ -#if 0 /* Defined in include/elf32.h */ -#define EM_ARM 40 +#define EM_ARCH EM_ARM +#define ELF_CLASS ELFCLASS32 + +#ifdef CONFIG_ENDIAN_BIG +# define ELF_DATA ELFDATA2MSB +#else +# define ELF_DATA ELFDATA2LSB #endif /* Table 4-2, ARM-specific e_flags */ @@ -53,6 +58,21 @@ #define EF_ARM_BE8 0x00800000 +#define EF_ARM_ABI_FLOAT_SOFT 0x00000200 +#define EF_ARM_ABI_FLOAT_HARD 0x00000400 + +#ifdef __VFP_FP__ +# ifdef __ARM_PCS_VFP +# define EF_ARM_ABI_FLOAT EF_ARM_ABI_FLOAT_HARD +# else +# define EF_ARM_ABI_FLOAT EF_ARM_ABI_FLOAT_SOFT +# endif +#else +# define EF_ARM_ABI_FLOAT 0 +#endif + +#define EF_FLAG (EF_ARM_EABI_VER5 | EF_ARM_ABI_FLOAT) + /* Table 4-4, Processor specific section types */ #define SHT_ARM_EXIDX 0x70000001 /* Exception Index table */