[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20100823065120.GA23688@localhost>
Date: Mon, 23 Aug 2010 14:51:20 +0800
From: Wu Fengguang <fengguang.wu@...el.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Tiago Maluta <tiago.maluta@...il.com>,
Michal Marek <mmarek@...e.cz>,
LKML <linux-kernel@...r.kernel.org>,
Sam Ravnborg <sam@...nborg.org>,
WANG Cong <xiyou.wangcong@...il.com>
Subject: [PATCH -mm V4] kbuild: fix reading CROSS_COMPILE from .config
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@...il.com>
Cc: Michal Marek <mmarek@...e.cz>
Acked-by: WANG Cong <xiyou.wangcong@...il.com>
Signed-off-by: Sam Ravnborg <sam@...nborg.org>
Signed-off-by: Wu Fengguang <fengguang.wu@...el.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)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists