This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Created on 2018-09-05 10:57 by rossburton, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
0001-Don-t-do-runtime-test-to-get-float-byte-order.patch rossburton, 2018-09-05 10:57
Pull Requests
URL Status Linked Edit
PR 9085 merged rossburton, 2018-09-06 22:54
Messages (3)
msg324627 - (view) Author: Ross Burton (rossburton) * Date: 2018-09-05 10:57
Currently configure.ac uses AC_RUN_IFELSE to determine the byte order of floats and doubles. This hurts when cross-compiling because a default is set, resulting in Python silently falling back to sub-optimal codepaths. A partial improvement would be to not set a fallback, to force the user to set the right byte order explicitly. However this test can be done without running anything. autoconf-archive has a macro that uses a carefully constructed double that encodes to an ASCII string in the binary, which is then examined using grep. Evil genius. Attached is a POC using this. Currently the autoconf-archive macro only handles big and little endian not the ARM OABI mixed-endian format, so configure.ac assumes if the byte order is unknown then it's the crazy mixed-endian. To be honest OABI is so old now, I don't believe anyone actually uses it anymore: everyone still on ARMv4 should have moved to EABI many years ago, and the mixed-endian support could be removed from Py3 in the future.
msg325705 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2018-09-19 06:25
 New changeset 2a9c3805ddedf282881ef7811a561c70b74f80b1 by Benjamin Peterson (Ross Burton) in branch 'master': closes bpo-34585: Don't do runtime test to get float byte order. (GH-9085) https://github.com/python/cpython/commit/2a9c3805ddedf282881ef7811a561c70b74f80b1 
msg325708 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2018-09-19 06:49
 New changeset b3b8cb419e496629873fa7dda82a01863f58617a by Benjamin Peterson in branch 'master': run autoconf (GH-9411) https://github.com/python/cpython/commit/b3b8cb419e496629873fa7dda82a01863f58617a 
History
Date User Action Args
2022-04-11 14:59:05adminsetgithub: 78766
2018-09-19 06:49:08benjamin.petersonsetmessages: + msg325708
2018-09-19 06:25:56benjamin.petersonsetstatus: open -> closed

nosy: + benjamin.peterson
messages: + msg325705

resolution: fixed
stage: patch review -> resolved
2018-09-13 15:06:59ned.deilysetnosy: + tim.peters, mark.dickinson
2018-09-07 05:37:01yan12125setnosy: + yan12125
2018-09-06 22:54:53rossburtonsetstage: patch review
pull_requests: + pull_request8543
2018-09-05 10:57:22rossburtoncreate