tg at swox.com
Tue Apr 27 21:07:18 CEST 2004
Torbjorn Granlund <tg at swox.com> writes:
David Newman <david.newman at jesus.ox.ac.uk> writes:
k62-pc-linux-gnu (K6-2 400) running gcc 3.3.3 and configured with
--enable-mpfr CFLAGS="-O3 -march=k6-2 -fomit-frame-pointer" :: failed on
"t-modlinv" and didn't complete the rest of the tests.
However, all tests passed after changing "-O3" to "-O2".
This is a bug in the GNU assembler. With some luck,
the bug is not triggered by gcc -O2.
This test case can be used to see the bug:
The addend of the GLOBAL_OFFSET_TABLE reference is incorrectly
assembled to 3 instead of 2.
I tested with binutils 2.12.1 which has the bug, and with
binutils 184.108.40.206, where the bug seems to be fixed.
Kevin, it is not clear how to do a configure test for this bug.
Rejecting the assembler from binutils 2.12.1 (and probably many
other versions with the same bug) would be very broad. Perhaps
one could hope for the best and reject the compiler when it + the
assembler generates the critical object code.
More information about the gmp-devel