From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
Michael Davidson <md@google.com>,
Greg Hackmann <ghackmann@google.com>,
Pirama Arumuga Nainar <pirama@google.com>,
Matthias Kaehlcke <mka@chromium.org>,
Arnd Bergmann <arnd@arndb.de>, Ingo Molnar <mingo@kernel.org>,
Douglas Anderson <dianders@chromium.org>,
Cao jin <caoj.fnst@cn.fujitsu.com>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Mark Charlebois <charlebm@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3] kbuild: fix linker feature test macros when cross compiling with Clang
Date: Tue, 7 Nov 2017 12:41:00 +0900 [thread overview]
Message-ID: <CAK7LNATKn+8g=6QWoK3HXb9dk35myNq=xt0vnrHamckhDAhtLA@mail.gmail.com> (raw)
In-Reply-To: <20171106184756.24404-1-ndesaulniers@google.com>
2017-11-07 3:47 GMT+09:00 Nick Desaulniers <ndesaulniers@google.com>:
> I was not seeing my linker flags getting added when using ld-option when
> cross compiling with Clang. Upon investigation, this seems to be due to
> a difference in how GCC vs Clang handle cross compilation.
>
> GCC is configured at build time to support one backend, that is implicit
> when compiling. Clang is explicit via the use of `-target <triple>` and
> ships with all supported backends by default.
>
> GNU Make feature test macros that compile then link will always fail
> when cross compiling with Clang unless Clang's triple is passed along to
> the compiler. For example:
>
> $ clang -x c /dev/null -c -o temp.o
> $ aarch64-linux-android/bin/ld -E temp.o
> aarch64-linux-android/bin/ld:
> unknown architecture of input file `temp.o' is incompatible with
> aarch64 output
> aarch64-linux-android/bin/ld:
> warning: cannot find entry symbol _start; defaulting to
> 0000000000400078
> $ echo $?
> 1
>
> $ clang -target aarch64-linux-android- -x c /dev/null -c -o temp.o
> $ aarch64-linux-android/bin/ld -E temp.o
> aarch64-linux-android/bin/ld:
> warning: cannot find entry symbol _start; defaulting to 00000000004002e4
> $ echo $?
> 0
>
> This causes conditional checks that invoke $(CC) without the target
> triple, then $(LD) on the result, to always fail.
>
> Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> Changes since v2:
> * Add LDFLAGS to ld-option, as per Masahiro, and spotted by 0-day bot:
> https://lists.01.org/pipermail/lkp/2017-October/007427.html
>
> scripts/Kbuild.include | 5 +++--
Applied to linux-kbuild/kbuild.
--
Best Regards
Masahiro Yamada
next prev parent reply other threads:[~2017-11-07 3:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-26 20:17 [PATCH] kbuild: fix linker feature test macros when cross compiling with Clang Nick Desaulniers
2017-10-27 11:20 ` Masahiro Yamada
2017-10-27 18:28 ` Nick Desaulniers
2017-10-27 20:10 ` Nick Desaulniers
2017-10-28 14:59 ` Masahiro Yamada
2017-10-27 20:13 ` [PATCH v2] " Nick Desaulniers
2017-10-28 15:00 ` Masahiro Yamada
2017-10-30 6:50 ` Masahiro Yamada
2017-10-30 15:46 ` Masahiro Yamada
2017-10-30 16:13 ` Nick Desaulniers
2017-11-06 18:47 ` Nick Desaulniers
2017-11-06 18:47 ` [PATCH v3] " Nick Desaulniers
2017-11-07 3:41 ` Masahiro Yamada [this message]
2017-12-11 10:17 ` Arnd Bergmann
2017-12-11 11:47 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAK7LNATKn+8g=6QWoK3HXb9dk35myNq=xt0vnrHamckhDAhtLA@mail.gmail.com' \
--to=yamada.masahiro@socionext.com \
--cc=arnd@arndb.de \
--cc=caoj.fnst@cn.fujitsu.com \
--cc=charlebm@gmail.com \
--cc=dianders@chromium.org \
--cc=ghackmann@google.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=md@google.com \
--cc=mingo@kernel.org \
--cc=mka@chromium.org \
--cc=ndesaulniers@google.com \
--cc=pirama@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).