[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070823122215.GS8058@bingen.suse.de>
Date: Thu, 23 Aug 2007 14:22:15 +0200
From: Andi Kleen <ak@...e.de>
To: Andy Whitcroft <apw@...dowen.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mel@....ul.ie>, linux-kernel@...r.kernel.org,
Sam Ravnborg <sam@...nborg.org>, Andi Kleen <ak@...e.de>
Subject: Re: 2.6.23-rc3-mm1
On Thu, Aug 23, 2007 at 01:03:18PM +0100, Andy Whitcroft wrote:
> It seems that this is a problem caused by the way we check for
> compiler options in x86_64. Each compiler flag is checked for
> individually and if available added to cflags-y, later that is
> added to CFLAGS. However, this means that each flag is checked
> in total isolation. On x86_64 (on this compiler at least) the
> -mpreferred-stack-boundary and -m{32,64} flags are actually mutually
> dependant, the alignment constraints vary based on the word size.
> This leads to the compile failure:
>
> # gcc -mpreferred-stack-boundary=3 -S -xc /dev/null -o FOO
> # echo $?
> 0
> # gcc -m64 -mpreferred-stack-boundary=3 -S -xc /dev/null -o FOO
> /dev/null:1: error: -mpreferred-stack-boundary=3 is not between 4 and 12
> # echo $?
> 1
>
> In the main Makefile we always add each flag directly to CFLAGS
> which means we check them all in combination, perhaps this is
> prudent here also? Either way I suspect that changing the -m64
> check to add itself directly to CFLAGS will fix this us.
Ok that makes sense. Most people don't see it because they don't
need -m64.
I fixed it up with
ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/cflags-probe
and then
ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/less-stack-alignment
(replacement for the mm patch)
Can you test?
-Andi
-
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