lkml.org 
[lkml]   [2017]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] arm64: Enforce endianness build flags for LD and AS
Hi,

On Tue, Oct 3, 2017 at 1:58 PM, Guenter Roeck <linux@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@chromium.org>
> Signed-off-by: Guenter Roeck <linux@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@chromium.org>

\
 
 \ /
  Last update: 2017-10-03 23:04    [W:0.044 / U:0.276 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site