Commit Graph
20967 Commits
Author SHA1 Message Date
aarushkha 8cb0d985d7 Merge upstream main into feat/libkernel-equeue-regular-file-events-v2
Merge upstream main into feat/libkernel-equeue-regular-file-events-v2
2026-10-21 23:46:24 +05:30
Adrià b00235dda0 Merge pull request #8439 from xXPBSXx/fix/mmap-anonymous-flags
fix(libkernel): accept MAP_ANON without MAP_PRIVATE and refuse MAP_SHARED with MAP_PRIVATE
2026-10-21 20:16:10 +02:00
aarushkha 1d5b131655 chore: temporarily restore Equeue.cpp to the merge base to merge main cleanly 2026-10-21 23:45:49 +05:30
aarushkha 65782da198 chore: temporarily restore Equeue.hpp to the merge base to merge main cleanly 2026-10-21 23:45:47 +05:30
Federico Marras 62799443d5 fix(libSceNgs2.native): return the module's buffer and allocator errors from sceNgs2SystemCreate and sceNgs2SystemCreateWithAllocator 2026-10-21 20:15:07 +02:00
JAB-devandClaude Sonnet 5.5 8ed185a51c Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/agc-4-4-4-4-partial-writes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 20:13:17 +02:00
Federico Marras 424a12fd0e fix(libSceNgs2.native): return the module's codes from sceNgs2SystemSetSampleRate and sceNgs2SystemSetGrainSamples 2026-10-21 20:12:28 +02:00
Adrià 6b6c701636 Merge pull request #8941 from xXPBSXx/docs/debt-snwprintf-s-handler
docs(debt): say that snwprintf_s does not invoke the exported constraint handler
2026-10-21 20:12:23 +02:00
Savvanis SpyrosandClaude Opus 5.5 b6f96055bf feat(libSceGameLiveStreaming): implement sceGameLiveStreamingEnableLiveStreaming
The signature, int sceGameLiveStreamingEnableLiveStreaming(const bool
isEnableLiveStreaming), follows Orbital and fpPS4. No broadcast is ever
on air, so both values succeed and change nothing. A call outside
sceGameLiveStreamingInitialize and sceGameLiveStreamingTerminate throws,
as the console's error for it is unknown.

Monopoly Plus (CUSA03312) stopped at this call after its language screen.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 21:11:52 +03:00
Adrià b4d10586ef Merge pull request #8411 from xXPBSXx/fix/sigaction-reject-undefined-flags
fix(libkernel): reject undefined sa_flags in sigaction with EINVAL
2026-10-21 20:10:35 +02:00
Adrià d27d05ec14 Merge pull request #7883 from thuanquang/fix/strip-last-provoking-gs
fix(agc): draw triangle strips through a geometry program with the last provoking vertex
2026-10-21 20:10:30 +02:00
Adrià eb6928696a Merge pull request #7984 from fisherjoey/fix/idle-publish-wait
fix(agc): wait for the idle flush's unit-shadow publish before returning
2026-10-21 20:10:04 +02:00
Adrià 3897c5c6bd Merge pull request #7849 from MarcZX10/codex/fix-host-import-partial-unmap-lifetime
fix(agc): retire host imports before range cuts
2026-10-21 20:09:59 +02:00
David bbd9ee6d2c feat(libkernel_sys): implement SIGEV_NONE POSIX timers 2026-10-21 19:09:14 +01:00
Adrià 8e72738df6 Merge pull request #8437 from xXPBSXx/fix/mprotect-ignore-undefined-bits
fix(libkernel): drop undefined protection bits in mprotect
2026-10-21 20:08:57 +02:00
Adrià e09b022ea9 Merge pull request #8407 from xXPBSXx/fix/sigprocmask-never-block-kill-stop
fix(libkernel): never block SIGKILL and SIGSTOP in sigprocmask and sigsuspend
2026-10-21 20:08:51 +02:00
Superhe11 595dcacdf2 docs(libc): avoid competing debt insertions at the section start 2026-10-21 21:08:18 +03:00
wail-arch 03fae5dfcb fix(relinker): bind SDK guest module imports on Linux
A bundled module that names a console file dependency (.sprx, .suprx,
.debug_prx) imports by symbol name, as homebrew built with the
ps5-payload-dev SDK does. Bind those imports to the NID of the name,
except names another bundled module or the executable exports, and name
the module's host dependencies with the .prx library of the same stem.
2026-10-21 18:06:47 +00:00
Federico Marras 310cb0c4b5 fix(libSceNgs2.native): validate the system option with the module's error codes 2026-10-21 20:06:25 +02:00
Adrià 5fe3a62644 Merge pull request #7981 from fisherjoey/fix/import-window-digests
fix(agc): hash the pages of an import window instead of copying them
2026-10-21 20:05:58 +02:00
Adrià 0b117a8bfc Merge pull request #8392 from xXPBSXx/fix/socket-argument-order-fb
fix(libkernel): check socket address arguments before the descriptor
2026-10-21 20:05:37 +02:00
emirplus c74eae6393 fix(tools): handle errors cleanly and reconfigure streams in build_web 2026-10-21 21:04:09 +03:00
SueryandClaude Opus 5.5 7ae3fc8c22 feat(libSceVideoOut): open the display window fullscreen with ANYPS5_FULLSCREEN
A launcher that shows games fullscreen can set ANYPS5_FULLSCREEN instead of
pressing F11 after the window appears. The window opens with
SDL_WINDOW_FULLSCREEN_DESKTOP, the same mode F11 switches to.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017Dqgm9nUKygsXzr6poJsHJ
2026-10-21 14:03:29 -04:00
Adrià FranchandClaude 32f8205390 docs(libkernel): say the receive-after-SHUT_RD answer is Windows only
Co-Authored-By: Claude <[email protected]>
2026-10-21 20:01:26 +02:00
xXPBSXxandClaude Sonnet 5.5 c02a5d8034 fix(libkernel): keep the receive-after-SHUT_RD answer on Windows only
On Linux the host keeps data that was buffered before shutdown(SHUT_RD) and
guest_socket_pair expects to read it, so the shortcut that answers 0 for any
receive after SHUT_RD broke that test there. Limit the shortcut to Windows,
where the host cannot answer it, and run the post-shutdown receives of
guest_tcp on Windows only.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 20:01:18 +02:00
xXPBSXxandClaude Sonnet 5.5 ba8b881fa6 fix(libkernel): answer a receive after SHUT_RD or with no buffer without the host
soreceive_generic returns 0 for a socket whose receive side is shut and for a
zero-length receive on a connected stream socket (ENOTCONN when it is not
connected), without waiting. Winsock fails the first with WSAESHUTDOWN, which
reached the guest as EPIPE, and blocks the second until data arrives. recv and
recvfrom now answer both themselves.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 20:01:18 +02:00
Ondra97 7210515acf test(libSceFreeType): separate char-size coverage from pending kerning work 2026-10-21 20:00:49 +02:00
Ondra97 b74f4e24e8 feat(libSceFreeType): implement FT_Set_Char_Size 2026-10-21 20:00:49 +02:00
emirplus 83d94a9cd8 fix(ci): wrap entrypoint in main with stream reconfigure in check_skips 2026-10-21 21:00:47 +03:00
Adrià 606297f34f Merge pull request #8474 from xXPBSXx/fix/recv-msg-waitall
feat(libkernel): accept MSG_WAITALL in recv, recvfrom and recvmsg on a stream socket
2026-10-21 20:00:45 +02:00
Federico Marras 6978f110ee Merge branch 'fix/ngs2-atrac9-parsed-delay' into feat/ngs2-atrac9-module-loops 2026-10-21 20:00:38 +02:00
bluandClaude Opus 5.5 a293868561 fix(libkernel_sys): follow a symbolic link in link on Windows
link_nid_postfix decided whether to follow the source with
std::filesystem::is_symlink, which MinGW-w64's libstdc++ never reports for
a Windows symbolic link, so on Windows link made a hard link to the link
itself. Follow a reparse-point source to its final path with
GetFinalPathNameByHandleW instead, and run the link-through-a-link case of
guest_kernel_sys on Windows too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 11:00:06 -07:00
Kraken 35c508e9a2 test(libc): isolate feraiseexcept errno from barriers 2026-10-21 18:59:49 +01:00
Adrià 95d17687ae Merge pull request #8267 from thuanquang/fix/amd-robust2
fix(agc): give AMD's proprietary driver robustBufferAccess2 again
2026-10-21 19:59:43 +02:00
emirplus 87465459f0 fix(tools): wrap entrypoint in main with stream reconfigure in check_main_sync 2026-10-21 20:58:45 +03:00
Adrià 9c437e8087 Merge pull request #7629 from EagleBearerYS/fix/agc-settle-alias-before-import-free
fix(agc): destroy settle aliases before their imports are freed
2026-10-21 19:57:39 +02:00
Adrià 60976d8a4a Merge pull request #7827 from MarcZX10/codex/fix-lds-split-before-allocation-7794
fix(agc): refuse LDS split before allocation
2026-10-21 19:55:16 +02:00
roboterspinne e839b24793 Merge branch 'boykopovar:main' into claude/new-session-2p8mgt 2026-10-21 19:51:56 +02:00
HQasperandClaude Opus 5.5 71ce2fe6da feat(libSceLibreSsl3): implement MD5 and SHA1
Both one-shots threw. They run Init, Update and Final through
libSceLibreSsl's MD5_* and SHA1_*, which libSceLibreSsl3 now links,
and return the digest buffer. A null digest buffer throws, since
LibreSSL up to 3.8 hashes into a static buffer and later versions do
not check it.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-21 17:50:18 +00:00
HQasperandClaude Opus 5.5 ab4be13c94 feat(libSceLibreSsl): implement the MD4, MD5, SHA-1 and SHA-2 digests
MD4, MD5, SHA1, SHA224, SHA256, SHA384 and SHA512 Init/Update/Final and
the SHA256 one-shot threw. They now hash as LibreSSL does, on the
caller's MD4_CTX, MD5_CTX, SHA_CTX, SHA256_CTX and SHA512_CTX laid out as
in LibreSSL's md4.h, md5.h and sha.h, so a context copied or inspected
by the title stays valid: the bit count in Nl/Nh, the partial block in
data with its length in num, and md_len selecting the truncated digest.
Final pads and clears the buffer as LibreSSL's sources do.

Cases that differ between LibreSSL versions throw: SHA256 with a null
digest buffer and SHA512_Final with the SHA-512/224 or SHA-512/256
length. The test checks the RFC 1320, RFC 1321 and FIPS 180 vectors over
several chunk sizes, the context fields, copied contexts and those
cases.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-21 17:49:47 +00:00
Kraken d324106dc7 docs(libkernel): record cleanup unwind and allocation limits 2026-10-21 18:45:42 +01:00
mossyanwar be51ab7bae fix(relinker): resolve symbol-name imports through NIDs on Linux
Homebrew built with the ps5-payload-dev SDK names its system
libraries with .sprx and imports by symbol name, while the libraries
in libs/ are .prx files that export NIDs. On Linux such an executable
converted but stopped at load time on the first .sprx dependency and,
once that was found, on the first symbol name.

The Linux patcher now loads a dependency named with .sprx, .suprx or
.debug_prx as the .prx library of the same stem. In an executable that
names such a dependency, an import without a module that is named by
symbol gets the NID of that name. A name that a bundled module exports
still binds to that module. There is no lookup by the name as written,
because the host loader also searches the host C library. Other
executables keep their unqualified imports as written.
2026-10-21 18:43:42 +01:00
Federico Marras 048b67c1c4 fix(libSceNgs2.native): reset the system option to the module's defaults, 8 voice channels included 2026-10-21 19:43:25 +02:00
Adrià 950388bfd2 Merge pull request #8313 from Gruzzberry/docs/readme-trademark-notice
docs: add trademark and non-affiliation notice to README
2026-10-21 19:39:57 +02:00
Superhe11 eecffc924b test(libc): cover snprintf size bounds and formatting side effects 2026-10-21 20:34:41 +03:00
xXPBSXxandClaude Sonnet 5.5 acf96f32d0 fix(libc): fail snprintf and vsnprintf with EOVERFLOW when the size exceeds INT_MAX
FreeBSD 11.4 vsnprintf checks the size minus the terminator against INT_MAX
before formatting and, when it is larger, sets errno to EOVERFLOW, writes a
terminator to the buffer and returns EOF (lib/libc/stdio/vsnprintf.c:61-67).
The guest formatted into the buffer and returned the length.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 20:34:41 +03:00
al3w0f205 9c1eeedf6f test(libSceAmpr): cover completion command measurement and buffer base address query 2026-10-21 12:30:20 -05:00
al3w0f205 5b6ae43b26 test(libSceErrorDialog): cover sceErrorDialogOpenDetail and sceErrorDialogOpenWithReport 2026-10-21 12:25:38 -05:00
al3w0f205 145acfb254 test(libSceContentSearch): cover content binder return values and unimplemented application search stubs 2026-10-21 12:25:06 -05:00
Yossi Yadgar 5cca233e98 docs(debt): record where the libkernel_sys default stack size rule comes from 2026-10-21 20:24:13 +03:00