Adrià
9036e3c9e4
Merge pull request #12126 from morten-holm/fix/macos-host-stack-above-arena
...
fix(libkernel): move the macOS main stack out of the guest arena
2026-10-29 14:51:57 +01:00
Adrià
e87f2d9394
Merge pull request #12162 from AlexFigas/feat/libc-aligned-array-operators
...
feat(libc): export the remaining aligned and array operator new and delete overloads
2026-10-29 14:39:44 +01:00
Adrià
157b02c4f1
Merge pull request #11852 from ionut27001/fix/wf-scanf-q-length-linux
...
fix(libc): end sscanf and vsscanf at a q length on Linux and macOS
2026-10-29 13:57:18 +01:00
Adrià
df53927b7b
Merge pull request #10929 from Aspct3434/claude/modest-curie-705h76
...
fix(libc): read characters outside the BMP as surrogate pairs in fgetwc
2026-10-29 13:49:54 +01:00
Adrià
aab650b4d3
Merge pull request #11893 from JJenkx/windows/libc-printf-ignored-lengths
...
fix(libc): ignore printf length modifiers that do not apply, as titles' libc.prx does
2026-10-29 13:49:01 +01:00
Adrià
7b57271358
Merge pull request #11504 from verusferro/feat/libc-xfilesystem-error
...
feat(libc): throw std::filesystem::filesystem_error from _Xfilesystem_error as the console's libc does
2026-10-29 13:47:45 +01:00
Adrià
e3a7db45ed
Merge pull request #11734 from verusferro/feat/libc-btowc-wctob-internals
...
feat(libc): export _Btowc and _Wctob, which give btowc and wctob results in the console's libc
2026-10-29 12:57:40 +01:00
Dean
711c4eca09
Merge pull request #11785 from ionut27001/fix/libc-hardware-concurrency
...
fix(libc): return the CPU count of the default thread mask from std::thread::hardware_concurrency
2026-10-29 12:16:46 +13:00
Dean
3e3fa79116
Merge pull request #12229 from Danigamer05/feat/libc-stdc-one-runs
...
feat(libc): add C23 leading and trailing one counts
2026-10-29 12:10:46 +13:00
Dean
34ae0d5e9e
Merge pull request #12193 from Danigamer05/feat/libc-stdc-zero-runs
...
feat(libc): add C23 leading and trailing zero counts
2026-10-29 12:09:21 +13:00
Dean
b76d41ea82
Merge pull request #11979 from xXPBSXx/carry/6713-default-heap-no-procparam
...
fix(libc): use the default heap for an executable without process parameters
2026-10-29 11:49:55 +13:00
Dean
1f52200308
Merge pull request #11333 from Danigamer05/feat/libc-signed-max32
...
feat(libc): implement signed 32-bit maximum value helper
2026-10-29 07:27:25 +13:00
Adrià
8c621aa276
Merge pull request #11729 from iAbdulrrahman/feat/libc-fetch-64-bit-atomics
...
feat(libc): implement 64-bit atomic fetch helpers
2026-10-28 17:35:48 +01:00
Claude
84aec8b0ac
fix(libc): read characters outside the BMP as surrogate pairs in fgetwc
...
fputws and wprintf write a UTF-16 surrogate pair as one four-byte
UTF-8 sequence, but fgetwc decoded that sequence into a single code
point above 0xFFFF, which is not a 16-bit guest wchar_t value, and
fgetws stored it truncated: fputws(u"A\U0001F600\n") read back as
A, U+F600, newline.
fgetwc now returns the high surrogate and keeps the low one in the
stream for the next read, so fgetws stores the pair, also when the
buffer fills between the two halves. A successful seek discards it,
as FreeBSD's fseeko resets the stream's mbstate. Sequences that
decode to an overlong form or above U+10FFFF, and lead bytes F8 to
FF, fail with EILSEQ instead of returning made-up characters; the
three-byte surrogates that fputwc writes for a single unit are still
read back as that unit.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01QegaHM5QeCynUQ2ZLWHE4b
2026-10-28 14:43:48 +01:00
verusferro
7f2d69f340
feat(libc): export _Btowc and _Wctob, which give btowc and wctob results in the console's libc
2026-10-28 15:10:32 +03:00
verusferro
778c4a74ec
feat(libc): throw std::filesystem::filesystem_error from _Xfilesystem_error as the console's libc does
2026-10-28 15:10:30 +03:00
Alexandre Figueiredo
2b21d42b76
feat(libc): export the remaining aligned and array operator new and delete overloads
2026-10-28 11:50:06 +00:00
Dean
14a269cfef
Merge pull request #12187 from Danigamer05/feat/libc-stdc-count-zeros
...
feat(libc): add C23 count-zeros exports
2026-10-28 22:50:41 +13:00
Adrià
0cd07dc4ab
Merge pull request #11399 from iAbdulrrahman/feat/libc-digittoint-and-numbers
...
feat(libc): implement digittoint, isnumber, and ishexnumber
2026-10-28 06:34:59 +01:00
Adrià
895ead67f7
Merge pull request #11396 from iAbdulrrahman/feat/libc-timingsafe-memcmp
...
feat(libc): implement timingsafe_memcmp
2026-10-28 06:25:30 +01:00
Dean
5ab8acf45f
Merge pull request #11309 from Danigamer05/feat/libc-signed-min32
...
feat(libc): implement signed 32-bit minimum value helper
2026-10-28 17:50:21 +13:00
Dean
c9cc3b34db
Merge pull request #11304 from Danigamer05/feat/libc-unsigned-max32
...
feat(libc): implement unsigned 32-bit maximum
2026-10-28 17:50:05 +13:00
Dean
dbbe99aeb0
Merge pull request #9772 from UnhealthyKraken/feat/libc-floating-prefix
...
feat(libc): implement floating-point prefix helpers
2026-10-28 17:49:14 +13:00
Danigamer05
d7986b1fb6
feat(libc): add C23 leading and trailing one counts
2026-10-28 04:54:42 +01:00
Adrià
439d03db38
Merge pull request #11663 from Danigamer05/feat/libc-stdc-count-ones
...
feat(libc): add C23 count-ones exports
2026-10-28 04:19:47 +01:00
Adrià
f1f1737371
Merge pull request #11647 from B-Howell/codex/libc-strtoq
...
feat(libc): implement strtoq
2026-10-28 04:06:20 +01:00
Danigamer05
504111f10c
feat(libc): add C23 leading and trailing zero counts
2026-10-28 03:54:03 +01:00
Danigamer05
e5835d6866
feat(libc): add C23 count-zeros exports
2026-10-28 03:09:35 +01:00
Dean
82e2d0ed14
Merge pull request #11335 from xXPBSXx/fix/filestream-flags-race
...
fix(libc): read the stream status flags atomically when keeping a directory read error
2026-10-28 13:51:15 +13:00
Dean
4c6fcfcb5c
Merge pull request #9763 from rooklz/fix/libc-freopen-closed-stream
...
fix(libc): reopen a closed stream in freopen instead of aborting
2026-10-28 13:48:50 +13:00
Dean
6e9b9134f6
Merge pull request #11846 from heditrigui/feat/libc-reallocarray
...
feat(libc): implement reallocarray
2026-10-28 12:10:58 +13:00
Morten Holm and Claude Sonnet 5.5
3b1697cf1c
fix(libkernel): move the macOS main stack out of the guest arena
...
Under Rosetta the main thread stack lies at about 12 GiB, inside the guest
arena, where a title can map fixed addresses; a fixed mapping over it
aborts with a host region overlap.
- Aps5StartGuest moves the main thread onto a 16 MiB stack at
0x600000000000 when the old stack overlaps a host region of the arena.
It copies argv, environ, the program name and the initial block off the
old stack, then frees the old stack and releases its range to the arena.
- The guest thread keeps the stack size of the original main thread.
- The arena gets GuestArenaOverlapsHostRegion and
GuestArenaReleaseHostRegion for POSIX hosts.
- guest_main_stack_move starts the guest, then requires the main thread
outside the arena, a fixed mapping where the old stack was, and argv and
the environment intact.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-27 22:55:41 +01:00
xXPBSXx and Claude Sonnet 5.5
944b4d753e
Merge main ( f5fefb982c) into carry/6713-default-heap-no-procparam
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-27 22:29:34 +01:00
Adrià
e274546099
Merge pull request #11302 from Danigamer05/feat/libc-signed-max64
...
feat(libc): implement signed 64-bit maximum
2026-10-27 22:26:29 +01:00
Adrià
6d99bf4ccb
Merge pull request #11300 from Danigamer05/feat/libc-signed-min64
...
feat(libc): implement signed 64-bit minimum
2026-10-27 22:16:40 +01:00
Adrià
4a6005955f
Merge pull request #10898 from imellag/feat/libkernel-memory-protection-macos
...
feat(libkernel): guest memory protection and VirtualQuery on macOS hosts
2026-10-27 21:42:24 +01:00
Adrià
80b209d984
Merge pull request #11295 from Danigamer05/feat/libc-unsigned-min32
...
feat(libc): implement unsigned 32-bit minimum
2026-10-27 21:20:30 +01:00
Dean
ab6a87a163
Merge pull request #10460 from Danigamer05/feat/libc-unsigned-max64
...
feat(libc): implement unsigned 64-bit maximum
2026-10-28 06:53:22 +13:00
Adrià
a1053d987b
Merge pull request #11273 from Gruzzberry/fix/signal-pointer-faults
...
fix(libkernel): fail the signal action, mask, stack and pending calls with EFAULT on an unusable pointer
2026-10-27 17:55:35 +01:00
xXPBSXx and Claude Sonnet 5.5
e914dd269c
fix(libc): return a zeroed parameter block for an executable without process parameters
...
Callers of ApplicationProcessParameters_nid_no_patch read the compiled SDK
version at offset 16 without a null check, so the null result for the
no-parameters record would crash them. The lookup now returns a static
zeroed 0x40-byte block for that record, and the heap recognises it by
address and keeps registering its default allocator.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-27 16:04:22 +01:00
Danigamer05
f139bcf1fc
feat(libc): implement signed 32-bit maximum value helper
2026-10-27 15:46:15 +01:00
JJenkx and Claude Opus 5.5
4630a53d0e
fix(libc): ignore printf length modifiers that do not apply, as titles' libc.prx does
...
The printf family threw for a length modifier its conversion does not
take, such as %Ld, %hhc, %Ls, %hf or %hp, and the wide family returned
-1. The libc.prx bundled with titles ignores such a modifier: L on an
integer conversion or %n (an int), any length but l on %c and %s, any
but L on a floating conversion, and any on %p. Both formatters now drop
it before converting, and on Linux such a format goes to the guest
formatter. The _s forms, unmeasured, still throw.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 07:50:36 -04:00
Adrià
9149eec852
Merge pull request #11152 from thuanquang/perf/resident-page-bookkeeping
...
perf(libc): keep no per-page physical state for resident guest pages on Windows
2026-10-27 12:00:39 +01:00
Hedi Trigui
3d17309724
feat(libc): implement reallocarray
2026-10-27 10:46:33 +01:00
ionut27001
ead2b0ed1a
fix(libc): end the scan at a q length on Linux and macOS
2026-10-27 11:24:20 +02:00
Dean
801d5b9bc1
Merge pull request #11344 from thuanquang/fix/commit-every-view-of-a-run
...
fix(libc): reset every page of a run view that Commit reprotects
2026-10-27 22:05:59 +13:00
Dean
3bed136010
Merge pull request #10574 from edubox/feat/libc-mtx-init-default-name
...
feat(libc): export _Mtx_init_with_default_name_override
2026-10-27 21:34:30 +13:00
Dean
77f68f314b
Merge pull request #11560 from Ragbie/fix/write-after-read-update-stream
...
fix(libc): set up streams for writing after a read as FreeBSD does on Windows
2026-10-27 21:27:48 +13:00
Dean
8f255109ca
Merge pull request #11400 from iAbdulrrahman/feat/libc-heapsort
...
feat(libc): implement heapsort
2026-10-27 21:25:09 +13:00
Dean
e07c21ce68
Merge pull request #11157 from janzezno/feat/agc-frame-capture-linux
...
feat(agc): capture and replay frames on Linux
2026-10-27 21:20:55 +13:00