summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2013-07-19 17:16:45 +0100
committerBen Dooks <ben.dooks@codethink.co.uk>2013-07-22 18:05:06 +0100
commitf6605ac9ce7dee9ca02235eb7cc3f74d1298872d (patch)
treecbdc17c9a3ea8283ae275e1550f24cf45ef4206e
parent3911ce9e110f90f6442f2cecd2836a8b9ecdc7d6 (diff)
downloadlinux-baserock/bjdooks/vexpress_be.tar.gz
-rw-r--r--arch/arm/kernel/elf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c
index d0d1e83150c9..3b0351c32fe0 100644
--- a/arch/arm/kernel/elf.c
+++ b/arch/arm/kernel/elf.c
@@ -34,6 +34,15 @@ int elf_check_arch(const struct elf32_hdr *x)
if (flt_fmt == EF_ARM_VFP_FLOAT && !(elf_hwcap & HWCAP_VFP))
return 0;
}
+
+ if ((eflags & EF_ARM_EABI_MASK) >= EF_ARM_EABI_VER4) {
+ if (eflags & EF_ARM_BE8) {
+ if (!IS_ENABLED(CONFIG_ARM_CPU_BE8))
+ return 1;
+ } else if (IS_ENABLED(CONFIG_ARM_CPU_BE8))
+ return 1;
+ }
+
return 1;
}
EXPORT_SYMBOL(elf_check_arch);