Messages in this thread | | | Date | Mon, 23 Aug 2010 14:45:30 +0800 | From | Américo Wang <> | Subject | Re: [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config |
| |
On Sat, Aug 21, 2010 at 09:07:49PM +0800, Wu Fengguang wrote: >Fix compile error > > $ ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu- make > ... > cc1: error: unrecognized command line option "-m64" > cc1: error: unrecognized command line option "-mno-red-zone" > cc1: error: unrecognized command line option "-mcmodel=kernel" > cc1: error: unrecognized command line option "-maccumulate-outgoing-args" > >The error was introduced by patch >kbuild-fix-config_cross_compile-issue-in-config.patch: > > -CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) > +CROSS_COMPILE := $(shell grep CONFIG_CROSS_COMPILE .config | cut -d'"' -f2) > >That patch does two things: >1) It grep for CONFIG_CROSS_COMPILE because we may not have incldued .config >2) It no longer pick up CROSS_COMPILE from the environment. > >Traditionally we have picked up ARCH and CROSS_COMPILE from the environment, >hence the use of "?=". >"?=" says - perform this assignment unless lhs is already defined. >And lhs may be already defined is we have the symbol defined in the >environment. > >I think the original submitter changed from ?= to := without realizing this. >So the patch should be adjusted to use ?= again before it is applied. > >Cc: Tiago Maluta <tiago.maluta@gmail.com> >Cc: Michal Marek <mmarek@suse.cz> >Signed-off-by: Sam Ravnborg <sam@ravnborg.org> >Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
I think the line right above the chunk can be removed too, anyway,
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Thanks.
>--- > >Andrew: it's an -mm tree only bug for now >Sam: I copied so many of your nice comments to the changelog, so that I added >your Signed-off-by :) > >diff --git a/Makefile b/Makefile >index d646d69..af8864e 100644 >--- a/Makefile >+++ b/Makefile >@@ -190,7 +190,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ > export KBUILD_BUILDHOST := $(SUBARCH) > ARCH ?= $(SUBARCH) > CROSS_COMPILE ?= >-CROSS_COMPILE := $(shell grep CONFIG_CROSS_COMPILE .config | cut -d'"' -f2) >+CROSS_COMPILE ?= $(shell grep CONFIG_CROSS_COMPILE .config | cut -d'"' -f2) > > # Architecture as present in compile.h > UTS_MACHINE := $(ARCH) >-- >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html >Please read the FAQ at http://www.tux.org/lkml/
| |