mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-07 13:39:55 +00:00
RelinkerPipeline::Relink accepted ET_EXEC input, and every Linux mode placed it at base + p_vaddr: at 0x400000 by default, at the --linux-fixed-base address, or at a load bias as ET_DYN with --lazy-binding, so its absolute references that carry no relocation kept pointing at the link addresses. The gABI chapter on program loading says the segments of an executable file must reside at the virtual addresses used to build it. ET_DYN and the SCE dynamic types 0xfe10 and 0xfe18, the types WindowsLoadImage already accepts as position independent, may be placed at a base. Relink now rejects ET_EXEC on every target before the allowlist, which accepts ET_DYN, 0xfe10 and 0xfe18. ET_EXEC input now exits 2 without writing output; outputs for the other accepted types are unchanged.