I’m building a toolchain for the Cell processor. This is the processor found in the PS3 and IBM blade servers. Others have built the toolchain before notably IBM, the Barcelona Supercomputing group and YellowDog Linux. However, these sets of packages do not move at the speed that Fedora does. They are currently GCC 4.1 based whereas Fedora 9 includes GCC 4.3. Furthermore, the other implementations of a Cell toolchain do not include the Fedora patches to GCC and binutils. Thus my packages are closer to the Fedora packages than the IBM ones. This makes maintenance and debugging easier from the system integrators point of view (i.e. my point of view).
This toolchain is also part of my evil plan to replace Mesa on the Cell architecture with Gallium3d. Gallium3d is an implementation of OpenGL (amongst other things) using the Cell SPUs. This will allow developers to develop OpenGL applications on PS3 Linux.
In order to do this I need to build the following packages
- binutils for the SPU,
- gcc for the SPU,
- libspe2 in order to control the SPUs,
- newlib for the SPU, and
- gallium3d using the toolchain developed in the previous packages.
My libspe2 package is based on the IBM package but recompiled for Fedora 9, the binutils package is based on the binutils in Fedora 9. Both of these packages are complete. I’m currently arguing with GCC. Then I’ll tackle newlib (a much easier issue) and then Gallium3d.
Test’em and beat me if they don’t work.