mobile version

[ARCHIVE][October 24, 2013] Building a GNU Cross tool-chain for PPC440FP


This is a deprecated content.
An up-to-date version of it is here

PPC440 is a 32-bit PowerPC processor from IBM. It supports standard PowerPC floating-point instructions through an external floating-point unit (FPU) connected on the Auxiliary Processor Unit (APU) interface. PowerPC processors on Linux are well supported by the GNU tool-chain and Crosstool-NG. We propose to build a cross tool-chain for the powerpc-440fp-linux-gnu target (i.e. a PPC440 host machine with FPU support running Linux), with the help of Crosstool-NG 1.13.2. With that cross tool-chain, you can for example build applications for Linux, a BusyBox environment and a Linux kernel for PPC440. We provides you a tarball with all the necessary material inside: Crosstool-NG 1.13.2, GNU tool-chain sources, configuration files, scripts,…

1. What you get after the build ?

You get a GNU cross tool-chain for Linux/PPC440FP:
  • GNU GCC 4.4.6 C/C++ compiler (gcc, g++,…)
  • GNU binutils 2.21.1a (objdump, readelf,…)
  • GNU Standard C Library (glibc) 2.9
  • GNU debugger 6.8 (gdb)
We followed these instructions with the following Crosstool-NG 1.13.2 configuration at step 5 (only changes are shown):
Target options --->
  Target Architecture (powerpc) --->
    (440fp) Emit assembly for CPU
    (440fp) Tune for CPU
  Floating point: (hardware (FPU)) --->

Toolchain options --->
  (440fp) Tuple’s vendor string

Operating System --->
  Target OS (linux) --->
  Linux kernel version (3.0.4)

Binary utilities --->
  binutils version (2.21.1a) --->

  [*] binutils libraries for the target
  [*] libiberty
  [*] libbfd

C compiler --->
  gcc version (4.4.6) --->
  [*] C++
  [ ] Link libstdc++ statically into the gcc binary

C-library --->
  C library (glibc) --->
  glibc version (2.9) --->
  (-U_FORTIFY_SOURCE -g) extra target CFLAGS
  [*] Use the ports addon
  Minimum supported kernel version (Specific kernel version) --->
    Specific kernel version
  (2.6.9) Minimum kernel version to support

Debug facilities --->
  [*] gdb --->

2. Requirements

  • A Linux host machine (may work on other Un*x machines)
  • The following tools: grep, sed, bash, cut, install, make, gcc, awk, bison, flex, makeinfo, automake, libtool, stat, curl, cvs, patch, tar, gzip, bzip2, lzma, readlink, binutils, ncurses, expat
  • make 3.81 (will not work with make 3.82)

3. Get the material

Download that tarball. It contains all the necessary material (scripts and source codes) to get a working GNU cross tool-chain for PPC440FP.

4. Uncompress the tarball

$ tar zxvf crosstool-source-v2.tar.gz

5. Build the cross tool-chain

Run the building script:
$ cd crosstool-source-v2
$ ./ all powerpc-440fp-linux-gnu

Be patient...the process of building the cross tool-chain is very long. Once finished, the cross tool-chain is in powerpc-440fp-linux-gnu sub-directory.


What's new ?

The web site has been migrated to a new server. Please note that contact mails have changed too. More to come…stay tuned!

Virtual Platforms



We would like to thank Digiteo that supported us in making the UNISIM virtual platforms available to the community.


We presented a poster at the poster sessions of the HiPEAC'12 conference, January 23-25, 2012, Paris, France. The HiPEAC conference provides a forum for experts in computer architecture, programming models, compilers, and operating systems for embedded and general-purpose systems. The conference aims at the dissemination of advanced scientific knowledge and the promotion of international contacts among scientists from academia and industry.

On-going evaluation

A UNISIM virtual platform of a Xilinx Virtex-5 FXT is being evaluated by project partners in the context of OPEES (Open Platform for the Engineering of Embedded Systems), a European project that aims to ensure long-term availability of critical / embedded systems engineering technologies to secure industry competitiveness and development.