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).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :
http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20061012/49db5c8d/attachment.pgp