AnyPS5/core
Celegans12 2dea7164e3 feat(libcinternal): run thread_local destructors at thread exit
A title's own libc.prx implements __cxa_thread_atexit and the
destructor pass of exit() through _sceLibcInternalThreadAtexit and
_sceLibcInternalThreadDtors. Its __cxa_finalize calls
_sceLibcInternalForceTlsDestructor.

Destructors are kept per thread and run newest first, including those
registered while they run, as FreeBSD's __cxa_thread_call_dtors does.
A null destructor or one outside every loaded image throws instead of
being skipped. The first registration installs the pass as the
libkernel thread exit hook, so it runs on every guest thread before
the thread can be joined. _sceLibcInternalForceTlsDestructor throws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 17:51:35 +02:00
..
Decoder fix(pngenc): restrict adaptive filtering to the requested filter subset 2026-10-05 02:08:31 +02:00
libs feat(libcinternal): run thread_local destructors at thread exit 2026-10-05 17:51:35 +02:00
relinker fix(relinker): keep the host libc.prx needed on Linux when a title bundles its own 2026-10-05 20:36:29 +13:00
shader/recompiler Merge pull request #501 from adriadam10/fix/vop3-legacy-mods 2026-10-06 02:32:06 +13:00