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
f9b2db1d41
Merge pull request #11269 from Gruzzberry/fix/realpath-symlinks
...
fix(libc): realpath resolves symbolic links like FreeBSD
2026-10-27 21:22:09 +13:00
Dean
d5f7d86ccc
Merge pull request #11139 from JJenkx/fix/libc-modf-floating-environment
...
fix(libc): preserve modf decomposition and floating-point status
2026-10-27 21:20:33 +13:00
Dean
d090e62841
Merge pull request #11074 from JJenkx/fix/libc-frexpf-floating-environment
...
fix(libc): preserve frexpf decomposition and exception behavior
2026-10-27 21:18:34 +13:00
Dean
2aacb376ee
Merge pull request #10346 from JJenkx/windows/libc-logb-msun
...
fix(libc): compute logb and logbf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-27 21:09:12 +13:00
Dean
5a36b2df1e
Merge pull request #9850 from JJenkx/windows/libc-powf-msun
...
fix(libc): compute powf like the libc.prx that titles ship
2026-10-27 21:07:00 +13:00
Dean
853b370f01
Merge pull request #9784 from JJenkx/windows/libc-atan2f-msun
...
fix(libc): compute atan2f with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-27 21:06:05 +13:00
Dean
619ac3c2b6
Merge pull request #10467 from MarcZX10/fix/libc-tgammaf-underflow-sign
...
fix(libc): preserve tgammaf underflow sign
2026-10-27 20:53:02 +13:00
Dean
2f0a0071f5
Merge pull request #10251 from orezraey/docs/libc-fopen-directory-measured-ps5
...
docs(libc): record fopen and freopen of directories as measured on a PS5
2026-10-27 20:52:15 +13:00
Adrià
8df2c3ed0e
Merge pull request #11259 from orezraey/docs/libc-reallocalign-measured-ps5
...
docs(libc): record reallocalign to size 0 as measured on a PS5
2026-10-27 08:29:28 +01:00
Adrià
8787ae1bb3
Merge pull request #11245 from AlexFigas/docs/libc-isfinitel-bundled-code
...
docs(debt): close the __isfinitel entry with the bundled libc.prx code
2026-10-27 08:23:28 +01:00
Adrià
b806f1a7a0
Merge pull request #11217 from AlexFigas/docs/libc-dinkumware-division-evidence
...
docs(debt): cut the long-double Dinkumware entry to _LLog with the bundled libc.prx code
2026-10-27 07:58:44 +01:00
Dean
1a13c2969f
Merge pull request #9833 from MarcZX10/codex/libc-strtod-decimal-subnormal-erange
...
fix(libc): set ERANGE for decimal strtod subnormals
2026-10-27 18:21:37 +13:00
Dean
940c298d51
Merge pull request #9698 from mazen320/feat/libc-num-put-vtable-size
...
fix(libc): size the num_put facet vtable to 112 bytes
2026-10-27 18:20:54 +13:00
Dean
8aa1f9ef7f
Merge pull request #9344 from MarcZX10/codex/macos-backtrace-support
...
feat(libc): restore macOS guest backtraces
2026-10-27 18:20:03 +13:00
Adrià
60bb466419
Merge pull request #10505 from maximilianfv/fix/libkernel-macos-itimer-terminate
...
fix(libkernel): reach the guest terminate handler from an ITIMER_REAL expiry on macOS
2026-10-27 04:51:54 +01:00
Adrià
71a20013cd
Merge pull request #11164 from orezraey/docs/libc-hardware-concurrency-measured-ps5
...
docs(libc): record std::thread::hardware_concurrency as measured on a PS5
2026-10-27 04:51:40 +01:00
Adrià
1d667d5f52
Merge pull request #11121 from orezraey/docs/libc-fenv-setlocale-strcasecmp-measured-ps5
...
docs(libc): record feholdexcept, fegetexcept, setlocale and strcasecmp as measured on a PS5
2026-10-27 04:51:24 +01:00
Dean
defd713929
Merge pull request #10788 from 00xDisaster/feat/libc-thread-gaps
...
feat(libc): implement _Thrd_lt
2026-10-27 14:59:56 +13:00
Dean
304bea47ca
Merge pull request #9771 from JJenkx/windows/libc-asinf-msun
...
fix(libc): compute asinf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-27 14:58:25 +13:00
orezraey and Claude Opus 5.5
34ee59f12b
Merge main into docs/libc-fenv-setlocale-strcasecmp-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 19:30:20 -03:00
MarcZX10
bcd99084b4
test(libc): cover signed tgammaf underflow
2026-10-26 22:18:30 +00:00
Dean
c739a47136
Merge pull request #11289 from Danigamer05/feat/libc-unsigned-min64
...
feat(libc): implement unsigned 64-bit minimum
2026-10-27 11:06:32 +13:00
Dean
b8265bf2bc
Merge pull request #11241 from edubox/feat/libc-future-category
...
feat(libc): export the error_category members and std::future_error
2026-10-27 11:04:49 +13:00
Dean
bf38c3bc34
Merge pull request #11208 from orezraey/fix/libc-random-state-measured-ps5
...
fix(libc): save the random state on a short initstate and take any setstate rear as measured on a PS5
2026-10-27 11:03:11 +13:00
Dean
fc2594c7ac
Merge pull request #11177 from orezraey/feat/libc-fe-dfl-env-measured-ps5
...
feat(libc): export __fe_dfl_env as measured on a PS5
2026-10-27 11:02:06 +13:00
Dean
d6ac53ba34
Merge pull request #11054 from verusferro/feat/libc-num-put-do-put
...
feat(libc): format num_put<char>::do_put as the console's libc does
2026-10-27 11:00:12 +13:00
Dean
c980e6ef33
Merge pull request #11004 from verusferro/fix/libc-strftime-iso-week
...
fix(libc): compute strftime week numbers as the console's libc does
2026-10-27 10:58:48 +13:00
Dean
806a573b0b
Merge pull request #10139 from dotaku22/feat/libc-fpurge
...
feat(libc): implement buffered stream purge
2026-10-27 10:53:27 +13:00
Dean
c74530e615
Merge pull request #8903 from UnhealthyKraken/feat/libc-feraiseexcept
...
feat(libc): implement feraiseexcept
2026-10-27 10:52:51 +13:00
Dean
ed8fd06177
Merge pull request #11166 from 00xDisaster/feat/libc-collate-vtable-wire
...
feat(libc): wire the collate<char> facet vtable
2026-10-27 10:38:27 +13:00
Dean
265c36523c
Merge pull request #10175 from orezraey/fix/libc-fetestexcept-measured-ps5
...
fix(libc): return fetestexcept's unmasked status bits as measured on a PS5
2026-10-27 08:57:53 +13:00
Evrim Cicek
a7b52084ec
fix(libc): set up streams for writing after a read as FreeBSD does on Windows
...
On Windows the UCRT drops a write that directly follows a read on an r+,
w+ or a+ stream: fputc and fprintf report success, fwrite returns 0 and
fputs returns EOF, all without the error indicator, and the file is left
unchanged, also after an fflush. On a stream open only for reading, fputc
after a read reports success as well.
Writes now first do what FreeBSD 11.4's __swsetup does: a stream open only
for reading fails with EBADF and sets the error indicator, and an update
stream that is reading drops its read buffer and ungetc data, clears end
of file and writes at the descriptor's offset. This covers fwrite, fputs,
fputc, putc_unlocked, fprintf, fprintf_s, fputwc, fputws, fwprintf,
fwprintf_s, puts and wprintf, and printf, vprintf and printf_s, which
write to standard output through PrintWindows and now return -1 there
instead of throwing.
Linux is unchanged: glibc writes at the stream position, which the libc
technical debt now records.
2026-10-26 21:53:56 +03:00
Adrià
c9a6013f4d
Merge pull request #10468 from JJenkx/fix/libc-nextafter-fenv
...
fix(libc): preserve nextafter exception flags and denormal modes
2026-10-26 19:50:43 +01:00
Dean
3a1c60898a
Merge pull request #11156 from orezraey/fix/libc-fdopen-measured-ps5
...
fix(libc): check the fdopen mode before the descriptor and skip the access check as measured on a PS5
2026-10-27 05:43:39 +13:00
Dean
4971b380b3
Merge pull request #11127 from orezraey/fix/libc-strerror-r-texts-measured-ps5
...
fix(libc): give strerror_r, perror and strerror_s the strerror texts as measured on a PS5
2026-10-27 05:42:18 +13:00
Adrià
c4669c9ca2
Merge pull request #9958 from JJenkx/windows/printf-long-double-hex
...
fix(libc): format %La like titles' libc.prx does
2026-10-26 16:30:58 +01:00
Adrià
b0f1183ca1
Merge pull request #9973 from JJenkx/windows/swscanf-float-errno
...
fix(libc): leave errno alone for out-of-range float and double in swscanf
2026-10-26 16:20:08 +01:00
Adrià
14803835de
Merge pull request #10176 from orezraey/docs/libc-memmem-memccpy-exports
...
docs(libc): record that libSceLibcInternal does not export memmem or memccpy
2026-10-26 16:14:39 +01:00
JJenkx
c48ed84d47
fix(libc): preserve modf decomposition and floating-point status
2026-10-26 09:34:58 -04:00
Dean
bf77a9e9cb
Merge pull request #10742 from 00xDisaster/feat/libc-lcosh
...
feat(libc): implement _LCosh and _LSinh
2026-10-27 02:28:15 +13:00
JJenkx and Claude Opus 5.5
afa58432f3
fix(libc): format %La like titles' libc.prx does
...
A long double %La went to the host, which on Windows (MinGW) prints the
64-bit significand with its integer bit as the leading digit:
0xc.ccccccccccccccdp-7 for 0.1L. The libc.prx that titles ship
normalises it like a double, with a leading 1 and the remaining 63 bits
as 16 hexadecimal digits, 0x1.999999999999999ap-4, and rounds a shorter
precision half up with the carry kept in the leading digit. Share
HexFloat's digit and rounding code between double and long double and
use it for finite long double %a and %A in the narrow and wide families.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 08:52:35 -04:00
Maz
e8aef0f1d8
fix(libc): size the num_put facet vtable to 112 bytes
...
Titles that import the vtable as data expect fourteen slots (st_size 112 on
PPSA16833 libc.prx); twelve left the object short.
2026-10-26 16:42:42 +04:00
Adrià
2cce8bc51d
Merge pull request #9927 from JJenkx/windows/wprintf-float-console
...
fix(libc): format wide %a, %e, %f and %g with the narrow console rules
2026-10-26 13:25:22 +01:00
JJenkx
f5f4f7fbf8
fix(libc): preserve nextafter floating-point environment behavior
2026-10-26 08:24:29 -04:00
Maz
1f27ca0c49
feat(libc): export the wide num_get facet vtable as data
...
Console libSceLibcInternal exports Y9C9GeKyZ3A as a 136-byte STT_OBJECT;
titles that resolve the wide num_get vtable as data need a zeroed 17-slot
object matching the narrow num_get layout on console.
2026-10-26 11:37:08 +01:00
Adrià
cbf76e7a6e
Merge pull request #9408 from rursache/feat/macos-trace-imports
...
feat(relinker): trace function imports on macOS
2026-10-26 11:27:51 +01:00
Adrià
c8a3b25882
Merge pull request #9464 from mazen320/feat/libc-time-get-w-vtable
...
feat(libc): export the wide time_get facet vtable as data
2026-10-26 11:19:39 +01:00
Dean
c3db979cd3
Merge pull request #10128 from orezraey/fix/libc-gethostname-measured-ps5
...
fix(libc): report the empty host name measured on a PS5
2026-10-26 22:00:35 +13:00
Dean
cbee224804
Merge pull request #10316 from JJenkx/windows/libc-tanh-msun
...
fix(libc): compute tanh with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-26 21:48:43 +13:00