Massive test failures for haswell-freebsd9

Torbjorn Granlund tg at
Thu Oct 24 02:53:02 CEST 2013

Regarding <>.

Some of you might have spotted build errors for solaris, with -fat.
This is due to a static allocation of their m4.  I've worked around it,
so next build round should pass.

A much worse error happens with Intel Haswell under FreeBSD 8 ad 9; here
almost all GMP test fail.  It is also m4 that is the culprit here.
FreeBSD m4's eval function is quite broken in that the 2nd and 3rd
arguments are completely ignored:

fbsd$ echo 'eval(12245853,16)' | m4

The correct output for that example is "BADB5D"...

The result is that incorrect opcodes are generated for some Haswell
specific instructions.  It is ironic that we handle these insns with m4
mainly because FreeBSD insists on using an antique assembler, so we hit
a 2nd bug when working around the 1st...

(I reported this bug 1.5 years ago to FreeBSD, when we first were bitten
by it.  They've fixed it in their upcming 10.0 release, but left it
unfixed in 8.3, 8.4, 9.0, and 9.1.)


More information about the gmp-devel mailing list