-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Bruno Haible on 12/7/2007 4:19 AM: > > Either this, or ensure that the "checking where to find the exponent" tests > return the bit positions instead of "unknown". > > But I don't see how to implement either of these two possible fixes for a > cross-compiler, in a way that works also for other platforms than mingw. > Any ideas?
How expensive is a run-time test to find exponent positions, and how likely would such a test be to run without causing a reference to an invalid pattern? Maybe the solution is to code a run-once check into the cross-compiled app with unknown configure-time exponent position, so that the rest of the code can fall back on a computed instead of compile-time value during execution. Yes, that would mean that cross-compiled performance is a bit slower, but at least it would be generically correct. As for configure-time cross-compiling checks, could we write up a test similar to the word-endianness checks, where known sentinels are injected into the .o file via structure initialization to allow examination of the layout of that .o file? That is, come up with something like this untested snippet: struct { char pre[16]; double value; char post[16]; } checker { "pattern1", 1.0, "pattern2" }; then grepping through the object file for the two patterns and observing the bit pattern of the floating point value in between? - -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHWUZF84KuGfSFAYARAr+aAJ0b9CiIb/2BxNBeOGmzDD39VC/31wCdFUO8 /7n7fRPqYqWSjriAVYH/y1o= =vOC7 -----END PGP SIGNATURE-----