GNU Toolchain 4.1.1 and GDB for the Cell BE's PPU/SPU
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.
What's new
- GNU GCC support for an enhanced CBEA compliant processor with a fully pipelined, double precision SPE.
- Upgraded binutils version to 2.17.50 release.
- Upgraded GDB version to 6.6.
- Upgraded newlib version to 1.15.0.
The cross-compiling GNU Toolchain is installed into the /opt/cell/ directory while the ppc toolchain will be installed into /usr.
Binary Packages
|
|
|
|||
|
|
|
|
|
|
| GNU Binutils |
|
|
|
|
| GNU GCC Compiler |
|
|
|
|
| GNU GCC C++ Compiler |
|
|
|
|
| GNU Fortran Compiler |
|
|
|
|
| GNU GDB |
|
|
|
|
| GNU newlib C library |
|
|
|
|
| GNU GCC debuginfo |
|
|
|
|
| GNU GDB debuginfo |
|
|
|
|
To install the GNU Toochain in a x86 box in order to cross-compile applications, you need to install the two following rpms:
| File | Description |
| ppu-sysroot-fc6-1.noarch.rpm | Basic libraries and headers for cross-compiling to Cell Broadband Engine's PPU. |
| ppu-sysroot64-fc6-1.noarch.rpm | Basic libraries and headers for cross-compiling to Cell Broadband Engine's PPU (64-bit). |
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-10.src.rpm | GNU GCC source package for the Cell BE's PPU. |
| spu-gcc-4.1.1-9.src.rpm | GNU GCC source package for the Cell BE's SPU. |
| ppu-binutils-2.17.50-8.src.rpm | GNU Binutils source package for the Cell BE's PPU. |
| spu-binutils-2.17.50-8.src.rpm | GNU Binutils source package for the Cell BE's SPU. |
| ppu-gdb-6.6-15.src.rpm | GNU GDB source package for the Cell BE's PPU. |
| spu-gdb-6.6-12.src.rpm | GNU GDB source package for the Cell BE's SPU. |
| ppu-sysroot-fc6-1.src.rpm | PPU sysroot toolchain source package. |
| spu-newlib-1.15.0-7.src.rpm | GNU newlib source package for the Cell BE's SPU. |
Source tarball, patches and spec files
| File | Description |
| toolchain-3.4-src.tar.bz2 | GNU Toolchain base source tarball for both PPU and SPU toolchain. |
| gdb-6.6.tar.bz2 | GNU GDB base source tarball. |
| gcc-fortran-4.1.1.tar.bz2 | GNU Fortran base source tarball for PPU toolchain. |
| newlib-1.15.0.tar.gz | GNU newlib base source tarball. |
| binutils-2.17.50-20070112.tar.bz2 | GNU Binutils source tarball for both PPU and SPU toolchain. |
PPU Sysroot
| File | Description |
| ppu-sysroot.spec | PPU Toolchain SPEC file. |
To rebuild the PPU sysroot rpms you can install the source rpm and run the rpm_build.sh script:
rpm -ivh ppu-sysroot-fc6-1.src.rpm
rpm_build.sh --none --pputoolchain
or if you prefer to do it manually you have to:
- Download and copy to /usr/redhat/SOURCES the following FC6 rpms:
- Copy the ppu-sysroot.spec file to /usr/redhat/SPECS
-
Move to /usr/redhat/SPECS directory and type:
rpmbuild -ba ppu-sysroot.spec --target noarch
PPU Toolchain
| File | Description |
| ppu-gcc.spec | PPU GNU GDB SPEC file. |
| ppu-gcc-patches.tar.gz | Patches to enable GNU GCC for Cell BE's PPU. |
| ppu-binutils.spec | PPU Binutils SPEC file. |
| ppu-binutils-patches.tar.gz | Patches to enable GNU Binutils for Cell BE's PPU. |
| ppu-gdb.spec | PPU GDB SPEC file. |
| ppu-gdb-patches.tar.gz | Patches to enable GNU GDB debugger for Cell BE's PPU. |
To rebuild the PPU toolchain rpms you can install the source rpm and run the rpm_build.sh script:
rpm -ivh ppu-gcc-4.1.1-10.src.rpm ppu-binutils-2.17.50-8.src.rpm
ppu-gdb-6.6-15.src.rpm
rpm_build.sh --none --pputoolchain
SPU Toolchain
| File | Description |
| spu-gcc.spec | SPU GNU GDB SPEC file. |
| spu-gcc-patches.tar.gz | Patches to enable GNU GCC for Cell BE's SPU. |
| spu-binutils.spec | SPU Binutils SPEC file. |
| spu-binutils-patches.tar.gz | Patches to enable GNU Binutils for Cell BE's SPU. |
| spu-newlib.spec | SPU newlib SPEC file. |
| spu-newlib-patches.tar.gz | Patches to enable GNU Newlib for Cell BE's SPU. |
| spu-gdb.spec | SPU GDB SPEC file. |
| spu-gdb-patches.tar.gz | Patches to enable GNU GDB debugger for Cell BE's SPU. |
To rebuild the SPU toolchain rpms you can install the source rpms and run the rpm_build.sh script:
rpm -ivh spu-gcc-4.1.1-9.src.rpm spu-binutils-2.17.50-8.src.rpm
spu-gdb-6.6-12.src.rpm spu-newlib-1.15.0-7.src.rpm
rpm_build.sh --none --sputoolchain




