X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Felf.h;h=2d44b42d1847871a8b6fcc22238eeaa2507ee02a;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=29533be8be619e030e5d8e314fb97ada99802abb;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h index 29533be8b..2d44b42d1 100644 --- a/include/asm-arm/elf.h +++ b/include/asm-arm/elf.h @@ -17,10 +17,13 @@ typedef unsigned long elf_freg_t[3]; #define EM_ARM 40 #define EF_ARM_APCS26 0x08 #define EF_ARM_SOFT_FLOAT 0x200 +#define EF_ARM_EABI_MASK 0xFF000000 #define R_ARM_NONE 0 #define R_ARM_PC24 1 #define R_ARM_ABS32 2 +#define R_ARM_CALL 28 +#define R_ARM_JUMP24 29 #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) typedef elf_greg_t elf_gregset_t[ELF_NGREG]; @@ -37,9 +40,9 @@ typedef struct user_fp elf_fpregset_t; */ #define ELF_CLASS ELFCLASS32 #ifdef __ARMEB__ -#define ELF_DATA ELFDATA2MSB; +#define ELF_DATA ELFDATA2MSB #else -#define ELF_DATA ELFDATA2LSB; +#define ELF_DATA ELFDATA2LSB #endif #define ELF_ARCH EM_ARM @@ -120,8 +123,11 @@ extern char elf_platform[]; #define SET_PERSONALITY(ex,ibcs2) \ do { \ set_personality(PER_LINUX_32BIT); \ - if ((ex).e_flags & EF_ARM_SOFT_FLOAT) \ + if (((ex).e_flags & EF_ARM_EABI_MASK) || \ + ((ex).e_flags & EF_ARM_SOFT_FLOAT)) \ set_thread_flag(TIF_USING_IWMMXT); \ + else \ + clear_thread_flag(TIF_USING_IWMMXT); \ } while (0) #endif