Commit Graph

9 Commits

Author SHA1 Message Date
Achraf Reyani df570de6d5 feat(libc): implement std::bad_weak_ptr and _Throw_bad_weak_ptr
BnMAMrsfVWo is _ZSt19_Throw_bad_weak_ptrv. Replace the unknown stub
with a throw of a guest std::bad_weak_ptr, and add its type info,
vtable, destructors and what().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 10:00:54 +02:00
Adrià 8cb527165a
Merge pull request #1120 from TideOPL/feat/libc-sce-v2-runtime-symbols
feat(libc): export the __sce_v2 _Xbad_function_call and sized aligned delete
2026-10-08 09:40:20 +02:00
TideOPL 88e742208b test(libc): require std::bad_function_call from the __sce_v2 thrower 2026-10-07 15:44:33 +01:00
Aarav 742fa2e395 test(libc): keep exception runtime assertions enabled in Release 2026-10-07 18:49:42 +05:30
TideOPL 183491b263 feat(libc): export the __sce_v2 _Xbad_function_call and sized aligned delete
PPSA16064 (Minecraft Dungeons II) ships its own libc.prx, which imports
two C++ runtime symbols from libSceLibcInternal that no host library
exported, so the title failed to load:

- std::__sce_v2::_Xbad_function_call() (_ZNSt8__sce_v219_Xbad_function_callEv),
  the inline-namespace spelling of the existing std::_Xbad_function_call.
  It throws std::bad_function_call the same way.
- operator delete(void*, std::size_t, std::align_val_t)
  (_ZdlPvmSt11align_val_t), the sized form of the existing aligned
  delete. It frees the pointer the same way and ignores the size.

application_heap_default frees an aligned block through the sized form
and checks that a null pointer frees nothing. exception_runtime checks
that the new thrower throws a standard exception; it is built only on
Linux and was not run here (Windows 11, MinGW GCC 15.2).
2026-10-07 14:08:13 +01:00
Adrià Franch fbf0099790 feat(libc): implement std::_Xrange_error and the range_error type
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-05 19:49:33 +02:00
asimplestray b42db4b6f3 feat(libc): implement RaiseEv, catchReturnFromMain and reallocalign 2026-09-30 23:55:00 +00:00
boykopovar ba6d7afc22 refactor(libc): __attribute__ replacing and removing 2026-09-06 13:02:22 +03:00
boykopovar baa8a8d9d3 feat(libc): add ex tests + remove bad_alloc dup 2026-09-06 07:30:59 +03:00