AnyPS5/core
Michon d29a1296cd fix(relinker): give Windows guest modules with TLS an import directory
The Windows loader sets up TLS for a dynamically loaded DLL only when it snaps
the DLL's imports. Guest modules had no import directory, so their TLS
directory was never processed: every guest module kept TLS index 0 and read
and wrote the executable's TLS block. A guest libc's thread-locals (gmtime's
buffer at +0x39c in Marvel's Wolverine) then ran past the executable's
0x150-byte block into the process heap, and corrupted a loader node that
crashed the next thread start in ntdll. Guest modules with TLS now import from
KERNEL32, as the executable does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 22:47:50 +02:00
..
Decoder feat(decoder): add shared PNG encoder and decoder in core/Decoder/Png 2026-09-30 11:03:12 +01:00
libs Merge pull request #192 from MichonGoddijn231849/perf/validation-failure-memo 2026-09-30 22:12:58 +03:00
relinker fix(relinker): give Windows guest modules with TLS an import directory 2026-09-30 22:47:50 +02:00
shader/recompiler Merge pull request #174 from STL1te/fix/bda-lookup-dontinline 2026-09-30 21:12:05 +03:00