proot
proot copied to clipboard
loader on AArch64 has a program header at 20'0000h
Expected Behavior
Not to intersect with the lower 32-bits. This causes applications like wine running under emulation to not load due to intersecting memory ranges.
Maybe think about compiling loader with -static-pie
instead of -static
so this program section goes away. While still allowing the loader address to still be placed at 20'0000'0000h
Actual Behavior
ELF gets loaded at offset 20'0000h due to a program header being fixed there.
Steps to Reproduce the Problem
- readelf -a loader.elf
- See a LOAD type at address 20'0000h
Specifications
- Proot/Care version: 0a1d0b4aa466f4cee8ece1a508ddcde9bdaf36b1
- Kernel version: 5.16.2
- Host distribution: Ubuntu 21.10
- Guest distribution: Ubuntu 21.10