[Cbe-oss-dev] trouble compiling ps3-linux.git with Cell SDK 3.1

Geoff Levand geoffrey.levand at am.sony.com
Tue Jan 6 09:07:20 EST 2009


Hi,

I merged the mainline commit f9d14250071eda9972e4c9cea745a11185952114
(Disallow gcc versions 4.1.{0,1}) into ps3-linux.git today.  Therefore,
the Cell SDK 3.1 default gcc (4.1.1) will no longer compile the kernel.
Please switch to the Cell SDK 3.1 optional ppu-gcc43 compiler.

This compiler package needs to be installed if not done so already:

  ppu-gcc43-4.3.2-2.i686.rpm

Here is the error:

  CC      kernel/bounds.s
In file included from ps3-linux/include/linux/compiler-gcc.h:68,
                 from ps3-linux/include/linux/compiler.h:40,
                 from ps3-linux/include/linux/stddef.h:4,
                 from ps3-linux/include/linux/posix_types.h:4,
                 from ps3-linux/include/linux/types.h:11,
                 from ps3-linux/include/linux/page-flags.h:8,
                 from ps3-linux/kernel/bounds.c:9:
ps3-linux/include/linux/compiler-gcc4.h:7:3: error: #error Your version of gcc miscompiles the __weak directive

And the commit:

commit f9d14250071eda9972e4c9cea745a11185952114
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jan 2 09:29:43 2009 -0800

    Disallow gcc versions 4.1.{0,1}
    
    These compiler versions are known to miscompile __weak functions and
    thus generate kernels that don't necessarily work correctly.  If a weak
    function is int he same compilation unit as a caller, gcc may end up
    inlining it, and thus binding the weak function too early.
    
    See
    
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781
    
    for details.
    
    Cc: Adrian Bunk <bunk at kernel.org>
    Cc: Helge Deller <deller at gmx.de>
    Cc: Rusty Russell <rusty at rustcorp.com.au>
    Cc: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

-Geoff






More information about the cbe-oss-dev mailing list