1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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 ;;
|