-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correctly parse ELF for musllinux on Big Endian #538
Conversation
This still fails for me with the following error:
Tested on SUSE Linux Enterprise Server 15 with Python 3.6. |
Ah, right, it’s because the test still uses endian-sensitive rules. |
I pushed a change for that specific test; does this work? In the long term I think we should probably extract the ELF parsing logic into a common class that can be used across musllinux, manylinux, and in test code. |
Unfortunately not:
|
LOL because I messed it up. It should be |
288a13e
to
a339dd3
Compare
Works now, thanks! |
Based on test binary provided in #473 (comment)
Note that this does not actually fix anything. The current implementation would yield the correct result on a BE system when reading a BE Python interpreter, which is what should happen (a Python interpreter with non-matching endian won’t run to begin with). This simply makes the logic more explicit so the unit tests pass on a BE system, even though they only test parsing LE executables.