fix: Resolve BusError when running 32-bit binary on armv8 with compatibility#32
Conversation
…tibility When a 32-bit Android system runs on an ARMv8 device, Android reports to ReVanced that only 32-bit ABIs are supported. As a result, the ARMv7 binary is selected. Although ARMv8 provides a compatibility mode for 32-bit binaries, this mode is stricter than native ARMv7 execution, especially regarding memory alignment and structure layout. The modifications made to the C++ structures in apktool introduced a memory misalignment, which is tolerated on ARMv7 but triggers a BusError on ARMv8 in 32-bit compatibility mode.
|
Hey! thanks for the PR :) Do you mind git resetting and only including the latest commit? |
|
Ok but dev branch is missing the commit of OsumAtrIX, and the PR directly targetting the main of corentin-c |
|
Do you want to merge the modification of main into dev in another PR ? Or do you want to rebase the dev onto main before I reset py PR ? |
|
Oh in that case just leave them in, I didn't know dev was desynced from main |
|
Oh yeah, dev branch on aapt repo is new, tbh i dont think we need a dev branch yet, until we have heavy development around here, basing on main... |
|
Is this identical to our earlier fix we had on aapt2? @Axelen123 Also is this PR ready as is, I saw your comment on the related issue regarding armv8 compatibility mode |
Yes it is.
Yes, the revanced manager linked in the issue 30 use the aapt2 with this fix. Feedback of users on github and discord is positive: they patch without issue. |
|
Awesome, thanks! |
…Vanced/aapt2#32) The binaries provenance is attested by GitHub at https://github.com/ReVanced/aapt2/attestations. The artifacts are available at https://github.com/ReVanced/aapt2/releases/tag/v1.1.0. Related issue: ReVanced/aapt2#30
No description provided.