[PATCH] arm64: Enforce endianness build flags for LD and AS

Doug Anderson dianders at chromium.org
Tue Oct 3 14:04:09 PDT 2017


Hi,

On Tue, Oct 3, 2017 at 1:58 PM, Guenter Roeck <linux at roeck-us.net> wrote:
> If LD or AS is specified on the command line using "make LD=<my-ld>",
> the endianness flag will not be added. Depending on the toolchain used,
> this can result in endianness mismatch errors, such as
>
> aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.bfd.real:
> arch/arm64/crypto/.tmp_aes-ce-cipher.o:
>         compiled for a big endian system and target is little endian
>
> The problem was observed when using the Chrome OS build system (which sets
> LD on the command line) for an arm64:allmodconfig build.
>
> Use the override flag for both LD and AS to ensure that the endianness
> flag is always set.
>
> Cc: Douglas Anderson <dianders at chromium.org>
> Signed-off-by: Guenter Roeck <linux at roeck-us.net>
> ---
>  arch/arm64/Makefile | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

This seems right to me.  My understanding of the way things work is
that if you want a different linker or assembler you pass it on the
command line.  That means you need "override" like this if you want to
append to it.

As a self-proclaimed non-expert on the kernel build system I'm not
sure it's worth much, but in any case:

Reviewed-by: Douglas Anderson <dianders at chromium.org>



More information about the linux-arm-kernel mailing list