Re: Bug in 6.x' C++ compiler
On Wed, Oct 11, 2006 at 01:22:57PM -0400, Mikhail Teterin wrote: GCC would not fix the bug described in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29390 because the compiler is of an unsupported version (they only support 4.x now). Yet, the problem is rather real and hits when the devel/icu port is built with low optimization (-O1 or -O0). Any chance, someone with interest in GCC internals and FreeBSD can find the fix? Simply compiling the loctest.ii, that is attached to the above bugzilla report, is enough to reproduce the problem. Compiling with `-march=pentium4' triggers the bug -- a bogus symbol is inserted: % c++ -O0 -g -c -pipe -march=pentium4 loctest.ii % nm locate.o | fgrep .LC U .LC786 Compiling without the -march (or with -O2) does not insert the bogus symbol: % c++ -O2 -g -c -pipe -march=pentium4 loctest.ii % nm loctest.o | fgrep .LC % c++ -O0 -g -c -pipe loctest.ii % nm loctest.o | fgrep .LC % I'm seeing this with both 3.4.4 and 3.4.6 versions of GCC... Thanks! -mi deviant% /usr/local/opt/gcc-3.4.6/bin/g++ -O0 -g -c -fno-strict-aliasing -pipe -march=pentium4 loctest.ii deviant% nm loctest.o | grep LC U _ZNK7icu_3_66Locale7getLCIDEv deviant% c++ -O0 -g -c -fno-strict-aliasing -pipe -march=pentium4 loctest.ii deviant% nm loctest.o | grep LC U .LC786 U _ZNK7icu_3_66Locale7getLCIDEv deviant% /usr/local/opt/gcc-3.4.6/bin/g++ -v Reading specs from /usr/local/opt/gcc-3.4.6/lib/gcc/i386-little-freebsd6/3.4.6/specs Configured with: ../gcc-3.4.6/configure --prefix=/usr/local/opt/gcc-3.4.6 --enable-shared --enable-threads --with-system-zlib --enable-__cxa_atexit --disable-nls --enable-long-long --with-as=/usr/local/opt/binutils/bin/as --with-ld=/usr/local/opt/binutils/bin/ld --enable-languages=c,c++,f77,objc,ada,java --host=i386-little-freebsd6 Thread model: posix gcc version 3.4.6 deviant% c++ -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 opt/gcc-3.4.6 is the stock version of the 3.4.6 built directly from the FSF sources (relatively long time ago). pgpuRjt8wbWNF.pgp Description: PGP signature
OT: Re: Bug in 6.x' C++ compiler
Kostik Belousov wrote: On Wed, Oct 11, 2006 at 01:22:57PM -0400, Mikhail Teterin wrote: GCC would not fix the bug described in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29390 because the compiler is of an unsupported version (they only support 4.x now). Yet, the problem is rather real and hits when the devel/icu port is built with low optimization (-O1 or -O0). Any chance, someone with interest in GCC internals and FreeBSD can find the fix? Simply compiling the loctest.ii, that is attached to the above bugzilla report, is enough to reproduce the problem. Compiling with `-march=pentium4' triggers the bug -- a bogus symbol is inserted: % c++ -O0 -g -c -pipe -march=pentium4 loctest.ii % nm locate.o | fgrep .LC U .LC786 Compiling without the -march (or with -O2) does not insert the bogus symbol: % c++ -O2 -g -c -pipe -march=pentium4 loctest.ii % nm loctest.o | fgrep .LC % c++ -O0 -g -c -pipe loctest.ii % nm loctest.o | fgrep .LC % I'm seeing this with both 3.4.4 and 3.4.6 versions of GCC... Thanks! -mi deviant% /usr/local/opt/gcc-3.4.6/bin/g++ -O0 -g -c -fno-strict-aliasing -pipe -march=pentium4 loctest.ii deviant% nm loctest.o | grep LC U _ZNK7icu_3_66Locale7getLCIDEv deviant% c++ -O0 -g -c -fno-strict-aliasing -pipe -march=pentium4 loctest.ii deviant% nm loctest.o | grep LC U .LC786 U _ZNK7icu_3_66Locale7getLCIDEv deviant% /usr/local/opt/gcc-3.4.6/bin/g++ -v Reading specs from /usr/local/opt/gcc-3.4.6/lib/gcc/i386-little-freebsd6/3.4.6/specs Configured with: ../gcc-3.4.6/configure --prefix=/usr/local/opt/gcc-3.4.6 --enable-shared --enable-threads --with-system-zlib --enable-__cxa_atexit --disable-nls --enable-long-long --with-as=/usr/local/opt/binutils/bin/as --with-ld=/usr/local/opt/binutils/bin/ld --enable-languages=c,c++,f77,objc,ada,java --host=i386-little-freebsd6 Thread model: posix gcc version 3.4.6 deviant% c++ -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 opt/gcc-3.4.6 is the stock version of the 3.4.6 built directly from the FSF sources (relatively long time ago). Well, I hope this bug has been sent by heaven and speeds up swapping system compiler of FreeBSD 6.X to 4.1 or 4.X :-) ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Bug in 6.x' C++ compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29390 четвер 12 жовтень 2006 05:54, Kostik Belousov написав: Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 opt/gcc-3.4.6 is the stock version of the 3.4.6 built directly from the FSF sources (relatively long time ago). Well, if the stock gcc-3.4.6 does not have the problem, but FreeBSD's version does, then finding the guilty diff would not be hard. RE, would it be possible to hold the 6.2 release, over this? -mi ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Bug in 6.x' C++ compiler
On Thu, Oct 12, 2006 at 12:36:42PM -0400, Mikhail Teterin wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29390 четвер 12 жовтень 2006 05:54, Kostik Belousov написав: Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 opt/gcc-3.4.6 is the stock version of the 3.4.6 built directly from the FSF sources (relatively long time ago). Well, if the stock gcc-3.4.6 does not have the problem, but FreeBSD's version does, then finding the guilty diff would not be hard. In fact, the absence of that symbol in the code generated by differently configured gcc means nothing. After I noted that, I did rebuilt the icu with that compiler, and with march=pentium4 -O0 it built and tested normally. I think that this is actually some change in the configuration (and binutils version it was configured with) that matters. pgpx3Qi3K7kEF.pgp Description: PGP signature
Re: OT: Re: Bug in 6.x' C++ compiler
On Thu, 12 Oct 2006 15:02:45 +0200 O. Hartmann [EMAIL PROTECTED] wrote: Well, I hope this bug has been sent by heaven and speeds up swapping system compiler of FreeBSD 6.X to 4.1 or 4.X :-) ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to [EMAIL PROTECTED] I've just had a confident message from heaven. They said major compiler upgrades in 6.x will not happen anytime soon and wanted me to pass this on to you. -- Alexander Kabaev signature.asc Description: PGP signature