Commit Graph
2664 Commits
Author SHA1 Message Date
Dean fb117687a9 Merge pull request #10345 from JJenkx/windows/libc-fmod-edom
fix(libc): set EDOM in fmod and fmodf where titles' libc.prx does
2026-11-06 09:53:50 +13:00
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
Dean Galvin ca31391ab1 Merge branch 'main' 2026-11-06 08:13:45 +13:00
Dean f5844034d9 Merge pull request #10328 from JJenkx/windows/libc-hypotf-msun
fix(libc): compute hypotf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-11-06 08:12:46 +13:00
Dean 813f46cd68 Merge pull request #16104 from Opensource55/fix/libc-freopen-standard-directory
fix(libc): reopen a standard stream onto a directory on Windows
2026-11-06 07:35:25 +13:00
Dean Galvin 437a420e12 Merge branch 'main' 2026-11-06 07:34:18 +13:00
Dean Galvin 8166cadfe3 Merge branch 'main' 2026-11-06 06:49:26 +13:00
Dean Galvin 44835f00a6 Merge branch 'main' 2026-11-06 06:31:43 +13: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
Dean Galvin 56d92de0a8 Merge branch 'main' 2026-11-06 05:58:58 +13:00
Dean 00b30ea793 Merge pull request #16027 from hamb3r/perf/linux-precise-wait-slack-current
perf(libc): reduce Linux PreciseWait setup and TLS overhead
2026-11-06 05:16:44 +13:00
JJenkx dd513a2ba2 Merge remote-tracking branch 'origin/main' into windows/libc-hypotf-msun
# Conflicts:
#	core/libs/prx/libc/src/Math.cpp
#	core/libs/tests/GuestMath.cpp
#	docs/dev/debt/libc.md
2026-11-05 07:22:33 -05:00
JJenkx 4abf92482f Merge remote-tracking branch 'origin/main' into windows/libc-fmod-edom
# Conflicts:
#	core/libs/tests/GuestMath.cpp
2026-11-05 07:14:45 -05:00
JJenkx 30c2dfcf23 Merge remote-tracking branch 'origin/main' into windows/libc-trig-double-msun
# Conflicts:
#	core/libs/tests/GuestMath.cpp
2026-11-05 07:11:57 -05:00
JJenkx 7555c82248 Merge remote-tracking branch 'origin/main' into windows/libc-atanh-msun
# Conflicts:
#	core/libs/tests/GuestMath.cpp
#	docs/dev/debt/libc.md
2026-11-05 07:06:57 -05: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 Galvin 2a9f4bad32 Merge branch 'main' 2026-11-06 00:31:09 +13:00
Dean 28a462a585 Merge pull request #12777 from StoneDC/b40/strndup-guarded
test(libc): bound strndup reads with protected pages
2026-11-06 00:06:15 +13:00
Dean e90fd2dc42 Merge pull request #12595 from JJenkx/windows/libc-wcstombs-s-constraints
fix(libc): report wcstombs_s and wcsrtombs_s violations as titles' libc.prx does
2026-11-06 00:05:07 +13:00
Dean f6e31a9bc6 Merge pull request #12507 from JJenkx/windows/libc-scanf-s-narrow-wrap
fix(libc): wrap narrow integers in sscanf_s as titles' libc.prx does
2026-11-06 00:05:03 +13:00
Dean a7df91e4ba Merge pull request #10325 from JJenkx/windows/libc-hypot-msun
fix(libc): compute hypot with FreeBSD msun's algorithm, as titles' libc.prx does
2026-11-06 00:03:55 +13:00
Dean Galvin 77d6b05893 docs(libc): add the missing msun licence notices to Math.cpp
atan, sinf, cosf, tanf, tanhf, atan2, log10, log2 and the shared log kernel follow FreeBSD msun (s_atan.c, s_sinf.c, s_cosf.c, s_tanf.c, s_tanhf.c, e_atan2.c, e_log10.c, e_log2.c, k_log.h at release/11.4.0) but their sources were not listed at the top of the file. Add them to the existing SunPro list, and add the SunSoft notices of e_atan2.c and of e_log10.c/e_log2.c/k_log.h verbatim. Header comments only; no code change.
2026-11-05 23:03:21 +13:00
JJenkx 3661c5c59c chore(libc): integrate current main and shared build fix 2026-11-05 04:02:37 -05:00
Dean 33c810c814 Merge pull request #13952 from imellag/fix/libc-long-double-fma-promotion
fix(libc): pass the exponent to fma as long double in _LCosh and _LSinh
2026-11-05 21:52:18 +13:00
Dean 4761a7795e Merge pull request #13943 from imellag/fix/libc-feholdexcept-mask-x87
fix(libc): mask the x87 exceptions in feholdexcept instead of relying on fnstenv to do it
2026-11-05 21:52:11 +13:00
Dean 035ba1bd5f Merge pull request #13927 from imellag/fix/libc-compact-unwind-personality-pointer
fix(libc): read a compact unwind personality through its Mach-O pointer slot
2026-11-05 21:52:06 +13:00
Dean 1d9994bdab Merge pull request #13380 from StoneDC/b43/wide-span-boundary
test(libc): guard UTF-16 prefix membership scans
2026-11-05 21:52:02 +13:00
Dean a70563de11 Merge pull request #13379 from StoneDC/b43/wide-substring-boundary
test(libc): search guarded UTF-16 repeated-prefix strings
2026-11-05 21:51:57 +13:00
Dean f483b87560 Merge pull request #13378 from StoneDC/b43/wide-char-boundary
test(libc): guard first and last UTF-16 character searches
2026-11-05 21:51:52 +13:00
Dean ece5b63dae Merge pull request #13308 from StoneDC/b42/char-search-boundary
test(libc): guard character searches and byte conversion
2026-11-05 21:51:48 +13:00
Dean 607bcf84d7 Merge pull request #13307 from StoneDC/b42/strcat-extent
test(libc): guard concatenation terminators and preserved prefixes
2026-11-05 21:51:44 +13:00
Dean c67c01db53 Merge pull request #12890 from StoneDC/b41/wmemmove-snapshot
test(libc): cover overlapping UTF-16 unit moves
2026-11-05 21:50:52 +13:00
Dean d110634a74 Merge pull request #12889 from StoneDC/b41/strncat-protected
test(libc): verify bounded concatenation write extents
2026-11-05 21:50:47 +13:00
Dean 5a3cda13ec Merge pull request #12888 from StoneDC/b41/strncpy-protected
test(libc): verify bounded copy padding and write extents
2026-11-05 21:50:40 +13:00
Dean 1622f5f099 Merge pull request #12887 from StoneDC/b41/tokenizer-protected
test(libc): tokenize guarded buffers with high-byte delimiters
2026-11-05 21:50:36 +13:00
Dean 5dc0d4cf0e Merge pull request #12886 from StoneDC/b41/substring-protected
test(libc): search repeated prefixes up to protected pages
2026-11-05 21:50:32 +13:00
Dean abe352d428 Merge pull request #12882 from StoneDC/b41/memmove-snapshot
test(libc): cover overlapping memory moves with snapshot oracles
2026-11-05 21:50:28 +13: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 5f5102660b Merge pull request #14863 from msbutt1/fix/libc-fgets-size-one
fix(libc): return NULL from fgets for a size below 2 as the console does
2026-11-05 17:00:14 +13:00
Dean 0f41ead3e6 Merge pull request #14389 from rocklouis055/perf/libc-wide-set-bitmap
perf(libc): test wide character sets through a paged bitmap
2026-11-05 16:59:53 +13:00
JJenkx 71ab8de49b Merge commit '0540ef0ef2ec2bfb98b2d105a969921611bd3d61' into HEAD 2026-11-04 21:21:02 -05:00
JJenkx a0b58797d8 Merge remote-tracking branch 'origin/main' into windows/libc-cosh-msun
# Conflicts:
#	core/libs/tests/GuestMath.cpp
2026-11-04 20:10:46 -05:00
Dean 88bcfc7a7b Merge pull request #12366 from JJenkx/windows/libc-fdim-invalid
fix(libc): raise FE_INVALID from fdim and fdimf for equal infinities
2026-11-05 13:18:44 +13:00
JJenkx aa8c1b58be chore(libc): retain scan conversion checks alongside input failures 2026-11-04 14:51:58 -05:00
Dean 269419694c Merge pull request #13119 from JJenkx/fix/libc-ordinary-short-character-fields
fix(libc): retain ordinary short character scan fields
2026-11-05 08:19:45 +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