Commit Graph
836 Commits
Author SHA1 Message Date
Adrià fdd526186e Merge pull request #12581 from JJenkx/windows/libc-strtok-s-c11
fix(libc): take strtok_s's C11 s1max argument as titles' libc.prx does
2026-11-05 20:14:27 +01:00
Opensource55 dfc217b316 fix(libc): reopen a standard stream onto a directory on Windows
A guest that reopens `stdin`, `stdout` or `stderr` onto a directory in a read mode threw instead of
returning the stream, while the console answers that a directory opens in a read mode and the
debt entry already recorded the throw as the Windows difference.

The standard stream now goes through the same descriptor move a regular file uses: the directory
descriptor is opened, moved onto the standard descriptor, and libkernel's directory entry follows
it, so `fstat` of the guest descriptor reports a directory and the first read answers `EISDIR` with
the error indicator set, like every other directory stream. A failed open restores the previous
standard target.

`guest_freopen_host_standard` reopens `stdout` onto a directory, asserts `S_IFDIR` on the guest
descriptor, asserts the first read answers `EISDIR`, then reopens the same stream on a file path
and writes through it.
2026-11-06 01:09:06 +08:00
hamb3r 6f2f0befb0 refactor(libc): isolate Linux timer sleep path 2026-11-05 14:37:06 +03:00
hamb3r 6d3b60e324 perf(libc): cache Linux spin-tail duration 2026-11-05 14:37:06 +03:00
hamb3r bcdd941247 perf(libc): skip timer slack setup for short Linux waits 2026-11-05 14:37:06 +03:00
Dean 2238042b81 Merge pull request #15705 from oneandonlydean/rr/pr3-gpu
feat(run-report): count milestones, frames, GPU and shader diagnostics
2026-11-05 21:24:14 +13:00
Dean 1fe3ee8d1a Merge pull request #14235 from oneandonlydean/rr/pr2-writer
feat(run-report): write the run report when a game ends
2026-11-05 21:24:09 +13:00
Dean 430a9b5473 Merge pull request #14620 from Danigamer05/feat/libc-timespec-getres-20261101
feat(libc): forward time resolution queries to the kernel
2026-11-05 17:27:46 +13:00
Dean df721d53f2 Merge pull request #7192 from Jev1337/feat/libkernel-host-fault-exception-handlers
feat(libkernel): deliver host faults to sceKernelInstallExceptionHandler handlers
2026-11-05 08:19:08 +13:00
Dean 92cdaf6337 Merge pull request #11624 from Felipebmaitan/feat/windows-guest-gs-state
feat(libkernel): maintain per-thread guest GS bases on Windows
2026-11-05 06:35:52 +13:00
Dean 7d41521f42 Merge pull request #11621 from B-Howell/codex/opus-missing-functions
feat(libc): implement lfind and lsearch
2026-11-05 06:35:46 +13:00
Dean 6863f295a9 Merge pull request #10749 from ycbuzi/refactor/siginterrupt-libc-internal
refactor(libSceLibcInternal): serve siginterrupt from libSceLibcInternal
2026-11-05 06:35:30 +13:00
Dean 2a01747b61 Merge pull request #10165 from mazen320/fix/libc-codecvt-vtable-104
fix(libc): size the codecvt facet vtable to 104 bytes
2026-11-05 06:34:42 +13:00
Dean eaf2579d0a Merge pull request #9929 from sandivd/fix/libc-syslog-program-name
fix(libc): restore syslog program-name fallback
2026-11-05 06:34:29 +13:00
Dean 21b509d680 Merge pull request #7648 from Islam-ElShahaby/feat/libc-throw-c-error
feat(libc): implement std::_Throw_C_error
2026-11-05 06:33:55 +13:00
Maz 1323752239 fix(libc): declare shared vtable object with C linkage 2026-11-04 16:37:44 +04:00
Maz 986a686b1d fix(libc): share codecvt vtable slot count with GuestLocale 2026-11-04 16:37:44 +04:00
Dean b11c7bf84f Merge pull request #14976 from liskeee/fix/agc-shared-import-alias-fallback
fix(agc): fall back when a shared import alias is refused
2026-11-04 21:32:44 +13:00
Dean 792f1186f4 Merge pull request #13784 from Celegans12/feat/libc-owned-memory-blocks
feat(libc): track guest memory with windows write-watch tokens
2026-11-04 21:32:05 +13:00
Dean Galvin ecfea85fcd Merge branch 'main' into fix/libc-syslog-program-name 2026-11-04 21:00:07 +13:00
Dean Galvin 0003ec72c7 Merge rr/pr2-writer into rr/pr3-gpu 2026-11-04 20:21:16 +13:00
Dean Galvin b5f5c7fd1f Merge branch 'main' into rr/pr2-writer 2026-11-04 20:19:15 +13:00
Dean c7d32c2915 Merge pull request #12841 from heditrigui/feat/libc-asctime-r
feat(libc): implement asctime_r
2026-11-04 19:27:09 +13:00
B-HowellandClaude Opus 5.5 8553f325f3 chore(libc): merge current main into lfind-lsearch
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 00:37:10 -05:00
Dean 0a15ebf864 Merge pull request #12149 from AlexFigas/feat/libc-underscore-setjmp
feat(libc): export _setjmp and _longjmp
2026-11-04 18:34:14 +13:00
Dean b593093818 Merge pull request #12146 from AlexFigas/feat/libc-shared-mutex
feat(libc): implement the _Smtx shared mutex calls over libkernel's rwlocks
2026-11-04 18:34:09 +13:00
Dean 6199b4807b Merge pull request #11947 from voidlakhan/feat/libc-getsubopt
feat(libc): implement getsubopt
2026-11-04 18:33:52 +13:00
Dean acf7ac208a Merge pull request #11907 from JJenkx/windows/libc-printf-unknown-flags
fix(libc): print unknown printf conversions and ' as titles' libc.prx does
2026-11-04 17:49:37 +13:00
Dean ce1de8bdf6 Merge pull request #11793 from edubox/feat/libc-collate-transform
feat(libc): implement std::collate<char>::transform
2026-11-04 17:49:31 +13:00
Dean 44097d56db Merge pull request #10270 from orezraey/fix/libc-safe-strings-measured-ps5
fix(libc): bound and report the Annex K copies as measured on a PS5
2026-11-04 16:58:56 +13:00
Jevro1337andClaude Opus 5.5 ab363feecc feat(libkernel): deliver host faults to sceKernelInstallExceptionHandler handlers
A handler installed for SIGILL, SIGFPE, SIGBUS or SIGSEGV now receives
the faults raised in title code instead of the process ending, with
mc_trapno, mc_addr and mc_err filled as FreeBSD 11's amd64 trap() does.
On Windows the crash reporter's vectored handler offers unclaimed faults
to libkernel, which redirects the thread to a stub that runs the handler
outside the exception dispatcher; on Linux chained host signal handlers
classify faults by REG_TRAPNO.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 21:01:15 +01:00
Dean 723ee06871 Merge pull request #14799 from chitters2004/perf/guarded-committed-read
perf(agc): read committed guest pages directly on Windows
2026-11-04 08:10:59 +13:00
Felipebmaitan 41bbc32070 chore: refresh GS state with current main 2026-11-03 14:34:25 -03:00
bluandClaude Opus 5.5 24497b2406 Merge branch 'main' into refactor/siginterrupt-libc-internal
Resolves docs/dev/debt/libkernel.md: main's sigaction entry (SIGPIPE outside Windows) and this branch's signal entry, which points to libSceLibcInternal for siginterrupt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 10:23:38 -07:00
Dean 4f41f4c375 Merge pull request #15210 from Danigamer05/feat/libc-sce-v2-filesystem-calls-20261102
feat(libc): export the std::__sce_v2 filesystem calls
2026-11-03 21:12:18 +13:00
Dean 67ea76b38b Merge pull request #15099 from Danigamer05/feat/libc-sce-v2-binary-scaling-20261102
feat(libc): export the std::__sce_v2 binary scaling helpers
2026-11-03 21:10:53 +13:00
Dean 8b82678900 Merge pull request #10025 from mehmetbayoglu/fix/libkernel-amm-prt-zero-page
fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
2026-11-03 21:09:48 +13:00
Dean f1d0f46e05 Merge pull request #14585 from edubox/feat/libc-sce-v2-locale
feat(libc): export the versioned std::__sce_v2 locale runtime
2026-11-03 21:07:56 +13:00
Dean b9a376e51f Merge pull request #15098 from Danigamer05/feat/libc-find-last-trivial-20261101
feat(libc): implement reverse trivial element searches
2026-11-03 18:14:08 +13:00
Dean 5da7b55068 Merge pull request #14955 from Danigamer05/feat/libc-sce-v2-float-helpers-20261102
feat(libc): export the std::__sce_v2 float classification, integer-part and normalization helpers
2026-11-03 18:12:24 +13:00
Dean 5f96abbcba Merge pull request #14940 from BunnyFl/fix/prime-shared-mutexes
fix(agc,libkernel): prime the host shared mutexes left unprimed on Windows
2026-11-03 18:12:18 +13:00
Dean 8645daeb00 Merge pull request #14878 from roboterspinne/fix/libc-write-only-stream-reads
fix(libc): fail reads on a write-only stream with EBADF on Windows
2026-11-03 18:11:21 +13:00
Dean 7fc59ddd6e Merge pull request #14864 from Jawschamp/feat/libc-devname
feat(libc): implement devname and devname_r
2026-11-03 18:10:59 +13:00
Dean 10921ef452 Merge pull request #12560 from Kikoarl/fix/win32-verbatim-path-dos-devices
fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows
2026-11-03 18:09:19 +13:00
memob 37881a5da0 fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
Unbacked PRT pages were private read-only commits, so every page that was
read took its own host page. They are now views of one pagefile-backed
section created read-only, so the range costs one page however large and
no view of it can be made writable. Host imports treat such views as
read-only memory instead of asking for a read-write alias.
2026-11-02 19:31:59 -05:00
B-HowellandClaude Opus 5.5 04d0e98cb4 chore(libc): merge current main into lfind-lsearch
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 17:47:59 -05:00
Dean 840f2d6f27 Merge pull request #14623 from Danigamer05/feat/libc-memset-explicit-20261101
feat(libc): implement explicit memory filling
2026-11-03 11:40:35 +13:00
Dean 502188c5b0 Merge pull request #14619 from Danigamer05/feat/libc-c23-bit-utilities-20261101
feat(libc): implement C23 bit positions and powers
2026-11-03 11:40:29 +13:00
Danigamer05andClaude Opus 5.5 0f12fc9b7e feat(libc): export the std::__sce_v2 filesystem calls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 21:36:17 +01:00
Kikoarl ae9a8b093d fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows 2026-11-02 21:16:21 +01:00