Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Oct 2006 13:22:57 -0400
From:      Mikhail Teterin <mi+mx@aldan.algebra.com>
To:        stable@freebsd.org
Cc:        gerald@freebsd.org
Subject:   Bug in 6.x' C++ compiler
Message-ID:  <200610111322.57735.mi%2Bmx@aldan.algebra.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610111322.57735.mi%2Bmx>