Re: [PATCH][RESEND] fix compilation error with CROSS_COMPILE

From: Wu Fengguang
Date: Sat Aug 21 2010 - 03:30:27 EST


On Sat, Aug 21, 2010 at 03:24:54PM +0800, Sam Ravnborg wrote:
> On Sat, Aug 21, 2010 at 02:21:33PM +0800, Wu Fengguang wrote:
> > $ make CROSS_COMPILE=x86_64-linux-gnu-
> > ...
> > 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"
> >
> > Cc: Tiago Maluta <tiago.maluta@xxxxxxxxx>
> > Cc: Michal Marek <mmarek@xxxxxxx>
> > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
> > ---
> >
> > Andrew: the compile error only occurs in the -mm tree
> > The bug is introduced by patch "Linux has an recent option to define
> > CROSS_COMPILE in menuconfig.".
> >
> > 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)
>
> I cannot see how this would solve your problem.
> Any variable assigned using := or ?= can be overrided by variable
> assigned on the command line like this:
>
> make VAR=values
>
> Please note that there is a big difference between the above and this:
>
> VAR=value make

Ah yes I'm using that form indeed. Sorry for the confusion.

> In the latter case you pass in VAR using the enviroment and it
> is just like any other environment variable as seen from make.
>
> On top of that the upstream kernel does not have the first
> assignmnet to CROSS_COMPILE - so you need to update
> your sources (or Andrews --mm is not recent enough.
>
> Please try again with upstream kernel and let us know what you
> conclude.

Upstream kernel uses the ?= form and runs always OK.

The recent -mm kernels I tried all have the problem.

Thanks,
Fengguang

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/