Re: [PATCH v2] Makefile: Fix detection of clang when cross-compiling

From: Behan Webster
Date: Thu Jul 09 2015 - 19:10:08 EST


Resent since gmail HTML-ified my previous email...

On Wed, Apr 22, 2015 at 7:33 AM, Michal Marek <mmarek@xxxxxxx <mailto:mmarek@xxxxxxx>> wrote:

On Fri, Apr 17, 2015 at 11:35:04PM +0200, Paul Cercueil wrote:
> When the host's C compiler is clang, and when attempting to
> cross-compile Linux e.g. to MIPS with mipsel-linux-gcc, the Makefile
> would incorrectly detect the use of clang, which resulted in
> clang-specific flags being passed to mipsel-linux-gcc.
>
> This can be verified under Debian by installing the "clang" package,
> and then using it as the default compiler with:
> sudo update-alternatives --config cc
>
> This patch moves the detection of clang after the $(CC) variable is
> initialized to the name of the cross-compiler, so that the check
applies
> to the cross-compiler and not the host's C compiler.
>
> v2: Move the detection of clang after the inclusion of the
> arch/*/Makefile (as they might set $(CROSS_COMPILE))
>
> Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx
<mailto:paul@xxxxxxxxxxxxxxx>>

Applied to kbuild.git#kbuild. I will push it after v4.1-rc1 becomes
available, though.


Drat. I wish I saw this earlier.

This breaks patches which check for the value of COMPILER in arch/*/Makefile. This detection must be performed before the inclusion of the arch Makefile.

Can I move this to after the initialization of CC but before the include?

I'm not sure that being able to define the default compiler per arch is necessary. But I know I need to be able to add arch specific flags for clang.

Behan

--
Behan Webster
behanw@xxxxxxxxxxxxxxxxxx <mailto:behanw@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/