AX_C_FLOAT_WORDS_BIGENDIAN: Fix bug "AX_C_FLOAT_WORDS_BIGENDIAN fails…
… whenever interprocedural optimization is enabled."
Previous versions of this macro would not work when interprocedural
optimization (via link-time optimization) was enabled. This would happen
when, say, the GCC/clang "-flto" flag, or the ICC "-ipo" flag was used, for
example. The problem was that under these conditions, the compiler did not
allocate for and write the special float value in the data segment of the
test object file. Thus, the special value (in platform-dependent binary form)
could not be found, and the macro would fail.
The solution to the above problem was to:
1) Compile and link a whole test program rather than just compile an
object file.
2) Add code that requires the compiler to write the special value to
the data segment of the program executable.
For further details, refer to the documentation in the macro source file. Note
that this change already increments the serial number of the file.
This change resolves the following issues:
CPython issue #89640
python/cpython#89640
Gentoo bug #700012
https://bugs.gentoo.org/700012
Cairo issue #459
https://gitlab.freedesktop.org/cairo/cairo/-/issues/459
Poky (Yocto Project) #12699
https://lists.yoctoproject.org/g/poky/topic/
89131836
Change-Id: I7fd6401e3dcb0ffeeb2e51c06fe8630f146d12ad