mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-03 12:57:27 +00:00
Addresses the #12591 review. Because the Windows image ORs page permissions, refuse a congruent overlap when one segment is executable and the other writable and the later segment does not start on a page boundary, which would otherwise share a read-write-execute page; the rule is applied on both loaders so their acceptance decision matches. Bound the congruence check to the file-backed part of the overlap and compare spans rather than walking the implicit zero bytes of a large bss overlap. Expand test_executable_segments.py: byte-congruent tail and bss overlaps accepted with their trimmed sizes and no output overlap; a write-execute overlap refused at an unaligned boundary and accepted at an aligned one with the Windows image carrying no write-execute section; differing bytes, an overlap past the later end, a non-zero file byte over the later segment's bss, and a shared start address refused; and a no-overlap control. Keep only the PPSA ids in the relinker.md note. Co-Authored-By: Claude Opus 4.8 <[email protected]>