public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config
@ 2010-08-21 13:07 Wu Fengguang
  2010-08-23  6:45 ` Américo Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Wu Fengguang @ 2010-08-21 13:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tiago Maluta, Michal Marek, LKML, Sam Ravnborg

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>
---

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)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config
  2010-08-21 13:07 [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config Wu Fengguang
@ 2010-08-23  6:45 ` Américo Wang
  2010-08-23  6:52   ` Wu Fengguang
  0 siblings, 1 reply; 3+ messages in thread
From: Américo Wang @ 2010-08-23  6:45 UTC (permalink / raw)
  To: Wu Fengguang
  Cc: Andrew Morton, Tiago Maluta, Michal Marek, LKML, Sam Ravnborg

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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config
  2010-08-23  6:45 ` Américo Wang
@ 2010-08-23  6:52   ` Wu Fengguang
  0 siblings, 0 replies; 3+ messages in thread
From: Wu Fengguang @ 2010-08-23  6:52 UTC (permalink / raw)
  To: Américo Wang
  Cc: Andrew Morton, Tiago Maluta, Michal Marek, LKML, Sam Ravnborg

> I think the line right above the chunk can be removed too, anyway,

Good catch!

> Acked-by: WANG Cong <xiyou.wangcong@gmail.com>

Thanks,
Fengguang


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-08-23  6:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 13:07 [PATCH -mm V3] kbuild: fix reading CROSS_COMPILE from .config Wu Fengguang
2010-08-23  6:45 ` Américo Wang
2010-08-23  6:52   ` Wu Fengguang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox