Commit Graph
710 Commits
Author SHA1 Message Date
Adrià 18bf374028 Merge pull request #12178 from Henryisdjfunkyho/fix/libc-nearbyintf-current
fix(libc): raise inexact for nearbyintf
2026-10-30 02:00:49 +01:00
Adrià 76fd1c09e9 Merge pull request #11270 from AlexFigas/fix/libc-llog-dinkumware
fix(libc): compute _LLog with the bundled libc.prx's Dinkumware code
2026-10-30 01:40:35 +01:00
Adrià 96613bba67 Merge pull request #12060 from Ragbie/fix/windows-directory-flock
fix(libkernel): lock directories with flock on Windows as FreeBSD does
2026-10-30 01:04:03 +01:00
Adrià 5e216d6aed Merge pull request #10927 from edubox/feat/libc-throw-bad-array-new-length
feat(libc): implement std::_Throw(const std::bad_array_new_length&)
2026-10-30 00:18:44 +01:00
Adrià 202037c3d7 Merge pull request #12691 from JJenkx/codex/libc-bsearch-zero-stride-20261029
fix(libc): allow zero-stride bsearch_s as bundled libc does
2026-10-30 00:18:02 +01:00
Adrià e1dd37721c Merge pull request #12555 from JJenkx/codex/libc-fltrounds-x87-20261028
fix(libc): read x87 rounding in _Fltrounds
2026-10-29 23:28:14 +01:00
Adrià 4740534186 Merge pull request #12527 from JJenkx/windows/libc-strerror-extended
fix(libc): name the extended errno values in strerror as titles' libc.prx does
2026-10-29 23:01:08 +01:00
Adrià cbc39db363 Merge pull request #12117 from plexerPK/codex/macos-write-watch-nonwrite-faults
fix(libc): forward non-write faults from watched macOS pages
2026-10-29 21:20:52 +01:00
Dean e73bc4c682 Merge pull request #12469 from BunnyFl/fix/libc-setvbuf-host-write
fix(libc): keep setvbuf stream buffers in host memory
2026-10-30 03:00:40 +13:00
Dean 1b75a2de11 Merge pull request #10433 from Retr0G28/fix/freopen-directory
fix(libc): open a directory with freopen in a read mode on Windows
2026-10-30 02:59:56 +13: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
Alexandre Figueiredo 7b6c2e82ec fix(libc): compute _LLog with the bundled libc.prx's Dinkumware code 2026-10-29 10:12:06 +00:00
Adrià f99d7fece3 Merge pull request #12054 from Aspct3434/claude/libc-environment-strings-stay-alive
fix(libc): keep guest environment strings alive across setenv and uns…
2026-10-29 11:08:38 +01:00
Adrià 9365465457 Merge pull request #12186 from Gonic0/fix/libc-getifaddrs-af-link-macos
fix(libc): list getifaddrs AF_LINK entries on macOS hosts
2026-10-29 07:44:43 +01:00
Henryisdjfunkyho 472500cb80 fix(libc): honor rounding modes in nearbyintf 2026-10-28 22:06:25 -07:00
Henryisdjfunkyho f516dc406a docs(libc): record unmeasured nearbyint variants 2026-10-28 22:06:24 -07:00
Henryisdjfunkyho 3182d23266 fix(libc): raise inexact for nearbyintf 2026-10-28 22:06:24 -07:00
JJenkx 39f432f357 fix(libc): allow zero-stride bsearch_s as bundled libc does 2026-10-28 22:17:34 -04:00
Eduardo Ruiz f94297b8c2 docs(libc): drop the title name from the _Throw debt entry 2026-10-29 01:03:00 +01:00
Eduardo Ruiz c7b70f44b0 feat(libc): implement std::_Throw(const std::bad_array_new_length&)
Follow the console libc.prx (PPSA02530) at 0xcb2d0: ignore the argument and throw the static bad_array_new_length object. Star Wars Racer (PPSA28416) imports it.
2026-10-29 01:03:00 +01:00
Retr0 e7798c0e4b Merge remote-tracking branch 'origin/main' into fix/freopen-directory
# Conflicts:
#	docs/dev/debt/libc.md
2026-10-29 01:22:27 +02: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 91f495595f Merge pull request #12289 from fogydes/fix/bsearch-s-zero-size
fix(libc): invoke constraint handler on zero element size in bsearch_s
2026-10-29 11:47:28 +13:00
JJenkx dee895a889 docs(libc): identify library in _Fltrounds debt entry 2026-10-28 15:46:40 -04:00
JJenkx 695f3b59ed test(libc): isolate floating-rounding regression from adjacent work 2026-10-28 15:30:25 -04:00
JJenkx 2d46185617 fix(libc): read x87 rounding in _Fltrounds 2026-10-28 15:26:53 -04: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
Dean 45f40b505d Merge pull request #12291 from B-Howell/claude/fix-issue-9691-hex-strtod-erange
fix(libc): match title libc.prx for hexadecimal strtod underflow
2026-10-29 07:26:33 +13:00
AdriàandClaude Sonnet 5.5 e80f7d8048 docs(libc): limit strerror_s firmware 13.60 claim to the measured numbers
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 19:15:47 +01:00
JJenkxandClaude Opus 5.5 6caa14c3dc fix(libc): name the extended errno values in strerror as titles' libc.prx does
The libc.prx that PS5 titles ship (PPSA05916, PPSA07923, PPSA13934) gives
strerror, strerror_r and strerror_s texts for eight numbers above the
FreeBSD range: 107 "State not recoverable", 108 "Owner dead", 152 "File
positioning error", 1040 "No message available", 1050 "No stream
resources", 1051 "Not a stream", 1062 "Other" and 1074 "Stream timeout".
AnyPS5 answered "error_code=0x%08x" for them. Every other number from
-2000 to 2000, INT_MAX and INT_MIN already matched.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 19:15:43 +01:00
Adrià 7fea87746b Merge pull request #11737 from xXPBSXx/libm/asinh-msun
fix(libc): compute asinh with FreeBSD msun's algorithm
2026-10-28 17:58:59 +01: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
BunnyFlandClaude Opus 5.5 df28f3f54b docs(libc): state the macOS setvbuf refill failure as untested
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 16:33:50 +01:00
BunnyFlandClaude Opus 5.5 b689f2412a fix(libc): keep the guest's setvbuf buffer off the host library only on Windows
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 16:32:53 +01:00
BunnyFlandClaude Opus 5.5 64b86f1b9b fix(libc): keep setvbuf stream buffers in host memory
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 16:05:26 +01:00
Dean 3070a25d9e Merge pull request #12319 from JJenkx/windows/libc-acosf-edom
fix(libc): store EDOM and raise FE_INVALID from acosf and asinf domain errors
2026-10-29 03:34:51 +13:00
Adrià 31646b6e17 Merge pull request #12259 from B-Howell/docs/libc-rename-source-lookup-debt
docs(libc): drop the rename dot-destination gap that 308848e1a6 closed
2026-10-28 14:47:59 +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 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
Dean f653b562a9 Merge pull request #12037 from JJenkx/windows/libc-fexp-titles
fix(libc): compute _Exp and _FExp as titles do
2026-10-28 22:40:19 +13:00
B-HowellandClaude Opus 5.5 a252638976 docs(libc): cite the strtod measurement by title ID in the debt entries
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 05:24:35 -04:00