Adrià
bfb0806192
Merge pull request #8435 from hypermoist/feat/libc-libatomic-sized
...
feat(libc): add the sized __atomic library calls
2026-10-24 13:46:18 +02:00
Dean
9018bc438a
Merge pull request #10003 from MarcZX10/codex/libc-acoshf-msun
...
fix(libc): follow msun for acoshf
2026-10-25 00:24:44 +13:00
Dean
3eebf30c2e
Merge pull request #9945 from p3n1cillin/claude/windows-missing-standard-handles
...
fix(libc): open NUL on standard descriptors without a stream on Windows
2026-10-24 23:40:27 +13:00
Dean
6a3901fb69
Merge pull request #10384 from JJenkx/windows/libc-strcasecmp-sign
...
fix(libc): return only the sign from strcasecmp and strncasecmp as titles' libc.prx does
2026-10-24 22:12:38 +13:00
Dean
e9a551d6f4
Merge pull request #9857 from JJenkx/windows/libc-trigf-msun
...
fix(libc): compute sinf, cosf, tanf and sincosf with FreeBSD msun's algorithms, as titles' libc.prx does
2026-10-24 22:12:11 +13:00
Dean
91007ff06c
Merge pull request #10312 from ntamas94/fix/ps4-libc-strerror
...
fix(libc): answer strerror as the titles' libc.prx does
2026-10-24 21:09:00 +13:00
Dean
69b5e014e9
Merge pull request #9342 from UnhealthyKraken/feat/libc-gets
...
feat(libc): implement gets line input
2026-10-24 20:48:06 +13:00
Dean
1e577d1c56
Merge pull request #10180 from mazen320/feat/libc-codecvt-iw-vtable
...
feat(libc): export the wide codecvt facet vtable as data
2026-10-24 20:21:52 +13:00
Dean Galvin
c3a9a613c7
Merge main into codex/libc-acoshf-msun
2026-10-24 20:00:35 +13:00
Dean
1e20650e84
Merge pull request #10306 from JJenkx/windows/libc-expm1-msun
...
fix(libc): compute expm1 with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 19:55:25 +13:00
Dean
98a7d60a02
Merge pull request #8306 from ZSWolt/feat/libc-swscanf-wide-synonyms
...
fix(libc): end swscanf at %S and %C as a matching failure
2026-10-24 19:54:56 +13:00
Adrià
b0f57be3c7
Merge pull request #6086 from notaxeltv/feat/libc-thread-hardware-concurrency-ppsa34015
...
feat(libc): export std::thread::hardware_concurrency (PPSA34015)
2026-10-24 08:18:54 +02:00
Dean
09f62b94c9
Merge pull request #9216 from Felipebmaitan/feat/libc-fegetexcept
...
feat(libc): implement fegetexcept
2026-10-24 18:23:35 +13:00
JJenkx and Claude Opus 5.5
99abd2604d
fix(libc): compute expm1 with FreeBSD msun's algorithm, as titles' libc.prx does
...
expm1 returned the host's expm1, whose last bit differs from the titles'
copy on Windows on 35,152,346 of 320 million random arguments. The titles'
copy is FreeBSD msun's s_expm1.c, and it sets ERANGE only when a finite
argument overflows to infinity. expm1 now computes that algorithm and sets
ERANGE there.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 00:43:08 -04:00
Dean Galvin
2f5366ea80
Merge main into feat/libc-swscanf-wide-synonyms
2026-10-24 17:17:02 +13:00
Dean Galvin
18b13fbe64
Merge main into 9945
2026-10-24 15:49:35 +13:00
Dean Galvin
5ec0cdec84
Merge main into 9342
2026-10-24 15:49:35 +13:00
Dean
d7f0c005a9
Merge pull request #9862 from JJenkx/windows/libc-cbrtf-msun
...
fix(libc): compute cbrtf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 15:23:06 +13:00
Dean
5669dff560
Merge pull request #9596 from JJenkx/windows/fgetws-console-contract
...
fix(libc): follow the console fgetws for short buffers and read errors
2026-10-24 15:22:31 +13:00
Dean
d1d67190a8
Merge pull request #8720 from orezraey/fix/libc-heap-measured-ps5
...
fix(libc): follow the default heap's alignment, errno and realloc to zero as measured on a PS5
2026-10-24 14:34:38 +13:00
Adrià Franch and Claude Sonnet 5.5
b443b9f9f0
fix(libc): compare only with std::thread::hardware_concurrency, record host count in debt
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-24 03:31:05 +02:00
Dean
72641c92f6
Merge pull request #9841 from JJenkx/windows/libc-logf-msun
...
fix(libc): compute logf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 14:19:40 +13:00
Dean
d284c98b2e
Merge pull request #10001 from MarcZX10/codex/libc-coshf-msun
...
fix(libc): follow msun for coshf
2026-10-24 12:52:24 +13:00
Queuze
897bf2ef6c
fix(libc): attach missing standard streams to NUL
2026-10-24 00:51:42 +01:00
p3nicillin and Claude Opus 5.5
02cf85ef89
fix(libc): open NUL on standard descriptors without a stream on Windows
...
A Windows process started without a standard handle, such as a detached
process or a --windows-gui executable started from Explorer, has
descriptors 0 to 2 whose _get_osfhandle is -2. fcntl then threw on their
unknown file type, which stopped Halo: Combat Evolved (PPSA99500) at
start-up. Open NUL on each of them when libc loads, as Linux and macOS
already open /dev/null on a closed standard descriptor.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 00:51:42 +01:00
Dean
4dad3f50c3
Merge pull request #8864 from valenciana-nc/fix/bessel-float-zero-exceptions
...
fix(libc): avoid spurious float Bessel exceptions at zero
2026-10-24 11:57:10 +13:00
Dean
097a9514a0
Merge pull request #8865 from hypermoist/fix/libc-strtof-sign-hex-range
...
fix(libc): keep the sign of a failed strtof and match libc.prx strtof ERANGE
2026-10-24 11:56:01 +13:00
Dean
11b175a6b9
Merge pull request #9967 from JJenkx/windows/libc-setlocale-console
...
fix(libc): accept any setlocale category and only the C locale, as titles' libc.prx does
2026-10-24 10:38:40 +13:00
JJenkx and Claude Opus 5.5
f41f455f87
fix(libc): return only the sign from strcasecmp and strncasecmp as titles' libc.prx does
...
strcasecmp and strncasecmp returned the folded unsigned-byte difference,
following FreeBSD 11.4's strcasecmp.c (#3966 , #9642 ). The libc.prx bundled
with eleven titles returns -1, 0 or 1, the sign of that difference; both
functions now do the same, and the byte-pair tests expect it.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 16:06:06 -04:00
Adrià
8cc82c85bf
Merge pull request #6469 from QRMOE/fix-low-guest-address-mappings
...
fix(memory): honor low guest mapping hints
2026-10-23 21:06:11 +02:00
Dean
278ec2d356
Merge pull request #8279 from mugurc/fix/libs-macos-build-main
...
fix(libs): build getifaddrs and two tests on macOS hosts
2026-10-24 07:31:38 +13:00
Dean
9e91d6bf61
Merge pull request #8546 from Retr0G28/fix/tzname-no-dst
...
fix(libc): leave tzname[1] as three spaces for a zone without daylight saving time
2026-10-24 07:31:04 +13:00
Dean
216e9a6f98
Merge pull request #9290 from thuanquang/fix/wcsncat-s-overlap-console-rule
...
fix(libc): reject a wcsncat_s copy only when its written and read ranges overlap
2026-10-24 07:29:30 +13:00
Dean
2e5a125982
Merge pull request #9777 from JJenkx/windows/libc-atanf-msun
...
fix(libc): compute atanf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 07:27:14 +13:00
Dean
f59f545b8a
Merge pull request #8284 from mugurc/fix/tests-path-length-macos
...
fix(tests): skip the 1023-byte guest path check on macOS hosts
2026-10-24 07:25:45 +13:00
ntamas94 and Claude Opus 5.5
8305168f39
fix(libc): answer strerror as the titles' libc.prx does
...
The libc.prx that PS4 titles ship (measured for CUSA04865 and CUSA12435 on a
PS4 Pro, firmware 10.71) names 0 "No error", 1 to 94 with the FreeBSD texts
(30 is "Read-only filesystem"), answers every other number, 95 and 96
included, with "error_code=0x%08x", and leaves errno alone. AnyPS5 returned
"No error: 0", named 95 and 96, answered "Unknown error: %d" and set errno
to 22. strerror_r and perror keep their wording; only the shared EROFS text
changes for them.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 19:19:40 +02:00
orezraey and Claude Opus 5.5
5415895377
docs(libc): record reallocf as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 12:28:46 -03:00
QRMOE
5836873170
fix(memory): honor low guest mapping hints
2026-10-23 16:51:33 +02:00
Dean
dcd40e119d
Merge pull request #8287 from mugurc/fix/tests-fenv-masks-rosetta
...
fix(tests): compare the floating-point exception masks with the ones the host keeps
2026-10-24 03:28:00 +13:00
Dean Galvin
192a490b19
Merge main into fix/tzname-no-dst
2026-10-24 02:10:50 +13:00
Dean
65f1d28e7d
Merge pull request #9109 from Retr0G28/fix/alias-trailing-slash-windows
...
fix(libc): fail with ENOTDIR for a file named with a trailing slash on Windows
2026-10-24 02:08:03 +13:00
Dean
8dcbc4e5c9
Merge pull request #9643 from Noxy-HNR/fix/libc-float-domain-errors
...
fix(libc): preserve errno across fmodf domain errors
2026-10-24 02:03:09 +13:00
Dean
be686ec858
Merge pull request #9642 from Noxy-HNR/fix/guest-byte-case-locale
...
fix(libc): isolate byte case comparisons from the host locale
2026-10-24 02:02:44 +13:00
Maz
6224ab70b9
feat(libc): export the wide codecvt facet vtable as data
...
Console title libc.prx (PPSA26344) and libSceLibcInternal export H-TDszhsYuY as STT_OBJECT st_size 104; titles that resolve it as data need thirteen zeroed uintptr_t slots.
2026-10-23 16:26:44 +04:00
hypermist and Claude Opus 5.5
547e0b74dd
docs(libc): record the console evidence for the sized __atomic calls
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:28:24 +13:00
thuanquang and Claude
e53f78214a
docs(libc): note where the wcsncat_s overlap rule comes from
...
The debt entry says the rule follows a static reading of the console's
wcsncat_s in libc.prx, that wcscat_s inherits it unread, and that the
narrow strncat_s keeps a wider rule, as asked in review.
Co-Authored-By: Claude <[email protected] >
2026-10-23 15:19:25 +07:00
Retr0
0f3d4bc9ee
fix(libc): fail with ENOTDIR for a file named with a trailing slash on Windows
...
FreeBSD 11.4's lookup() (sys/kern/vfs_lookup.c) fails with ENOTDIR when
a path with a trailing slash ends at something that is not a directory.
On Windows a mount alias dropped the slash, and the host calls do not
report ENOTDIR for "file\", so unlink, rename and open acted on the file
or failed with EINVAL. Guest path resolution now rejects an existing
non-directory named with a trailing slash with ENOTDIR on every host, and
a mount alias keeps the slash on Windows as it does on Linux and macOS.
2026-10-23 08:21:01 +03:00
MarcZX10
6a13704d3d
fix(libc): follow msun for acoshf
2026-10-23 03:45:26 +00:00
MarcZX10
0f35e7b176
fix(libc): follow msun for coshf
2026-10-23 03:35:47 +00:00
hypermist and Claude Opus 5.5
d2927e0ec1
fix(libc): follow libc.prx for strtof signs and hexadecimal round-up ERANGE
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 14:19:46 +13:00