lkml.org 
[lkml]   [2007]   [Aug]   [23]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    /
    DateThu, 23 Aug 2007 14:22:15 +0200
    FromAndi Kleen <>
    SubjectRe: 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@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    
    
    \
     
     \ /
      Last update: 2007-08-23 14:29    [from the cache]
    ©2003-2008