Commit Graph
20967 Commits
Author SHA1 Message Date
Adrià 91a5573911 Merge pull request #9479 from EagleBearerYS/fix/libc-scanf-integer-widths-windows
fix(libc): convert scanf integers as FreeBSD does on Windows
2026-10-25 20:52:26 +01:00
boykopovar b1b3069763 test(sdk): report all public header dependency failures 2026-10-25 22:51:39 +03:00
Yunus Shaikh 3a47ea6ea4 Merge main into feat/libkernel-sys-libthr-names
Main's #9573 implements scePthreadResume right after the
scePthreadMutexattrSetkind stub this branch removes from libkernel_sys;
the merge takes main's scePthreadResume and leaves the stub out.

Main's public-header audit wants one header declaration per export, so
the merge declares this branch's scePthreadMutexattrSetkind,
scePthreadMutexattrGetkind and pthread_rwlockattr_settype_np in
libkernel's Api.hpp, drops their stub declarations from libkernel_sys's
Api.hpp, has Mutex.cpp take sceKernelError from libkernel's Api.hpp,
and has the test include the libkernel headers instead of its own
declarations.
2026-10-25 12:49:51 -07:00
boykopovar 7d60d65e7a test(sdk): reject third-party public header dependencies 2026-10-25 22:49:22 +03:00
Yunus Shaikh 597f1392a8 test(relinker): cover short-prologue branch refusals, allocations, two-exit leaves, VEX operands and rbp bodies in the red-zone framer 2026-10-25 15:48:43 -04:00
orezraeyandClaude Opus 5.5 496d29622c Merge main into fix/libkernel-posix-thread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:44:57 -03:00
Disaster c4f013e39d docs(libc): record firmware _Thrd_lt evidence 2026-10-25 22:42:29 +03:00
plexerPK 34368b9e54 feat(tools): gate repeated Vulkan validation comparisons 2026-10-25 20:41:19 +01:00
Disaster 35c38ce8d5 fix(libc): match measured _Exp and _FExp special values 2026-10-25 22:38:39 +03:00
Adrià 6bc1139698 Merge pull request #9184 from javierUDP/test/scalar-compare-execution
test(relinker): execute the moved scalar compare
2026-10-25 20:36:37 +01:00
orezraeyandClaude Opus 5.5 3345e2047d Merge main into fix/libkernel-pthread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:32:10 -03:00
Adrià 50bc72bbbc Merge pull request #9513 from harisibrar1/fix/windows-test-output-utf8
test(relinker): decode relinker output as UTF-8 in the path-checking tests
2026-10-25 20:31:26 +01:00
orezraeyandClaude Opus 5.5 49bcd7549e fix(libkernel): report SCM_BINTIME and SCM_TIMESTAMP from recvmsg as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:30:34 -03:00
xXPBSXxandClaude Sonnet 5.5 02027f0f8d docs(debt): note how titles call sceNetResolverStartNtoaMultipleRecords
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 20:29:33 +01:00
akkadbakkad89 fe38bc485d fix(libScePsml): fail MFSR init and shared-resource limits as a base console does
The firmware disassembly (the real Sony libScePsml.sprx inside PPSA20397)
shows scePsmlMfsrInit returning 0x8A810012 before touching the initialized
flag when sceKernelIsTrinityMode is 0, so on the modelled console every MFSR
call correctly stays uninitialized instead of reaching the unimplemented
dispatch path. The shared-resources pair likewise returns 0x8A81000D for
disallowed types and 0x8A810015 while a shared-resources object already
exists.
2026-10-26 00:58:27 +05:30
Emanuele 159007bd43 perf(agc): copy moved draw words into the draw upload ring 2026-10-25 20:25:23 +01:00
Dean Galvin 8656c26c62 test(sched): drop the unsupported-path throw pins and use distinct caller and worker priorities
Priorities outside the supported band and the calling process's own pid are unverified and are no longer pinned to throw. The worker test now sets a priority different from the caller's and checks both, so a no-op or a shared value fails.
2026-10-26 08:21:25 +13:00
Adrià aeff26bd97 Merge pull request #9573 from zaryabzip/feat/pthread-create-suspended
feat(libkernel_sys): create threads suspended and resume them
2026-10-25 20:21:07 +01:00
Adrià 3a83687929 Merge pull request #9582 from UnhealthyKraken/fix/libkernel-variant-timedjoin
test(libkernel): cover sys and web timed join imports
2026-10-25 20:20:02 +01:00
Adrià 1a7a3dfd4f Merge pull request #9572 from JJenkx/windows/symbolize-sampler-stacks
feat(tools): symbolize the Windows samplers' stacks
2026-10-25 20:18:58 +01:00
Kovalev Vladislav 88140fb881 test(tools): preserve Clang saved temporary fixtures 2026-10-25 20:18:35 +01:00
Kovalev Vladislav 9fc0a99dac test(tools): split syntax check suites within CI time limit 2026-10-25 20:18:35 +01:00
Kovalev Vladislav 560a06febe test(tools): respect compiler handling of unknown save modes 2026-10-25 20:18:35 +01:00
Kovalev Vladislav 19db55c64b fix(tools): strip save-temps flags from syntax checks 2026-10-25 20:18:35 +01:00
xXPBSXxandClaude Sonnet 5.5 dee5c3c241 docs(debt): note what two titles' Ajm resample calls show about flags and result handling
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 20:17:25 +01:00
mugurcandiamthehimansh 70b2e138bb fix(libSceNet): keep MSG_DONTWAIT and aborted stream sends short on macOS hosts
Two stream send behaviours of XNU differ from FreeBSD and Linux:

- MSG_DONTWAIT does not keep a stream send on a blocking socket from
  waiting for buffer space; XNU only skips the wait for the send buffer
  lock. A 16 MiB send to a slow peer blocked until the peer went away.
  A MSG_DONTWAIT transfer now also passes XNU's MSG_NBIO (0x20000), which
  makes one call non-blocking: the send queues what fits and returns that
  count, or EAGAIN when nothing fits.
- A blocking stream send that fails after queuing data, for example when
  sceNetSocketAbort shuts the socket down, returns only the error, where
  Linux returns the bytes queued. A blocking stream send now goes to the
  host in sends of 64 KiB and reports the bytes of the sends that
  completed when a later one fails, as #8658 does.

The debt entry records the undocumented flag and the bytes that a failing
64 KiB send queued but does not report.

Co-authored-by: iamthehimansh <[email protected]>
2026-10-25 20:11:31 +01:00
Adrià FranchandClaude Sonnet 5.5 abe2603739 test(savedata): expect PARAMETER for null arguments in remaining tests
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 20:08:10 +01:00
slopggobblercobbler81 9c232b38fe fix(savedata): validate null arguments in delete, search, and mount3 2026-10-25 20:07:59 +01:00
thuanquang 6adad6733c Merge main into fix/linear-target-import-creation 2026-10-26 02:07:34 +07:00
Romans Pokrovskis 1635b23d0c fix(agc): retain registered mappings during CPU stores 2026-10-25 21:06:52 +02:00
Romans Pokrovskis 766fe0b685 test(agc): exercise registered mapping lifetime during CPU stores 2026-10-25 21:06:52 +02:00
AZLisme 32f8285f29 feat(libSceAjm): decode three to five channel AAC streams 2026-10-26 03:04:17 +08:00
Adrià ae7d59258e Merge pull request #9637 from ntamas94/feat/libSceAjm-ps4-batch-buffer
feat(libSceAjm): run PS4 batch buffer jobs in the console's chunk layout
2026-10-25 19:58:19 +01:00
Adrià FranchandClaude Sonnet 5.5 a5c72e02c4 fix(libkernel): rename the chflags link test locals that clash in main()
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 19:58:17 +01:00
GruzzberryandClaude Opus 5.5 720cf7e296 fix(libkernel): fail chflags through a dangling Windows symbolic link with ENOENT
std::filesystem::status does not follow a Windows symbolic link under
MinGW, so the lookup chflags makes saw a link whose target is missing as
an existing file and returned 0. A reparse point in the last component
is now looked up through the target with the guest stat, as FreeBSD 11.4's
namei follows it: a missing target gives ENOENT, and a trailing slash
after a link to a file gives ENOTDIR.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:58:17 +01:00
KernelPanicNT 6e8ec6d213 fix(libSceNet): reject the flags and names the module rejects
sceNetEpollCreate fails with EINVAL for a null name or non-zero flags,
sceNetResolverCreate and sceNetGetMacAddress for non-zero flags, and
sceNetResolverStartNtoa, before any other check, for a negative timeout
or retry count or a flag bit outside 0x10001, as prosper reads the
libSceNet module. The two accepted resolver flag bits are still ignored,
which the debt file now records.
2026-10-25 19:52:23 +01:00
Dean 8a29e08834 Merge pull request #9949 from wrocketdev/feat/libressl-ocsp-strings
feat(libSceLibreSsl): implement the OCSP status and reason strings
2026-10-26 07:49:27 +13:00
Adrià e1ef22e888 Merge pull request #9461 from milescoviello/fix/tsc-calibration-one-cpu
fix(libkernel): measure the TSC frequency on one CPU
2026-10-25 19:48:55 +01:00
orezraeyandClaude Opus 5.5 1a4c3bb09e docs(libSceSystemService): record sceSystemServiceIsBgmPlaying as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 15:47:19 -03:00
Adrià Franch ad2b085779 chore(libSceFreeType): drop duplicate FT_Reference_Face declaration 2026-10-25 19:46:07 +01:00
Adrià 58c9977e3b Merge pull request #9562 from milescoviello/feat/uds-trophy-progress
feat(libSceNpTrophy2,libSceNpUniversalDataSystem): unlock progressive trophies through _UpdateTrophyProgress
2026-10-25 19:45:49 +01:00
Ondra97 e0b244d9de test(libSceFreeType): pin size ownership through teardown 2026-10-25 19:44:44 +01:00
Ondra97 a476e42188 feat(libSceFreeType): manage multiple size objects 2026-10-25 19:44:44 +01:00
Ondra97 b50ed59953 fix(libSceFreeType): preserve referenced face lifetimes 2026-10-25 19:44:43 +01:00
orezraeyandClaude Opus 5.5 258ce3e2e9 docs(libc): record feholdexcept, fegetexcept, setlocale and strcasecmp as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 15:42:25 -03:00
Bram910andClaude Opus 5.5 df5555a905 docs(shader): move the unreachable-words debt entry next to the control-flow entries
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:40:23 +01:00
Shahul Mubeen AandClaude Opus 5.5 b9d00c5d80 fix(shader): write 1D storage images through 2D-array stores at slice 0
An image_store with DIM 2D_ARRAY through a 1D T# had no runtime image
mode, so the dispatch stopped with "image descriptor is incompatible
with the static runtime image interface". #2348 added a 1D mode for
DIM 2D stores only.

Write-only 2D-array storage images now get the same 1D mode as the 2D
case. On RDNA2 (gfx1036, hardware oracle) such a store writes texel x
and ignores y when the slice is 0, and writes nothing for any other
slice, with DEPTH 0 or 3, so the store is skipped unless the slice is 0.

New execution test agc_driver_image_store_line_through_plane_array.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 00:10:03 +05:30
Bram910 6541c73f49 Merge origin/main into fix/shader-skip-unreachable-words 2026-10-25 19:38:58 +01:00
Bram910andClaude Opus 5.5 2158c56a88 fix(shader): end the control-flow block at s_code_end
A block that ended in s_code_end fell through to the next block. With
undecodable words skipped after s_code_end, that made a later branch
target a fall-through successor of s_code_end. The graph now starts a
block at the next decoded instruction after s_code_end and ends the
s_code_end block with a return, as it does for s_endpgm.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:38:58 +01:00
Adrià a7a2eece49 Merge pull request #9437 from Ondra97/codex/fix-freetype-face-reference-lifetime
fix(libSceFreeType): preserve referenced face lifetimes
2026-10-25 19:35:22 +01:00