Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 320251 - =sys-devel/gcc-4.5.0* fails to configure on SH
Summary: =sys-devel/gcc-4.5.0* fails to configure on SH
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: sh Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL: http://repo.or.cz/w/official-gcc.git/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-17 19:07 UTC by Raúl Porcel (RETIRED)
Modified: 2010-10-07 02:31 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raúl Porcel (RETIRED) gentoo-dev 2010-05-17 19:07:20 UTC
checking whether ldgetname is declared... no
checking whether times is declared... yes
checking whether sigaltstack is declared... yes
checking for struct tms... yes
checking for clock_t... yes
checking for .preinit_array/.init_array/.fini_array support... yes
checking if mkdir takes one argument... no
with_multilib_list=m[1-4]* not supported.
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.0/work/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.0/work/build'
make: *** [bootstrap-lean] Error 2


Looks like its due to the 53_all_gcc4-superh-default-multilib.patch patch, since excluding it makes it work.
Comment 1 SpanKY gentoo-dev 2010-05-20 04:13:00 UTC
i imagine 53_all_gcc4-superh-default-multilib.patch needs tweaking
Comment 2 Raúl Porcel (RETIRED) gentoo-dev 2010-05-20 18:15:51 UTC
The files were punted on commit $URL
Comment 3 Raúl Porcel (RETIRED) gentoo-dev 2010-08-15 14:28:30 UTC
Any thoughts?
Comment 4 SpanKY gentoo-dev 2010-08-15 19:07:56 UTC
does this work any better for you ?

sh_multilibs=$(echo $(sed -n -e '/for abi in/,/ do /{s:for abi in::;s:[\\,]: :g;s:; do::;p}' ${srcdir}/config/sh/t-sh)) ;;
Comment 5 Raúl Porcel (RETIRED) gentoo-dev 2010-09-12 16:25:53 UTC
i wish i could fix that sed, but i'm unable to decypher it :P

with_multilib_list=m1m2m3m4-nofpum4-100-nofpum4-200-nofpum4-400m4-500m4-340m4-300-nofpum4alm4a-nofpu not supported.
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.1/work/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.1/work/build'
make: *** [bootstrap-lean] Error 2

And FYI, running it manually inside the gcc dir, i get this:
m1m2m3m4-nofpum4-100-nofpum4-200-nofpum4-400m4-500m4-340m4-300-nofpum4alm4a-nofpu m1m2m2a-nofpu m2em3em4-single-onlym4-100-single-onlym4-200-single-onlym4-300-single-onlym4a-single-only m2em2a-single-only m4-singlem4-100-singlem4-200-singlem4-300-singlem4a-single m4m4-100m4-200m4-300m4a m5-32mediam5-compactm5-32media m5-32media-nofpum5-compact-nofpum5-32media-nofpu

Comment 6 Raúl Porcel (RETIRED) gentoo-dev 2010-09-24 14:09:04 UTC
Well, i did the patch wrong, anyway its not going to work.

Until now, our patch does:
echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'
which returns:
,m1,m2,m2a,m2a-nofpu,m2a-single,m2a-single-only,m2e,m3,m3e,m4,m4-nofpu,m4-single,m4-single-only,m4a,m4a-nofpu,m4a-single,m4a-single-only,m4al

The new patch you suggested, returns this:
m1,m2,m3,m4-nofpu,m4-100-nofpu,m4-200-nofpu,m4-400,m4-500,m4-340,m4-300-nofpu,m4al,m4a-nofpu,m1,m2,m2a-nofpu,m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only,m2e,m2a-single-only,m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single,m4,m4-100,m4-200,m4-300,m4a,m5-32media,m5-compact,m5-32media,m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu,

gcc fails to build with:
checking whether sigaltstack is declared... yes
checking for struct tms... yes
checking for clock_t... yes
checking for .preinit_array/.init_array/.fini_array support... yes
checking if mkdir takes one argument... no
with_multilib_list=m4-100-nofpu not supported.
make[2]: *** [configure-stage1-gcc] Error 1

Looking at config.gcc, it only allows these multilibs:
        for sh_multilib in ${sh_multilibs}; do
                case ${sh_multilib} in
                m1 | m2 | m2e | m3 | m3e | \
                m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
                m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
                m2a | m2a-single | m2a-single-only | m2a-nofpu | \
                m5-64media | m5-64media-nofpu | \
                m5-32media | m5-32media-nofpu | \
                m5-compact | m5-compact-nofpu)

shrug...
Comment 7 SpanKY gentoo-dev 2010-09-24 14:42:15 UTC
try this then:

sh_multilibs=$(echo $(sed -n '/case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' gcc/config.gcc) | sed 's: ::g') ;;

we need to enable all multilibs by default because building things like the kernel will fail with the "reduced" toolchain.  it's easier to build a multilib enabled SuperH toolchain than to require people also install a dedicated kgcc.
Comment 8 Raúl Porcel (RETIRED) gentoo-dev 2010-09-26 17:03:24 UTC
Thats a funny one, because it hits itself:

# echo $(sed -n '/case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' gcc/config.gcc) | sed 's: ::g'

sh[1234]*sh_multilibs=$(echo$(sed-n'//,//{s:case${sh_multilib}in::;s:,*:,:g;s:[]::g;p}'config.gcc,sed's:::g';;sh64*,sh5*sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu;;m1,m2,m2e,m3,m3e,m4,m4-single,m4-single-only,m4-nofpu,m4-300,m4a,m4a-single,m4a-single-only,m4a-nofpu,m4al,m2a,m2a-single,m2a-single-only,m2a-nofpu,m5-64media,m5-64media-nofpu,m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu
Comment 9 SpanKY gentoo-dev 2010-09-28 08:20:02 UTC
sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case
${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' gcc/config.gcc) | sed 's: ::g')
;;
Comment 10 Raúl Porcel (RETIRED) gentoo-dev 2010-10-01 18:28:29 UTC
The last one worked, however the file to be sed'ed is ${srcdir}/config.gcc instead of gcc/config.gcc