Commit be4a3b7
authored
When a 32-bit Android system runs on an ARMv8 device, Android reports to
apps 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.
1 parent 62222bb commit be4a3b7
2 files changed
+16
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
24 | 27 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments