CONTACT   |   QUICK LINKS   |   SITEMAP     search
 
Computer Sciences
image aboutBSC computational earth life computer applications marenostrum image
Computer Sciences
GNU Toolchain
Home > Computer Sciences > Programming Models > Linux on Cell > Cell BE SDKs > SDK 3.0 > Cell BE Components > GNU Toolchain pdf print
 
 

GNU Toolchain 4.1.1 and GDB for the Cell BE's PPU/SPU

stroke

The Cell BE's PPU (Power Processor Unit) uses the same instruction set as the PowerPC 970 processor. The toolchain includes a GCC compiler for PPU to cross-compile on x86 and as a replacement for the native GCC compiler on ppc platforms. The GCC compiler for the PPU is preferred and the make files are configured to use it when building the Libraries and Samples. This release also includes a Fortran compiler for PPU as a replacement for the native Fortran compiler on ppc platforms. The GCC compiler also contains a separate SPE cross-compiler that supports the standards defined in the SPU C/C++ Language Extensions V2.4, SPU Application Binary Interface Specification V1.7, and Synergistic Processor Unit (SPU) Instruction Set Architecture V1.11 documents. The associated assembler and linker additionally support the SPU Assembly Language Specification V1.5. The toolchain is based on a port of GCC, GDB and the GNU binutils to the Cell Broadband Engine Architecture (CBEA) provided by Sony Computer Entertainment Inc.

The cross-compiling GNU Toolchain is installed into the /opt/cell/ directory while the ppc toolchain will be installed into /usr.


Binary Packages



PowerPC
x86 cross-compiler

PPU
SPU
PPU
SPU
GNU Binutils
ppc
ppc
i686
i686
GNU GCC Compiler
ppc
ppc
i686
i686
GNU GCC C++ Compiler
ppc
ppc
i686
i686
GNU GNAT
ppc
N/A
i686
N/A
GNU Fortran Compiler
ppc
ppc
i686
i686
GNU GDB
ppc
ppc
i686
i686
GNU newlib C library
N/A
ppc
N/A
i686
GNU GCC debuginfo
ppc
ppc
i686
i686
GNU GDB debuginfo
ppc
ppc
i686
i686

SDK 3.0.0.3 Update

Bellow you can find the packages that are updated in SDK 3.0.0.3. The only packages that do not change are ppu-binutils, spu-binutils and the spu-gdb debbuger.


PowerPC
x86 cross-compiler

PPU
SPU
PPU
SPU
GNU GCC Compiler
ppc
ppc
i686
i686
GNU GCC C++ Compiler
ppc
ppc
i686
i686
GNU GNAT
ppc
N/A
i686
N/A
GNU Fortran Compiler
ppc
ppc
i686
i686
GNU GDB
ppc
--
i686
--
GNU newlib C library
N/A
ppc
N/A
i686
GNU GCC debuginfo
ppc
ppc
i686
i686
GNU GDB debuginfo
ppc
--
i686
--

GNU Toolchain on a Fedora Core 7 x86 box

To install the GNU Toochain in a Fedora Core 7 x86 box in order to cross-compile applications, you need to install the two following rpms:

File Description
ppu-sysroot-f7-2.noarch.rpm Basic libraries and headers for cross-compiling to Cell Broadband Engine's PPU.
ppu-sysroot64-f7-2.noarch.rpm Basic libraries and headers for cross-compiling to Cell Broadband Engine's PPU (64-bit).

GNU Toolchain on a RHEL 5 U1 x86 box

To install the GNU Toochain on a RHEL 5 U1 x86 box to cross-compile applications, you need to create and install ppu-sysroot rpms for RHEL, previous rpms for Fedora Core 7 could not be used.

To build that rpms for GNU Toolchain installation on RHEL you need to do the following:

  1. Download ppu-sysroot.spec file and copy it to /usr/redhat/SPECS.
  2. Copy following RPMS from you RHEL5 U1 distribution to /usr/redhat/SOURCES:
    • glibc-2.5-18.ppc.rpm
    • glibc-2.5-18.ppc64.rpm
    • glibc-devel-2.5-18.ppc.rpm
    • glibc-devel-2.5-18.ppc64.rpm
    • glibc-headers-2.5-18.ppc.rpm
    • kernel-headers-2.6.18-53.el5.ppc.rpm
    • gmp-4.1.4-10.el5.ppc.rpm
    • gmp-4.1.4-10.el5.ppc64.rpm
    • gmp-devel-4.1.4-10.el5.ppc.rpm
    • gmp-devel-4.1.4-10.el5.ppc64.rpm

  3. To build the ppu-sysroot files type: rpmbuild -ba ppu-sysroot.spec --target noarch

This would generate ppu-sysroot-rhel5-3.noarch.rpm and ppu-sysroot64-rhel5-3.noarch.rpm that must be installed in your RHEL5 U1 x86 box.


GNU Toolchain on a RHEL 5 U2 x86 box

To install the GNU Toochain on a RHEL 5 U2 x86 box to cross-compile applications, you need to create and install ppu-sysroot rpms for RHEL.

To build that rpms for GNU Toolchain installation on RHEL you need to do the following:

  1. Download ppu-sysroot.spec file and copy it to /usr/redhat/SPECS.
  2. Copy following RPMS from you RHEL5 U2 distribution to /usr/redhat/SOURCES:
    • glibc-2.5-24.ppc.rpm
    • glibc-2.5-24.ppc64.rpm
    • glibc-devel-2.5-24.ppc.rpm
    • glibc-devel-2.5-24.ppc64.rpm
    • glibc-headers-2.5-24.ppc.rpm
    • kernel-headers--2.6.18-92.el5.ppc.rpm
    • gmp-4.1.4-10.el5.ppc.rpm
    • gmp-4.1.4-10.el5.ppc64.rpm
    • gmp-devel-4.1.4-10.el5.ppc.rpm
    • gmp-devel-4.1.4-10.el5.ppc64.rpm

  3. To build the ppu-sysroot files type: rpmbuild -ba ppu-sysroot.spec --target noarch

This would generate ppu-sysroot-rhel5-6.noarch.rpm and ppu-sysroot64-rhel5-6.noarch.rpm that must be installed in your RHEL5 U2 x86 box.




GNU Toolchain Source distribution and build files

To rebuild the GNU toolchain, We provide the source rpms that can be easily installed but also the source tarballs and the set of patches that were used to build the binary distribution.


Source RPM packages

File Description
ppu-gcc-4.1.1-57.src.rpm GNU GCC source package for the Cell BE's PPU.
spu-gcc-4.1.1-107.src.rpm GNU GCC source package for the Cell BE's SPU.
ppu-binutils-2.17.50-32.src.rpm GNU Binutils source package for the Cell BE's PPU.
spu-binutils-2.17.50-33.src.rpm GNU Binutils source package for the Cell BE's SPU.
ppu-gdb-6.6.50-28.src.rpm GNU GDB source package for the Cell BE's PPU.
spu-gdb-6.6.50-12.src.rpm GNU GDB source package for the Cell BE's SPU.
ppu-sysroot-f7-2.src.rpm PPU sysroot toolchain source package.
spu-newlib-1.15.0-82.src.rpm GNU newlib source package for the Cell BE's SPU.

Source RPM packages for SDK 3.0.0.3 Update

File Description
ppu-gcc-4.1.1-57.3.src.rpm GNU GCC source package for the Cell BE's PPU.
spu-gcc-4.1.1-107.5.src.rpm GNU GCC source package for the Cell BE's SPU.
ppu-gdb-6.6.50-29.src.rpm GNU GDB source package for the Cell BE's PPU.
spu-newlib-1.15.0-82.6.src.rpm GNU newlib source package for the Cell BE's SPU.

 
  top
link_top
  Barcelona Supercomputing Center, 2010 - Legal Notice
 
link_top