From f6605ac9ce7dee9ca02235eb7cc3f74d1298872d Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Fri, 19 Jul 2013 17:16:45 +0100 Subject: elf: check BE8/LE8 --- arch/arm/kernel/elf.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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); -- cgit v1.2.1