Commit Graph
7963 Commits
Author SHA1 Message Date
orezraey ea98a6e5f1 fix(libkernel): fail F_DUPFD_CLOEXEC with EOPNOTSUPP as measured on a PS5 2026-10-25 18:04:25 -03:00
p3nicillinandClaude Opus 5.5 3436e8fe7e fix(libScePad): refuse scePadGetExtControllerInformation on a standard pad
On a standard-port handle the console answers NOT_PERMITTED (0x80920101):
Halo CE Universal's pad probe measured it on firmware 13.59 for two
connected DualSenses in three runs. The function returned 0 with
invented controller information instead. The special port keeps its
zeroed answer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:04:17 +00:00
orezraeyandClaude Opus 5.5 ff667ba3b7 fix(libc): give strerror_s the strerror texts and return 0 on truncation as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:01:11 -03:00
orezraeyandClaude Opus 5.5 373027da36 fix(libc): reject strerror_r buffers under 23 bytes and cut longer texts
The libc.prx that PPSA31872 ships returns ERANGE for a buffer shorter than
23 bytes and otherwise strncpy's length - 1 bytes and terminates the last
one. This matches the firmware 13.60 log, where error 0 with a 16-byte
buffer returned 34 although "No error" fits.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:59:49 -03:00
orezraeyandClaude Opus 5.5 b4530f1cce fix(libc): give strerror_r and perror the strerror texts as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:59:49 -03:00
Dean Galvin 91039afff1 Merge branch 'main' into feat/audioout-set-main-output 2026-10-26 09:57:37 +13:00
camezaro-intc 1257830a26 feat(libkernel_sys): forward sceKernelLoadStartModuleForSysmodule to sceKernelLoadStartModule 2026-10-25 14:56:34 -06:00
Ondra97 a6a2c89101 Merge remote-tracking branch 'origin/main' into codex/pr9621-review-20261025 2026-10-25 21:56:19 +01:00
Adrià cceb6c3c41 Merge pull request #9961 from daviaaze/fix/agc-dcc-sliced-array-window
fix(agc): serve sampled DCC array views from their viewed slices
2026-10-25 21:53:47 +01:00
orezraeyandClaude Opus 5.5 32e1371697 fix(libkernel): check the SoC sensor channel before the pointer and set errno as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:42:22 -03:00
Dean Galvin 012091909c Merge branch 'main' into marc/freetype-bitmap-init 2026-10-26 09:41:37 +13:00
MarcZX10 52e0132a34 docs(build): name LLVM among the suppressed ThreadSanitizer libraries 2026-10-25 20:38:12 +00:00
MarcZX10 f8ef2caa34 docs(build): describe the ThreadSanitizer suppressions and guest memory reports 2026-10-25 20:38:12 +00:00
MarcZX10 378c58ea77 docs(build): document the ANYPS5_ENABLE_TSAN flag 2026-10-25 20:38:12 +00:00
Dean Galvin 676ee4fe42 Merge branch 'main' into pr8903 2026-10-26 09:35:29 +13:00
p3nicillinandClaude Opus 5.5 8df80bdc3f fix(libkernel): ignore MAP_EXCL in fixed anonymous mmap as measured on a PS5
Prospero Win measured on firmware 12.02 that the PS5 kernel accepts
MAP_EXCL but ignores it: MAP_FIXED | MAP_EXCL over an existing mapping
replaces it without error. Fixed anonymous mmap now does the same instead
of FreeBSD's ENOMEM. MAP_EXCL without MAP_FIXED stays EINVAL.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:33:23 +00:00
orezraeyandClaude Opus 5.5 2fd60d3ebd feat(libc): export __fe_dfl_env as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:30:06 -03:00
orezraeyandClaude Opus 5.5 65d87b4ecb fix(libkernel): resolve sysctl top-level names and fail absent top-level MIBs with ENOENT as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:22:26 -03:00
Dean 74a55da254 Merge pull request #10688 from edubox/feat/libc-mtx-timedlock
feat(libc): implement _Mtx_timedlock
2026-10-26 09:21:46 +13:00
Disaster c66f61ff52 feat(libc): wire the collate<char> facet vtable
The nine-slot _ZTVSt7collateIcE export added by #9979 was still zeroed, so a guest that called through the exported vtable faulted. Fill slots 2 through 8 with the same facet methods that g_collateVtable uses, leave the offset-to-top and typeinfo slots zero, and cover compare, transform, hash, retain and release through the exported object.
2026-10-25 23:21:45 +03:00
orezraeyandClaude Opus 5.5 a4ef5fd8a9 docs(libc): record std::thread::hardware_concurrency as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:17:35 -03:00
Adrià 9dbc017c71 Merge pull request #9512 from EagleBearerYS/fix/libkernel-poll-socket-hup
fix(libkernel): clear POLLOUT from a hung-up socket in poll on Linux
2026-10-25 21:16:45 +01:00
orezraeyandClaude Opus 5.5 e108063e13 fix(libSceRtc): drop the date field getters and setters a PS5 does not export
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:16:27 -03:00
Adrià 74ac0e7912 Merge pull request #9506 from Noxy-HNR/claude/project-thread-420hnm
feat(net): store DNS servers set through sceNetSetDnsInfo and sceNetSetDns6Info
2026-10-25 21:13:38 +01:00
p3nicillinandClaude Opus 5.5 6d4247f45f fix(libSceAudioOut): declare sceAudioOutSetPadSpkVolume as PSBox calls it
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:12:50 +00:00
ChronyyxandClaude Opus 5.5 f8a99b6b8a docs(relinker): say why the red-zone framer refuses shrink-wrapped leaves
The debt entry said that shrink-wrapped leaves, which push later and pop in
balance, could be framed. They cannot as the framer works now: lowering RSP on
entry moves their later pushes onto the spills, which keep their addresses.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:03:51 -04:00
Maz 33f03f45eb fix(libkernel): guard unlinkat junction path with DIRECTORY
Match the AT_REMOVEDIR and rmdir sites so file reparse points stay on the old unlink path. Cover file symlink unlinkat on Windows and point the debt at the drive-target consumers.
2026-10-26 00:02:20 +04:00
Maz de84153592 fix(libkernel): treat Windows junctions in unlinkat like unlink and rmdir
Relative unlinkat skipped the junction path that absolute unlink and rmdir already use.
2026-10-26 00:02:20 +04:00
Maz f6c24fc271 fix(libkernel): remove a Windows directory junction without emptying its target
rmdir followed the junction and reported ENOTEMPTY, and unlink treated it as a real directory, so a junction to a non-empty folder could not be removed.
2026-10-26 00:02:20 +04:00
Maz a48a417101 fix(libc): keep char and wide time_get vtables after rebase 2026-10-26 00:02:16 +04:00
Maz bd6406392f feat(libc): export the wide time_get facet vtable as data 2026-10-26 00:02:15 +04:00
orezraeyandClaude Opus 5.5 3dac7eb76c fix(libc): check the fdopen mode before the descriptor and skip the access check as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:01:01 -03:00
xXPBSXxandClaude Sonnet 5.5 9e076485b2 docs(debt): note the call sites of sceAgcCbMemsetExclusive in six titles
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 20:57:13 +01:00
Adrià 2f506cacac Merge pull request #9624 from MarrasFederico/feat/avplayer-trick-speed-bandwidth-source
fix(libSceAvPlayer): refuse sceAvPlayerSetTrickSpeed without a source and sceAvPlayerSetAvailableBandwidth after one
2026-10-25 20:52:31 +01:00
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
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
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
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
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
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à 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
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
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