[Buildroot] [PATCH 1/1] Keep HOSTCFLAG and HOSTLDFLAGS consistent when Making Linux Kernel

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sat Jul 29 13:04:02 UTC 2017


Hello,

On Sat, 29 Jul 2017 00:56:40 +0100, Jianming.qiao wrote:
> From: "Jianming.qiao" <kiki-good at hotmail.com>
> 
> A build error is spotted when adding -m32 in Linux kernel Makefile for 
> both host compiler flag and Host linker flag for compiling linux kernel in 64bit Host.

Where are you adding this -m32 option ?

> When building with buildroot, an error shows the host linker can't link the .o file
> generated by host compiler because -m32 host Linker flag doesn't append to the host linker, 
> thereby trying to link 32 bit object files in 64bit mode(without adding -m32 in host linker flag).

Could you give more details on how to reproduce the issue you're
seeing ?

> Therefore,both host compiler flag and host linker flag should both appear in the LINUX_MAKE_FLAGS.
> 
> Signed-off-by: Jianming.qiao <kiki-good at hotmail.com>
> ---
>  linux/linux.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 032d64f..a97886d 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -97,6 +97,7 @@ endif
>  LINUX_MAKE_FLAGS = \
>  	HOSTCC="$(HOSTCC)" \
>  	HOSTCFLAGS="$(HOSTCFLAGS)" \

Unrelated to your patch, but this $(HOSTCFLAGS) thing is messy. We
actually have:

 - HOSTCFLAGS, defined in the main Makefile to the value of
   $(CFLAGS_FOR_BUILD), which is empty. HOSTCFLAGS is then exported. It
   was done this way a long time ago in commit
   c0d7d4e0355b49b489d7235e945481cf5d32087f (from 2007) for kconfig.
   I'm not sure we still need this.

 - HOST_CFLAGS, defined in package/Makefile.in, which actually contains
   some useful flags. It is most likely the one we should pass as
   HOSTCFLAGS in LINUX_MAKE_FLAGS.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the buildroot mailing list