Commit Graph
14017 Commits
Author SHA1 Message Date
Dean 4ed8ccf878 Merge pull request #8022 from emirplus/fix-trace-digest-utf8-bom
fix(tools): decode summary and stack inputs with utf-8-sig in trace_digest
2026-10-20 17:46:49 +13:00
Dean 0d8be218a8 Merge pull request #7990 from MarrasFederico/feat/audioin-gain-and-reroute-count
feat(audioin): implement sceAudioInGetGain and sceAudioInGetRerouteCount
2026-10-20 17:46:45 +13:00
Dean c34f54bea8 Merge pull request #7951 from emirplus/fix/stubgen-stderr-newlines
fix(tools): preserve lf line endings on stderr in stubgen
2026-10-20 17:46:42 +13:00
aasishdairel cde44070e0 fix(relinker): trap GS overrides on implicit memory operands
MASKMOVQ, MASKMOVDQU, VMASKMOVDQU, MONITOR and MONITORX use a register-form ModRM byte but still access memory at DS:rDI or DS:rAX. Mark them as memory operands and cover the encodings in the Windows and macOS GS trap tests.
2026-10-20 10:13:34 +05:30
aasishdairel 570c3297d3 fix(relinker): trap only GS memory accesses in Windows and macOS output 2026-10-20 10:13:34 +05:30
Dean 49fd13a741 Merge pull request #7958 from Lindamea1/fix/libkernel-available-direct-memory-enomem
fix(libkernel): return ENOMEM from sceKernelAvailableDirectMemorySize when the range has no free block
2026-10-20 17:40:24 +13:00
Dean Galvin 20f75e94e0 Merge main into pr-8037
# Conflicts:
#	core/libs/tests/GuestStrings.cpp
2026-10-20 17:40:21 +13:00
Dean 56a0be39dd Merge pull request #7957 from Lindamea1/fix/libkernel-attrget-esrch-ended-thread
fix(libkernel): return ESRCH from scePthreadAttrGet for a thread that has ended
2026-10-20 17:40:20 +13:00
Dean dfc987cde1 Merge pull request #8190 from xXPBSXx/fix/scenet-dontwait-windows-fb
fix(libSceNet): honour MSG_DONTWAIT in the send and receive calls on Windows
2026-10-20 17:40:15 +13:00
Dean a5ea7c2102 Merge pull request #7955 from alexpournaras/fix/videoout-title-fps-host-clock
fix(libSceVideoOut): count window-title FPS on the host clock
2026-10-20 17:38:05 +13:00
Dean f289e7de76 Merge pull request #8011 from emirplus/fix-package-release-utf8-bom
fix(tools): decode CMake cache with utf-8-sig in package_release
2026-10-20 17:35:23 +13:00
Dean 20c8f53295 Merge pull request #8006 from emirplus/fix-prepare-release-notes-parent-dir
fix(tools): create parent directory for body output in prepare_release_notes
2026-10-20 17:35:20 +13:00
Dean 611d8379d8 Merge pull request #8002 from vittoriosalvadore/codex/fix-test-registration-literals
fix(tools): ignore CMake literals when checking test registration
2026-10-20 17:35:16 +13:00
Dean 611f08561c Merge pull request #7997 from emirplus/fix/tools-configure-seed-utf8-bom
fix(tools): decode CMake cache with utf-8-sig in configure_seed
2026-10-20 17:35:12 +13:00
Dean ad6466a5de Merge pull request #7994 from emirplus/fix/tools-env-reference-wgetenv
fix(tools): recognize _wgetenv wide environment readers in env_reference
2026-10-20 17:35:08 +13:00
Dean e8b001b120 Merge pull request #7976 from emirplus/fix/tools-pr-labels-tilde-fences
fix(tools): recognize tilde code block fences in pr_labels
2026-10-20 17:35:04 +13:00
Dean 466d8ce25a Merge pull request #7975 from emirplus/fix/tools-select-tests-empty-run
fix(tools): avoid invoking ctest when no tests are selected in plan
2026-10-20 17:35:01 +13:00
Dean b1ad467dac Merge pull request #7962 from emirplus/fix/progress-source-read-encoding
fix(tools): read C++ source files with utf-8 encoding in progress scanner
2026-10-20 17:34:57 +13:00
Dean a62c3345f0 Merge pull request #7950 from emirplus/fix/check-main-sync-default-fetch
fix(tools): fetch upstream tracking base before resolving default base
2026-10-20 17:34:54 +13:00
Savvanis SpyrosandClaude Opus 5.5 9d659c509d fix(agc): bind a strided buffer's last record only up to the render target it runs into
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:31:41 +03:00
JJenkx 63dbd310ba feat(ult): bind condition variables to the current mutex lifecycle 2026-10-20 00:23:58 -04:00
jagrat Singh 50375074d0 feat(libSceNet): implement sceNetShowRoute
Implement sceNetShowRoute as a silent stub returning 0, matching the (void) signature in shadPS4 and the behavior of sceNetShowIfconfig and sceNetShowNetstat. Adds guest unit tests in GuestSceNet.cpp and updates technical debt documentation.
2026-10-20 09:51:48 +05:30
Dean 11ee778434 Merge pull request #7946 from Whitesun123/fix/libc-localtime-overflow
fix(libc): reduce extreme localtime_s inputs without overflow
2026-10-20 17:18:55 +13:00
Dean 32e88ad847 Merge pull request #7986 from xXPBSXx/docs/debt-pm4-type0
docs(agc): record the PM4 type-0 packets a submission is rejected for
2026-10-20 17:17:21 +13:00
Dean Galvin ace51add87 Merge main into pr-6513 2026-10-20 17:09:07 +13:00
Dean c9c7e6cfaf Merge pull request #7964 from emirplus/docs/env-cpu-flip-in-order
docs(env): list APS5_CPU_FLIP_IN_ORDER in the environment reference
2026-10-20 17:08:23 +13:00
Dean cb3f18fda8 Merge pull request #7940 from pushkarreddyy/feat/libkernel-setgid
feat(libkernel): implement setgid
2026-10-20 17:05:47 +13:00
Dean a212ddc7b3 Merge pull request #6838 from al3w0f205/feat/ult-firmware-exports
feat(libSceUlt): export missing firmware functions from database
2026-10-20 17:05:35 +13:00
xXPBSXxandClaude Sonnet 5.5 ba0755337d fix(libSceNet): pass MSG_DONTWAIT to the wait for a local address on Windows
sceNetRecv, sceNetRecvfrom and sceNetRecvmsg on a datagram socket without a
local address waited in wait_for_local_address until the socket was bound,
connected or written to, because only a non-blocking socket made that wait
fail. FreeBSD 11.4 soreceive_dgram fails a MSG_DONTWAIT receive without data
with EWOULDBLOCK. The flags now reach wait_for_local_address and the test
covers an unbound socket.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 06:05:03 +02:00
xXPBSXxandClaude Sonnet 5.5 a39effcef9 fix(libSceNet): honour MSG_DONTWAIT in the send and receive calls on Windows
sceNetSend, sceNetSendto, sceNetSendmsg, sceNetRecv, sceNetRecvfrom and
sceNetRecvmsg failed with EOPNOTSUPP for MSG_DONTWAIT on Windows, where
FreeBSD 11.4 sosend_generic and soreceive_generic make the one call
non-blocking and fail with EWOULDBLOCK when it would wait. Winsock has no
per-call flag, so the call now asks WSAPoll with a zero timeout whether the
socket is ready and fails with EAGAIN when it is not. The Windows branch of
the test that expected EOPNOTSUPP now runs the checks of the other hosts.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 06:05:03 +02:00
Dean fdf631ac9b Merge pull request #7913 from mazen320/fix/pending-producer-event-sync
fix(agc): hold a pending producer batch with a timeline semaphore
2026-10-20 17:04:15 +13:00
al3w0f205 df0780c623 test(libSceConvertKeycode): cover space, punctuation and keypad keycode mappings 2026-10-19 23:01:34 -05:00
xXPBSXxandClaude Sonnet 5.5 7f32f42627 fix(libkernel): fail chmod, truncate, utimes and rename through a regular file with ENOTDIR on Windows
A path whose directory part is a regular file, such as file/child, failed
with ENOENT in chmod, truncate, utimes and rename on Windows, where FreeBSD
11.4 fails it with ENOTDIR (vfs_cache_lookup, sys/kern/vfs_cache.c). The
not-found error of these calls now asks whether the nearest existing
ancestor is not a directory, as open, stat, lstat, access and unlink do.
For rename the source ancestor is checked first and the destination ancestor
only while the source exists. A test line that expected ENOENT for truncate
of a path below a regular file now expects ENOTDIR.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 06:01:12 +02:00
bluandClaude Opus 5.5 213327fede fix(libc): keep fmin and fmax quiet on a signalling NaN
fmin, fmax and their f and l forms tested their operands with std::isnan,
which GCC compiles to a compare that raises FE_INVALID for a signalling
NaN. FreeBSD's s_fmax.c and s_fmin.c read the exponent and significand
bits instead, "to avoid raising spurious exceptions", and return the
other operand. The NaN test now reads the bits of float, double and the
80-bit long double.

GuestFminf checks that a signalling NaN on either side returns the other
operand and leaves FE_INVALID clear, for all three types.

The failure was first caught by the numeric helper test of
boykopovar/AnyPS5#2280 (Привалов Александр Владимирович).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 21:00:40 -07:00
Dean dd4b765252 Merge pull request #7939 from DavidAmsellem/docs/image-atomics-32bit-gfx1100
docs: measure integer image atomics on 32-bit surfaces on gfx1100
2026-10-20 17:00:24 +13:00
xXPBSXxandClaude Sonnet 5.5 cb6cd768ef fix(libkernel): fail open, stat, lstat, access and unlink through a regular file with ENOTDIR on Windows
A path whose directory part is a regular file, such as file/child, failed
with ENOENT in open, stat, lstat, access and unlink on Windows, where
FreeBSD 11.4 lookup fails it with ENOTDIR (vfs_cache_lookup, sys/kern/vfs_cache.c).
mkdir and rmdir already did. A not-found error of these calls now asks whether the
nearest existing ancestor is not a directory and reports ENOTDIR then.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 06:00:15 +02:00
Dean b4887d4b0a Merge pull request #7932 from m335671/fix/dispatch-write-ranges-null-image
fix(agc): skip null storage images in a dispatch's write ranges
2026-10-20 17:00:12 +13:00
Dean fb62f11b33 Merge pull request #7916 from DavidAmsellem/test/agc-vouched-lookups-import-probe
test(agc): skip vouched lookups where host imports report GPU reads as writes
2026-10-20 16:59:39 +13:00
xXPBSXxandClaude Sonnet 5.5 bcbcf55b5b fix(libkernel): extend a file with ftruncate without writing zero bytes on Windows
ftruncate, truncate and sceKernelFtruncate extended a file through _chsize_s,
which writes the whole new length as zero bytes. FreeBSD extends the file
without writing data (kern_ftruncate -> ffs_truncate) and fails a length the
file system cannot hold with EFBIG. NativeFtruncate now sets the end of file
with SetFileInformationByHandle and maps ERROR_DISK_FULL to ENOSPC and
ERROR_FILE_TOO_LARGE/ERROR_INVALID_PARAMETER to EFBIG.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 05:58:22 +02:00
Dean e2a2914aa1 Merge pull request #8216 from oneandonlydean/ci/release-skip-precise-wait
ci(release): skip the precise-wait test in the Linux release run
2026-10-20 16:57:22 +13:00
Dean Galvin f26445217f Merge main into pr-7690
# Conflicts:
#	docs/dev/debt/libSceHmd2.md
2026-10-20 16:54:12 +13:00
Dean 525e299fc0 Merge pull request #8184 from xXPBSXx/fix/fsync-pipe-fb
fix(libkernel): fail fsync and fdatasync on a pipe with EINVAL
2026-10-20 16:24:09 +13:00
Dean 28a9be72a4 Merge pull request #8182 from xXPBSXx/fix/flock-bad-descriptor-fb
fix(libkernel): fail flock on an invalid descriptor with EBADF and on a pipe with EOPNOTSUPP
2026-10-20 16:23:47 +13:00
bluandClaude Opus 5.5 5c1eba11af fix(libc): honour the rounding mode in rint and rintf
MathExact.cpp was built without -frounding-math, so GCC compiled
std::rint as an add and subtract of 2^52 on the magnitude, which is exact
only when rounding to nearest: under FE_DOWNWARD rint(-1.5) returned -1
and rintf(-1.5f) -1, where C and FreeBSD's libm give -2. lrint and llrint
were right: they call the host libm's llrint, which honours the mode.

MathExact.cpp now builds with -frounding-math. GuestMathExact checks
rint, rintf, rintl, lrint and llrint of -1.5 and 1.5 in all four rounding
modes and that the mode is unchanged.

The failure was first caught by the rounding test of
boykopovar/AnyPS5#2235 (Привалов Александр Владимирович).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 20:23:35 -07:00
Dean 1ae92bb7c9 Merge pull request #8174 from xXPBSXx/fix/rename-dot-component-fb
fix(libc): fail a rename of a path that ends in a dot component with EINVAL
2026-10-20 16:23:33 +13:00
Dean 0db8299723 Merge pull request #8178 from xXPBSXx/feat/fdopendir-position-fb
fix(libSceLibcInternal): start fdopendir at the descriptor position and set FD_CLOEXEC
2026-10-20 16:23:03 +13:00
Dean d85b7c759a Merge pull request #2780 from SuarezPM/ai/relinker-hardening
feat(relinker): lower MCOMMIT and RDPRU for Intel with execution tests
2026-10-20 16:22:49 +13:00
Dean 4405703fa6 Merge pull request #8186 from xXPBSXx/fix/socket-dontwait-windows-fb
fix(libkernel): honour MSG_DONTWAIT in the socket send and receive calls on Windows
2026-10-20 16:22:35 +13:00
Dean d19c3d6db8 Merge pull request #8188 from xXPBSXx/fix/listen-connected-socket-fb
fix(libkernel): fail listen on a connected socket with EINVAL
2026-10-20 16:22:22 +13:00
Dean 53415f5ec6 Merge pull request #8192 from xXPBSXx/fix/fopen-directory-write-fb
fix(libc): fail fopen and freopen of a directory for writing with EISDIR on Windows
2026-10-20 16:22:17 +13:00