user42 at zip.com.au
Tue Apr 27 22:22:23 CEST 2004
Torbjorn Granlund <tg at swox.com> writes:
> I could reproduce this on our systems here (actually on an
> athlon-pc-freebsd using the same options as you).
Ah yes. A bug in past versions of gas. In refmpn_random_half in
tests/refmpn.c gcc emits
addl $_GLOBAL_OFFSET_TABLE_, %eax
but gas assembles that with an offset of 2 in the relocation, where it
should be 1 for a 1 byte opcode. (It's 2 bytes for a register other
than eax, like ebx which gcc always used to use for the GOT).
Seems to be fixed in debian binutils 184.108.40.206.7. I remember striking
this when trying to do the same in some hand written asm, there's a
note about it in mpn/x86/README.
More information about the gmp-devel