diff options
author | Suzuki K Poulose <suzuki.poulose@arm.com> | 2016-04-18 12:28:37 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-04-20 14:22:42 +0300 |
commit | 643d703d2d2dbf8e2f16efa0a6a32b1eca101d02 (patch) | |
tree | 5dc230cc9dc4d09fd679570c2090bec3c952b97a /arch/arm64/include/asm/elf.h | |
parent | 042446a31e3803d81c7e618dd80928dc3dce70c5 (diff) | |
download | linux-643d703d2d2dbf8e2f16efa0a6a32b1eca101d02.tar.xz |
arm64: compat: Check for AArch32 state
Make sure we have AArch32 state available for running COMPAT
binaries and also for switching the personality to PER_LINUX32.
Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>
[ Added cap bit, checks for HWCAP, personality ]
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Tested-by: Yury Norov <ynorov@caviumnetworks.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/elf.h')
-rw-r--r-- | arch/arm64/include/asm/elf.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 24ed037f09fd..7a09c48c0475 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -177,7 +177,8 @@ typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; /* AArch32 EABI. */ #define EF_ARM_EABI_MASK 0xff000000 -#define compat_elf_check_arch(x) (((x)->e_machine == EM_ARM) && \ +#define compat_elf_check_arch(x) (system_supports_32bit_el0() && \ + ((x)->e_machine == EM_ARM) && \ ((x)->e_flags & EF_ARM_EABI_MASK)) #define compat_start_thread compat_start_thread |