Dean
99b571f879
Merge pull request #11468 from valenciana-nc/fix/guest-heap-header-validation
...
fix(libc): validate guest heap block headers before freeing
2026-10-30 14:50:19 +13:00
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à
f0c8f26eec
Merge pull request #12676 from JJenkx/windows/libc-ldexpf-errno
...
fix(libc): leave errno unchanged from ldexpf, as titles' libc.prx does
2026-10-30 00:18:56 +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à
2e55a9d0f6
Merge pull request #12681 from JJenkx/windows/libc-scalbn-errno
...
fix(libc): leave errno unchanged from scalbn and scalbnf on every host
2026-10-30 00:02:33 +01:00
Adrià
034e5a015a
Merge pull request #11450 from edubox/feat/libc-sce-v2-locinfo
...
feat(libc): export std::__sce_v2::_Locinfo
2026-10-29 23:37:12 +01:00
Adrià
d77adbfab0
Merge pull request #12549 from JJenkx/windows/libc-mktime-normalize-early-years
...
fix(libc): normalize a pre-1970 calendar before the Windows host mktime
2026-10-29 23:28:20 +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à
5c331df35d
Merge pull request #12227 from klosixgaming-arch/perf/evict-skip-unwritten-pages
...
perf(libc): skip never-written pages when evicting a resident direct-memory run
2026-10-29 23:01: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à
51c808fc76
Merge pull request #12573 from JJenkx/windows/libc-time-name-index-wrap
...
fix(libc): pick strftime and asctime names from a doubled 32-bit index
2026-10-29 22:35:39 +01:00
Adrià
d9f6887afb
Merge pull request #12127 from iamthehimansh/split/macos-precise-sleep
...
fix(libc): absorb macOS nanosleep lateness in PreciseSleep
2026-10-29 22:18:39 +01:00
Adrià
33be5c14bb
Merge pull request #11986 from juanpimg/feat/test-guest-sysmodule-spaces
...
fix(tests): parse maps pathname past whitespace in guest_sysmodule
2026-10-29 21:43:34 +01:00
Dean Galvin
44ef6bd3d3
fix(libc): decide an in-place heap resize from the validated block record
...
keepsBlockSize and ownedBytes read the block's raw and size words from the guest-writable header. They now take the Block that validatedBlock returns, so the in-place decision uses the same allocation record that free trusts.
2026-10-30 09:25:25 +13:00
Dean Galvin
46dfa09c02
Merge main into PR #11468
2026-10-30 09:25:04 +13: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
5d1482d7c1
Merge pull request #12941 from AdnanKhan-ak47/fix/libc-clang-spurious-fp-exceptions
...
fix(libc): keep clang's SLP vectorizer from raising spurious FP exceptions in libc
2026-10-30 09:20:28 +13:00
Adrià
19225b3da5
Merge pull request #12509 from plexerPK/codex/macos-arena-watch-protection
...
fix(libc): synchronize macOS arena protection with write watch
2026-10-29 20:35:33 +01:00
Dean
a6ec79e895
Merge pull request #12239 from MarcZX10/perf/libc-realloc-in-place
...
perf(libc): resize a default heap block in place when it already has the room
2026-10-30 08:20:33 +13:00
Adnan Khan
c118a61fdd
fix(libc): keep clang's SLP vectorizer from raising spurious FP exceptions in libc
2026-10-29 21:00:41 +05:30
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à
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à
fe6eeff66a
Merge pull request #12449 from simnJS/fix/libc-stopfx-null-argument
...
fix(libc): reject a null cursor or input in _Stopfx and _WStopfx as an invalid argument
2026-10-29 13:50:06 +01:00
Adrià
93dae51da8
Merge pull request #11871 from JJenkx/windows/libc-strtok-r-end-state
...
fix(libc): leave strtok_r's and wcstok's state at the terminator and a static empty string as titles' libc.prx does
2026-10-29 13:50:00 +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
Adrià
38a13a7512
Merge pull request #12103 from JJenkx/windows/libc-rename-dangling-link
...
fix(libc): rename a dangling Windows symbolic link
2026-10-29 12:57:29 +01:00
Dean
38e696fe9d
Merge pull request #12327 from xXPBSXx/test/time-behavior
...
test(libc): cover what time returns and stores
2026-10-29 23:53:09 +13:00
Dean
8efa579b15
Merge pull request #12361 from JJenkx/windows/libc-powf-underflow-flag
...
fix(libc): raise FE_UNDERFLOW from powf when the result underflows
2026-10-29 23:49:09 +13: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
3182d23266
fix(libc): raise inexact for nearbyintf
2026-10-28 22:06:24 -07:00
Dean
cdaaa57d27
Merge pull request #12519 from JJenkx/windows/build-backtrace-test-implib
...
fix(build): stop relinking guest_backtrace_tests on every Windows build
2026-10-29 17:33:14 +13:00
Dean
444407ddd6
Merge pull request #11278 from AlexFigas/fix/libc-signbit-sign-mask
...
fix(libc): return the sign mask from __signbit, __signbitf and __signbitl
2026-10-29 16:25:03 +13:00
JJenkx
39f432f357
fix(libc): allow zero-stride bsearch_s as bundled libc does
2026-10-28 22:17:34 -04:00
JJenkx and Claude Opus 5.5
a561f4e591
fix(libc): leave errno unchanged from scalbn and scalbnf on every host
...
The titles' scalbn and scalbnf never set errno, at any exponent. On
Windows the host scalbn already matches, but glibc's scalbn and scalbnf
set ERANGE on overflow and on underflow to zero (found by rooklz while
reviewing #12676 ), so on Linux they did. Both now keep errno across the
host call, as scalbln and scalblnf already do. CheckScalbnErrno checks
results read from the titles' libc.prx.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 21:47:44 -04:00
JJenkx and Claude Opus 5.5
cb09427a74
fix(libc): keep errno across ldexpf's host scalbn call
...
glibc's scalbnf sets ERANGE on overflow and on underflow to zero, so on
Linux the scalbn body still changed errno and CheckLdexpfErrno failed
5 of its 8 rows (reported by rooklz). ldexpf now saves and restores
errno around the call, as fmod does.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 21:43:26 -04:00
JJenkx and Claude Opus 5.5
03f5cfafe1
fix(libc): leave errno unchanged from ldexpf, as titles' libc.prx does
...
ldexpf called the host ldexp on a float, which computes in double and
sets ERANGE only when the double result leaves the double range, so
ldexpf(0x1.3d1c6p-95f, 1262) set ERANGE while ldexpf(1.0f, 200) did
not. The titles' ldexpf never sets errno, as their scalbnf does not.
ldexpf now computes like scalbnf: on 100,000 random arguments it
matches the libc.prx of PPSA07923 and PPSA05916 in every value and
errno, against 63,957 errno differences before.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 21:27:48 -04: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
Eduardo Ruiz
9f9ddb4637
fix(libc): match _Locinfo console rejection
2026-10-29 01:02:12 +01:00