Commit Graph
10207 Commits
Author SHA1 Message Date
Codex 330bdf2cec feat(gameupdate): add missing title-check inventory export 2026-10-30 00:44:21 +02:00
Codex 3a94fb26f2 feat(opus): add missing encoder inventory exports 2026-10-30 00:44:06 +02:00
Codex 49f5f00e54 feat(texttospeech2): add missing inventory exports 2026-10-30 00:43:09 +02:00
Codex b45e1677e7 feat(npsession): add missing manual UDP inventory exports 2026-10-30 00:42:23 +02:00
Codex f369da5bb3 feat(nptrophy): add missing system wrapper inventory exports 2026-10-30 00:40:03 +02:00
Codex 2c490639cc feat(razorcpu): add missing profiling export stubs 2026-10-30 00:35:58 +02:00
Adrià 195b1889a6 Merge pull request #12645 from slopgobblercobbler/fix/agc-resource-registration-and-rendering-wait
fix(agc): validate rendering wait buffer and expand resource registration tests
2026-10-29 23:28:27 +01:00
Adrià e1dd37721c Merge pull request #12555 from JJenkx/codex/libc-fltrounds-x87-20261028
fix(libc): read x87 rounding in _Fltrounds
2026-10-29 23:28:14 +01:00
Adrià 8324dbb30a fix(relinker): test earlier bss over non-zero later file bytes and state the protection gap first in the debt entry 2026-10-29 23:24:44 +01:00
tablefrogpillowandClaude Opus 4.8 dbf358ef81 fix(relinker): refuse write-execute PT_LOAD overlaps and bound the congruence check
Addresses the #12591 review. Because the Windows image ORs page permissions,
refuse a congruent overlap when one segment is executable and the other
writable and the later segment does not start on a page boundary, which would
otherwise share a read-write-execute page; the rule is applied on both loaders
so their acceptance decision matches. Bound the congruence check to the
file-backed part of the overlap and compare spans rather than walking the
implicit zero bytes of a large bss overlap.

Expand test_executable_segments.py: byte-congruent tail and bss overlaps
accepted with their trimmed sizes and no output overlap; a write-execute
overlap refused at an unaligned boundary and accepted at an aligned one with
the Windows image carrying no write-execute section; differing bytes, an
overlap past the later end, a non-zero file byte over the later segment's bss,
and a shared start address refused; and a no-overlap control. Keep only the
PPSA ids in the relinker.md note.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-29 23:24:38 +01:00
tablefrogpillowandClaude Opus 4.8 d1904e7b66 fix(relinker): accept byte-congruent PT_LOAD overlaps by trimming the earlier segment
Some homebrew toolchains emit an eboot whose read-only PT_LOAD runs over the
GNU_RELRO start of the following read-write PT_LOAD, with byte-identical content
over the overlap. The relinker refused every such title with "Overlapping
PT_LOAD memory ranges" on both the Linux and Windows paths (Photo Splat VR
PPSA99770 #12183, FoxHollow PPSA99573, WWE 13 PPSA92013).

When an earlier PT_LOAD's tail overlaps a later one, the overlapping bytes are
identical, and the overlap does not extend past the later segment, trim the
earlier segment to end where the later one starts so the later segment owns the
shared range. On Linux the preserved PT_GNU_RELRO makes that range read-only
after relocation, matching the earlier read-only mapping; the Windows image
builder has no RELRO step, so the shared range stays writable (noted in
docs/dev/debt/relinker.md).

Overlaps whose bytes differ (the #10564 case), that extend past the later
segment, or that share a start address with it are still refused on every
target; the last case would otherwise trim the earlier segment to zero length.
test_executable_segments.py covers the accepted tail overlap and all three
refused cases.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-29 23:24:38 +01:00
Codex d058e59ffd feat(savedata): add missing cloud and sync inventory exports 2026-10-30 00:20:59 +02:00
JJenkxandClaude Opus 5.5 fb4fb58c87 fix(libc): report strerror_s violations as titles' libc.prx does
The libc.prx that titles ship (PPSA07923, PPSA05916) rejects a
strerror_s capacity above SIZE_MAX >> 3, not SIZE_MAX >> 1, and calls
the constraint handler with "strerror_s: bad argument", EINVAL and a
null pointer for a null destination, a capacity of 0 or one past that
limit. main passed "strerror_s" and the destination, and wrote the
message for a capacity from 2^61 up.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 23:16:52 +01:00
Adrià 4c8cff1916 Merge pull request #12572 from JulesB40/feat/libressl-oracle
test(libSceLibreSsl): compare exports with LibreSSL 2.5.4 behind ANYPS5_LIBRESSL_ORACLE
2026-10-29 23:08:21 +01:00
ThomasandClaude Opus 5.5 fec17fbd29 docs(game-testing): point to the log that ps5-homebrew-ui titles write in their own storage
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 23:02:48 +01:00
Adrià 4740534186 Merge pull request #12527 from JJenkx/windows/libc-strerror-extended
fix(libc): name the extended errno values in strerror as titles' libc.prx does
2026-10-29 23:01:08 +01:00
ThomasandClaude Opus 5.5 89b061ba9a fix(libSceAmpr): list the occupancy threshold as a silent stub and drop the invalid threshold from its test
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 22:57:44 +01:00
Celegans12 fb06a75598 feat(playgo): add missing disc and optional-chunk exports 2026-10-29 22:52:15 +01:00
Celegans12 dfe69e62f4 feat(mouse): add missing disconnect and virtual-device exports 2026-10-29 22:51:56 +01:00
Dean 7b869f65fc Merge pull request #11768 from oneandonlydean/salvage/abstract-storage-ipmi-9463
feat(prx): declare 150 PS5 3.20 exports in libSceAbstractStorage and libSceIpmi
2026-10-30 10:48:59 +13:00
Dean 82e99009f5 Merge pull request #11767 from oneandonlydean/salvage/abstract-youtube-nkwebkit-9467
feat(prx): declare 150 PS5 3.20 exports in libSceAbstractYoutube and libSceNKWebKitRequirements
2026-10-30 10:48:42 +13:00
Adrià fc9240dbc5 Merge pull request #12655 from SnekPolylepis/feat/vrtracker2-exports
feat(prx): declare WKBundleInitialize in RnpsNKInjectedBundle
2026-10-29 22:26:11 +01:00
Dean c40cef8436 Merge pull request #11752 from oneandonlydean/salvage/libc-internal-9498
feat(libSceLibcInternal): declare 120 PS5 3.20 pending exports
2026-10-30 10:18:57 +13:00
Dean 85ae67061d Merge pull request #12856 from slopgobblercobbler/fix/audioout-param-buffer-validation
fix(libSceAudioOut): validate open format parameter and virtual port buffer boundaries
2026-10-30 10:18:42 +13:00
Adrià 610127f949 Merge pull request #12637 from Lindamea1/feat/http2-ssl-version-wait-timeout
feat(libSceHttp2): implement sceHttp2SetMinSslVersion for versions 2 to 5
2026-10-29 22:18:32 +01:00
Adrià d608626876 Merge pull request #12633 from Lindamea1/feat/videodec2-avc-picture-info
feat(libSceVideodec2): implement H.264 picture info in sceVideodec2GetPictureInfo and sceVideodec2GetAvcPictureInfo
2026-10-29 22:18:26 +01:00
edubox 9b07b8e969 feat(ngs2): report the frame info of every supported PCM type 2026-10-29 22:10:36 +01:00
ThomasandClaude Opus 5.5 2e03c203e2 feat(libSceAmpr): accept the page-table pool occupancy notification threshold
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 22:05:19 +01:00
mrph28 6a2c3e7d99 feat(libSceVideoOut): export sceVideoOutCursorSet2xMagnify
PC5 (PPSA11018) imports the NID and the library did not export it, so the converted executable stopped at load with error 127. The call validates the handle and index like the other cursor calls and returns 0: no cursor image is drawn, so the magnification has no observable effect. The unmeasured behaviour is recorded under Silent stubs.
2026-10-29 17:54:07 -03:00
Adrià 5e6c22e772 Merge pull request #12208 from XairRrR/fix/shader-srt-read-below-loaded-pointer
fix(shader): poison an SRT read below a pointer loaded from memory
2026-10-29 21:52:04 +01:00
Yunus Shaikh defd410761 Merge #9533's main merge into feat/agc-msaa-d32s8-stencil-view 2026-10-29 13:50:28 -07:00
Yunus Shaikh 6eb141ce5f Merge main into fix/agc-msaa-d32s8-separate-stencil
Main's 102b7a5cf0 brings #12566's HostOnlySampleRanges, added in MultisampleTarget.cpp where this branch adds MultisampleColorTargetOver; the merge keeps both.
2026-10-29 13:48:16 -07:00
Adrià 102b7a5cf0 Merge pull request #12546 from Elma7e/test/signindialog-finished-state-and-result-validation
test(libSceSigninDialog): cover finished dialog open and close and result buffer preservation
2026-10-29 21:43:47 +01:00
Adrià b2d7affc0e Merge pull request #12545 from Elma7e/test/npauthauthorizedappdialog-uninitialized-precedence
test(libSceNpAuthAuthorizedAppDialog): cover argument validation precedence over uninitialized state
2026-10-29 21:43:40 +01:00
frankea 3077fd7662 feat(libSceAcm): encode 128-sample reverb blocks with a 256-point FFT job 2026-10-29 16:29:36 -04:00
frankea 23f27746b0 Merge #13001 (sceAcm_FFT and sceAcm_IFFT encoding) into feat/acm-conv-reverb-shared-input 2026-10-29 16:28:36 -04:00
hyvvs 9e49b45c1b docs(libSceMbus): identify unverified callback size handling 2026-10-29 21:27:44 +01:00
hyvvs d8e256b77c docs(libSceFont): cite original drawup recovery evidence 2026-10-29 21:27:34 +01:00
hyvvs 70ec0f302d docs(libSceFont): clarify drawup ABI and mode width 2026-10-29 21:26:11 +01:00
Adrià 7b736fe669 Merge pull request #12207 from XairRrR/fix/agc-depth-cube-array-planes
fix(agc): sample a cube array over depth surfaces through their depth planes
2026-10-29 21:21:04 +01:00
Adrià cbc39db363 Merge pull request #12117 from plexerPK/codex/macos-write-watch-nonwrite-faults
fix(libc): forward non-write faults from watched macOS pages
2026-10-29 21:20:52 +01:00
Adrià dde1b9f21d Merge pull request #12081 from akkadbakkad89/agc-msaa-single-sample-lines
fix(agc): allow MSAA_ENABLE single-sample lines
2026-10-29 21:20:45 +01:00
Adrià 1aff97d3c8 Merge pull request #12093 from dantdmdarealguy/fix/kqueue-windows-snapshot-times
fix(libkernel): read a watched file's times again after its size on Windows
2026-10-29 21:20:39 +01:00
frankea 12f87f5f01 feat(libSceAcm): encode sceAcm_FFT and sceAcm_IFFT jobs as firmware 13.40 does 2026-10-29 16:20:37 -04:00
Adrià c8bc4a20d7 Merge pull request #12606 from EagleBearerYS/feat/libkernel-sys-settimeofday
feat(libkernel_sys): implement sceKernelSettimeofday
2026-10-29 21:20:32 +01:00
Adrià cc0e00efcd Merge pull request #12585 from xXPBSXx/test/font-rebind-renderer
test(libSceFont): cover the sceFontRebindRenderer return codes
2026-10-29 21:19:27 +01:00
Adrià bc02ae867d Merge pull request #12552 from Elma7e/test/videodec-delete-and-reset-argument-validation
test(libSceVideodec): cover null and struct size validation in delete and reset decoder
2026-10-29 21:19:20 +01:00
Adrià ce9394b844 Merge pull request #12566 from chitters2004/fix/agc-capture-host-only-msaa
fix(agc): write host-only multisample memory as zeros in a capture snapshot
2026-10-29 21:19:01 +01:00
Adrià 393db570ee Merge pull request #12587 from EagleBearerYS/fix/audiodec-m4aac-extension-modes
feat(libSceAudiodec): decode M4AAC with non-delay output enabled
2026-10-29 21:18:54 +01:00
frankea 2972970822 docs(libSceAcm): cite the firmware source for reverb jobs 2026-10-29 16:04:49 -04:00