The gcc-3.x toolchains would contain all the targets by default. With gcc-4, you have to actually list out the multilibs you want or you will end up with just one when using targets like 'sh4-linux-gnu'. The resulting toolchain can't even build a kernel as the kernel needs to build with the nofpu flag to be sure that no fpu ops are generated. Here we restore the gcc-3.x behavior; the additional overhead of building all of these multilibs by default is negligible. https://bugs.gentoo.org/140205 https://bugs.gentoo.org/320251 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ if test "$sh_multilibs" = "default" ; then case ${target} in sh64-superh-linux* | \ - sh[1234]*) sh_multilibs=${sh_cpu_target} ;; + sh[1234]*) sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' ${srcdir}/config.gcc) | sed 's: ::g') ;; sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;