Message ID | 1501286200-4274-1-git-send-email-jqiaoulk@gmail.com |
---|---|
State | Rejected |
Headers | show |
Hello, On Sat, 29 Jul 2017 00:56:40 +0100, Jianming.qiao wrote: > From: "Jianming.qiao" <kiki-good@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@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
On 29-07-17 15:04, Thomas Petazzoni wrote: > 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. In addition, I see no reason why we would *override* the kernel's HOSTCFLAGS. So I think the proper fix is to do HOST_EXTRACFLAGS=$(HOST_CFLAGS) instead. Regards, Arnout
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)" \ + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \