Building a GNU Cross tool-chain for PPC440FP
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.20.0. 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.20.0, 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.8.2 C/C++ compiler (gcc, g++,…)
- GNU binutils 2.22 (objdump, readelf,…)
- GNU Standard C Library (glibc) 2.19.0
- GNU debugger 7.6.1 (gdb)
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.8.13)
Binary utilities --->
binutils version (2.22) --->
C compiler --->
gcc version (4.8.2) --->
[*] C++
[ ] Link libstdc++ statically into the gcc binary
C-library --->
C library (glibc) --->
glibc version (2.19.0) --->
(-g) gcc extra flags
Minimum supported kernel version (Specific kernel version) --->
Specific kernel version
(2.6.9) Minimum kernel version to support
Debug facilities --->
[*] gdb --->
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.8.13)
Binary utilities --->
binutils version (2.22) --->
C compiler --->
gcc version (4.8.2) --->
[*] C++
[ ] Link libstdc++ statically into the gcc binary
C-library --->
C library (glibc) --->
glibc version (2.19.0) --->
(-g) gcc extra flags
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.82 (may not work with make 3.81)
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-v4.tar.gz
5. Build the cross tool-chain
Run the building script:$ cd crosstool-source-v4
$ ./build.sh all powerpc-440fp-linux-gnu
$ ./build.sh 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.