[PATCH] D24471: [ELF] Set EF_ARM_EABI_VER5 for ARM

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 12 23:09:46 PDT 2016


On Mon, 12 Sep 2016, Rui Ueyama wrote:

> On Mon, Sep 12, 2016 at 10:34 PM, Martin Storsjö <martin at martin.st> wrote:
>
>       > > Without this flag set, an aarch64 kernel won't try to load
>       the executable
>
>       > Do you mean this is part of some ABI spec and so any aarch64
>       kernel should not load the executable, or that this is due to an
>       implementation detail of (presumably) the Linux kernel?
> 
>
>       I think it's just an implementation detail. Since GNU ld has
>       been setting it since forever (I assume), I guess the aarch64
>       kernel just hasn't bothered to add support for "legacy"
>       binaries, only the ones commonly available.
> 
> 
>  What operating system and version needs this flag being set?

I've noticed it with Linux 4.4.9 in AArch64 mode. 32 bit ARM kernels run 
the linked binaries just fine, but 64 bit ones refuse unless this flag is 
set. (I haven't traced it down to a specific point in the linux kernel 
source to explain it yet though.)

// Martin


More information about the llvm-commits mailing list