gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel#145617
Conversation
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
|
Thanks, I'll look at this in the next few days. |
|
I have provided additional follow-up information here |
mhsmith
left a comment
There was a problem hiding this comment.
Thanks, this looks fine, but please also update the corresponding code in test_get_platform in test_sysconfig.py.
… Android on 64-bit ARM kernel - When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works. - Issue: python#145616
eb69366 to
b01cf02
Compare
|
Thank you for pointing that out, I didn't notice that code previously. I hope I've updated it correctly now. |
|
Also, pardon me for asking, but when you put the "needs backport to 3.13" and "needs backport to 3.14" labels on this, does that mean that I should open follow-up PRs afterward targeting those branches of Python, or will you do that? |
|
Thanks @robertkirkman for the PR, and @encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14. |
… Android on 64-bit ARM kernel (pythonGH-145617) When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works. (cherry picked from commit 3a2b81e919103c0be3bc60a47aaa74d34fea6e9e) Co-authored-by: Robert Kirkman <31490854+robertkirkman@users.noreply.github.com>
|
Sorry, @robertkirkman and @encukou, I could not cleanly backport this to |
|
GH-146464 is a backport of this pull request to the 3.14 branch. |
…M Android on 64-bit ARM kernel (GH-145617) (#146464) gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel (GH-145617) When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works. (cherry picked from commit 3a2b81e) Co-authored-by: Robert Kirkman <31490854+robertkirkman@users.noreply.github.com>
os.uname().machineisarmv8l. Such devices run the same userspace code asarmv7ldevices, so apply the samearmeabi_v7aAndroid ABI to them, which works.pip installdoes not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel #145616