Commit Graph
4 Commits
Author SHA1 Message Date
MarcZX10 c7fbae3ebd test(libc): cover a skipped virtual base and a nonvirtual private base in __do_find_public_src
The -3 hint skips virtual bases, which only a virtual-base fixture exercises, and the private fixture now has the nonvirtual flags its name says.
2026-10-27 07:12:21 +00:00
MarcZX10 fc8d6c625f feat(libc): find public RTTI source subobjects 2026-10-27 07:11:53 +00:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
RickandClaude Opus 5.5 f4be0362c8 fix(libc): call __dynamic_cast and __cxa_init_primary_exception with the guest ABI
Every other export of the C++ runtime is declared APS5_VABI, but these two
were not. On Windows a title calls them with the System V convention while
they read the Microsoft one, so __dynamic_cast took its fourth argument, the
src2dst hint, as the source pointer: an ordinary downcast (hint 0) returned
null, and the negative hints made it read through an invalid pointer.

guest_dynamic_cast calls both through APS5_VABI declarations, as a title
does, and checks a single-inheritance downcast, a failed cross cast, a cast
of a base object and the header __cxa_init_primary_exception fills in.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-13 09:10:08 +02:00