Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2007-10-18 17:01:31
Size: 1396
Editor: ?ArthurLoiret
Comment:
Revision 3 as of 2007-10-18 17:05:51
Size: 1601
Editor: ?ArthurLoiret
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
Now let's build that. == Current cross-toolchain repository ==
Line 12: Line 12:
Add "deb http://people.dunnewind.net/arthur/sh4/cross/ ./" to your sources.list

Install gcc-4.1-sh4-linux-gnu libc6-dev-sh4-cross or whatever you want.


= Build our own toolchain =
Line 35: Line 41:
Get libc6-dev-sh4-cross and all its deps on http://people.dunnewind.net/arthur/sh4/cross/ ./ Get libc6-dev-sh4-cross and all its deps on http://people.dunnewind.net/arthur/sh4/cross/

SH4 Cross Toolchain howto

The goal is to setup a cross compiler to build glibc and then cross-compilong the sh4 native toolchain.

First, you must understant what does host, build and target correspond to:

  • host = The host arch where the code is supposed to _run_
  • build = The arch from where you _build_ the code
  • target = The arch that the code is supposed to _generate_ code for

Current cross-toolchain repository

Add "deb http://people.dunnewind.net/arthur/sh4/cross/ ./" to your sources.list

Install gcc-4.1-sh4-linux-gnu libc6-dev-sh4-cross or whatever you want.

Build our own toolchain

binutils

Get the binutils sources:

  • $ apt-get source binutils

Go to the source dir:

  • $ binutils-2.18/

Binutils packaging system already have all the targets you'll need to build an _i386_ binutils for _sh4_ targets, just run:

  • $ TARGET=sh4-linux-gnu fakeroot debian/rules binary-cross

You'll get a wonderful "binutils-sh4-linux-gnu_2.18-1_i386.deb", install it.

gcc

Since there already are some built glibc for sh4, we are going to install them instead of bootstrapping a minimal cross-compiler just to build the glibc and rebuild a full cross-compiler then...

glibc

Get libc6-dev-sh4-cross and all its deps on http://people.dunnewind.net/arthur/sh4/cross/

The package is already dpkg-cross'ed, just install it.

gcc

As for binutils, there already are cross targets in the packaging, run:

  • $ apt-get source gcc-4.2 $ cd gcc-4.2-4.2.2/ $ GCC_TARGET=sh4 fakeroot debian/rules binary