]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commit
sh4: fix toolchain creation
authorWaldemar Brodkorb <wbx@openadk.org>
Wed, 8 Apr 2015 08:54:55 +0000 (10:54 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 3 May 2015 14:30:36 +0000 (16:30 +0200)
commit19d5953bf15b9e68d083fc72bcd40b02b7ab810a
tree79ac8d908ea631ac22b1b3b8f3d32bd788474ac5
parent25206d6e26dc4ce9c272e68876f31d0ca7d30e67
sh4: fix toolchain creation

The Linux kernel does force compile with -m4-nofpu, which is only
available when building a multilib toolchain.
The interesting part here is, that buildroot use --disable-multilib for
gcc configure, but enables --with-multilib-list=m4,m4-nofpu in
the default configuration for Qemu targeting r2d emulation.
This results in a toolchain, which can be used for the kernel and
for userland without creating a multilib toolchain with different
kinds of libgcc version. In the multilib case there would be
subdirectories created (!m4 and m4-nofpu). As buildroot uses a
short version of toolchain creation, a multilib enabled gcc build
fails when creating libgcc.

So the best solution is to just keep multilib disabled, but always
add --with-multilib-list when sh4/sh4eb/sh4a/sh4aeb is choosen.

Tested with sh4/sh4a toolchain build and qemu defconfig with
gcc 4.8.x/4.9.x (with and without C++ enabled), uClibc and glibc.

Disable sh4a/sh4aeb for uClibc, as it does not implemented, yet.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 (ARM and SH4 uClibc toolchain builds)
configs/qemu_sh4_r2d_defconfig
package/gcc/gcc-final/gcc-final.mk
toolchain/toolchain-buildroot/Config.in