]> granicus.if.org Git - python/commit
closes bpo-34585: Don't do runtime test to get float byte order. (GH-9085)
authorRoss Burton <ross@burtonini.com>
Wed, 19 Sep 2018 06:25:48 +0000 (07:25 +0100)
committerBenjamin Peterson <benjamin@python.org>
Wed, 19 Sep 2018 06:25:48 +0000 (23:25 -0700)
commit2a9c3805ddedf282881ef7811a561c70b74f80b1
treef50deac3aa512a6932c1c459a0d77b3d6a101580
parent471503954a91d86cf04228c38134108c67a263b0
closes bpo-34585: Don't do runtime test to get float byte order. (GH-9085)

Currently configure.ac uses AC_RUN_IFELSE to determine the byte order of doubles, but this silently fails under cross compilation and Python doesn't do floats properly.

Instead, steal a macro from autoconf-archive which compiles code using magic doubles (which encode to ASCII) and grep for the representation in the binary.

RFC because this doesn't yet handle the weird ancient ARMv4 OABI 'mixed-endian' encoding properly. This encoding is ancient and I don't believe the union of "Python 3.8 users" and "OABI users" has anything in. Should the support for this just be dropped too? Alternatively, someone will need to find an OABI toolchain to verify the encoding of the magic double.
Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst [new file with mode: 0644]
configure.ac
m4/ax_c_float_words_bigendian.m4 [new file with mode: 0644]