bpo-36071 Add support for Windows ARM32 in ctypes/libffi by paulmon · Pull Request #12059 · python/cpython
Conversation
This will need to rebased on the pending libffi PR before it is merged
All test_ctypes tests pass on both retail and debug builds except for test_SEH (retail only)
I am trying to see if I can get help with the unwind semantics in arm assembly using MSVC tools
Also python/cpython-source-deps#9 will need to be merged before this will build.
Since I assume this PR is going to require new libffi builds, keep using the branch name in get_externals until it's ready. Then remind me to tag it and remind you to change to use the tag before merging :)
It's probably also a good idea to rebase this onto master and squash all the commits (do a merge, then git reset --soft upstream/master, re-commit, and force push).
@zooba I cleaned up this PR.
I also cleaned up the PR for the arm32 libffi-7.dll changes:
python/cpython-source-deps#9
I have build this locally and tested test_ctypes on a Raspberry Pi 3 with success.
I kicked off all of the standard library tests and will check on that later.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few unrelated changes, it seems, but otherwise it looks okay. (Is there another PR I should be looking at first)
A few unrelated changes, it seems, but otherwise it looks okay. (Is there another PR I should be looking at first)
This PR adds libffi support for arm32 on windows. python/cpython-source-deps#9
only use optimizer workaround on old compilers enable ctypes for ARM in configuration manager
Paul Monson added 2 commits
April 15, 2019 10:37@paulmon How did this pass without the libffi build? Which PR requires the build?
Do you mean how did the CI build pass? The CI build passes because there is no arm32 in the strategy matrix in pr.yml (also ci.yml).
I think the CI/PR pipelines will need to skip running tests for ARM builds if they are added here. In addition to needing to execute the tests on an ARM machine the tests currently take close to 90 minutes on a raspberry pi.
Also, if you add ARM to the CI build right now the build will break on this: #12665
One more thing. To build ARM from master --no-tkinter and --no-ssl are both needed as well. I can propose changes to the CI.yml files in a PR if you think that would be helpful.
Do you mean how did the CI build pass? The CI build passes because there is no arm32 in the strategy matrix in pr.yml (also ci.yml).
Ah yeah, that makes sense :)
Let's just get the buildbot plugged in. We're clearly not going to run tests from any of our CI providers just yet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters