public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Tiago Maluta <tiago.maluta@gmail.com>,
	Michal Marek <mmarek@suse.cz>,
	LKML <linux-kernel@vger.kernel.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	WANG Cong <xiyou.wangcong@gmail.com>
Subject: [PATCH -mm V4] kbuild: fix reading CROSS_COMPILE from .config
Date: Mon, 23 Aug 2010 14:51:20 +0800	[thread overview]
Message-ID: <20100823065120.GA23688@localhost> (raw)

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>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
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 276d642..a2d3ded 100644
--- a/Makefile
+++ b/Makefile
@@ -189,8 +189,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
 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)

                 reply	other threads:[~2010-08-23  6:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100823065120.GA23688@localhost \
    --to=fengguang.wu@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=sam@ravnborg.org \
    --cc=tiago.maluta@gmail.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox