Subject: Re: pkgsrc gcc3 vs. sparc64?
To: Andrey Petrov <petrov@netbsd.org>
From: Rafal Boni <rafal@pobox.com>
List: tech-pkg
Date: 07/02/2003 12:03:14
In message <20030702000902.GA15274@NetBSD.ORG>, you write: 

-> It seems to me that currently the most reliable gcc version for sparc64 is
-> gcc 3.2.3. I saw several miscompilation reports for gcc3.3, and 3.3.x fixes
-> most of them, but if built on -current netbsd system it ICEs during 
-> regress/lib/libc/convfp/convfp.c compilation. Interestingly the same gcc 
-> version compiles that file without problem on solaris.

Hmm, interesting.  I've by no means kept up with gcc 3.x recently, so 
this is good to know.

-> I also made a complete built with gcc3.3 and installed and run it. And 
-> a major problem is that in-tree compiler doesn't work, due to crt[in].o
-> which became necessary for proper build. I havn't tried to rebuild intree
-> gcc to correct spec, we have it builtin inside compiler. So I tried
-> gcc3.2.3 and very interestingly that even with corrected spec (to include
-> mentioned crt* files) it can not generate executable which works. I might
-> screw something during build so I'm going to repeat this procedure again...

Heh, the funny thing is that rebuilding the gcc3 package with the 
previously built pkgsrc gcc3 doesn't seem to work, which I found out
while trying to fix the PIC-ness of libgcc :-).  I've re-added tech-pkg@
to the CC in case they care about this failure case...

It does like so:
/extra/pkgsrc/lang/gcc3/work/gcc-3.3/gcc/xgcc -B/extra/pkgsrc/lang/gcc3/work/gcc-3.3/gcc/ -B/usr/pkg/gcc-3.3/sparc64--netbsd/bin/ -B/usr/pkg/gcc-3.3/sparc64--netbsd/lib/ -isystem /usr/pkg/gcc-3.3/sparc64--netbsd/include -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/pkg/include -O2 -O -ffixed-g4 -I/usr/pkg/include -c signbit.c  -fPIC -DPIC -o .libs/signbit.o
signbit.c: In function `__signbit':
signbit.c:39: error: `ieee_double_shape_type' undeclared (first use in this function)
signbit.c:39: error: (Each undeclared identifier is reported only once
signbit.c:39: error: for each function it appears in.)
signbit.c:39: error: parse error before "gh_u"
signbit.c:39: error: `gh_u' undeclared (first use in this function)
gmake[3]: *** [signbit.lo] Error 1
gmake[3]: Leaving directory `/extra/pkgsrc/lang/gcc3/work/gcc-3.3/sparc64--netbsd/libstdc++-v3/libmath'
gmake[2]: *** [all-recursive] Error 1

--rafal

----
Rafal Boni                                                     rafal@pobox.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill