Brainiac91
2f3e41252d
fix(relinker): mask embedded data tables in inter-FDE gaps
...
In PS5 Prospero PRX binaries, compilers place embedded constant data tables (such as the OpenSSL Whirlpool lookup table in ubiservices.prx) in inter-FDE gaps after function code, referenced via RIP-relative LEA instructions.
- In RelativeJumpTables, detect constant data tables in inter-FDE gaps that begin with padding, contain no direct branch targets, and contain undecodable non-code bytes, distinguishing them from valid unannotated code routines and multi-hop gap branches.
- In GuestModuleBuilder and RelinkerPipeline, extract unwind functions from PT_GNU_EH_FRAME as well as PT_SCE_DYNLIBDATA, and mask embedded data tables with 0x90 in scan buffers before SyscallScanner.
- In CodeInstructionCollector, populate table boundaries whenever unwind functions are present to prevent addAddressTakenRoot from adding data table addresses to CFG roots on Windows and macOS.
- Update relinker technical debt documentation and add regression tests.
Fixes #7547
Unblocks: PPSA28155 #7547
2026-10-25 23:22:06 +02:00
Adrià
1f68b1f776
Merge pull request #9605 from harisibrar1/test/shard-shader-cache-runtime-sources
...
test(recompiler): shard shader_cache_runtime_sources to stay under 30 s
2026-10-25 22:13:35 +01:00
Adrià
26ba9b6b71
Merge pull request #9499 from EagleBearerYS/fix/libkernel-signal-handler-mask
...
fix(libkernel): block a signal while its handler runs and honour SA_RESETHAND
2026-10-25 22:05:12 +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
boykopovar
5a2744c55e
Merge pull request #11158 from boykopovar/refactor/no-3rdparty-in-public-headers
...
refactor(libs): remove 3rdparty from public headers
2026-10-25 23:25:14 +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
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
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
Dean
7ce95893f9
Merge pull request #10551 from JJenkx/perf/agc-storage-reclaim-ceiling
...
fix(agc): reclaim idle device buffers up to the storage cache's current cap
2026-10-26 09:10:30 +13:00
Dean
721bb69e55
Merge pull request #9257 from Noxy-HNR/fix/ci-gate-flow-mapping-paths
...
fix(tools): accept flow-style pull_request paths filters in the CI gate
2026-10-26 09:07:17 +13:00
Adrià
065d5dba6a
Merge pull request #9502 from GitamarT045T3R/fix/libkernel-fchmod-pipe
...
fix(libkernel): fail fchmod on a pipe with EINVAL like FreeBSD
2026-10-25 21:03:23 +01:00
boykopovar
a0adf633ea
refactor(freetype): decouple public list types from host headers
2026-10-25 22:56:38 +03: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
boykopovar
b1b3069763
test(sdk): report all public header dependency failures
2026-10-25 22:51:39 +03:00
boykopovar
7d60d65e7a
test(sdk): reject third-party public header dependencies
2026-10-25 22:49:22 +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
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
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
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
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
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
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
Adrià
2cd69d689a
Merge pull request #9667 from xXPBSXx/docs/np-sns-debt-undeclared-names
...
docs(debt): make the NpSns entry and its note agree on three names
2026-10-25 19:35:10 +01:00
Adrià
efe89d49c9
Merge pull request #9651 from xXPBSXx/docs/sce-net-connect-unspec-windows-bound-address
...
docs(debt): record what a Windows datagram socket keeps after sceNetConnect to AF_UNSPEC
2026-10-25 19:31:54 +01:00
Adrià
b1f023dda3
Merge pull request #9486 from harisibrar1/fix/relinker-dlltool-temp-prefix
...
build(relinker): give dlltool a short temporary prefix for the msvcrt import library
2026-10-25 19:29:55 +01:00
Adrià
d17785dba8
Merge pull request #9551 from JJenkx/perf/agc-sparse-mirror-range-run
...
perf(agc): mirror a sparse heap whose committed span crosses adjacent ranges
2026-10-25 19:26:00 +01:00
Adrià
baabfbc204
Merge pull request #9474 from Gruzzberry/fix/access-symbolic-link
...
fix(libc): follow a Windows symbolic link in access
2026-10-25 19:14:11 +01:00
Adrià
5d48c6233e
Merge pull request #9401 from tibzejoker/perf/grow-pipeline-store
...
perf(agc): size the pipeline store to the title's working set
2026-10-25 19:07:59 +01:00
Adrià
dbeacda420
Merge pull request #9548 from jotitadev/fix/libatrac9-bitreverse-shift-by-32
...
fix(libSceAjm.native): guard LibAtrac9 BitReverse32/SignExtend32 against undefined shifts in the ATRAC9 decoder
2026-10-25 19:04:00 +01:00
Yunus Shaikh
d0c945ce86
docs(libkernel): record how poll reports a hung-up stream socket on each host
2026-10-25 19:01:11 +01:00
Yunus Shaikh
7c36d37671
fix(libkernel): clear POLLOUT from a hung-up socket in poll on Linux
...
FreeBSD's pollscan clears POLLOUT whenever POLLHUP is set, for every
descriptor. 64ca6e332 applied that to pipes, but a stream socket whose
peer has closed and whose own sending side is shut down still reported
POLLOUT next to POLLHUP, because Linux's poll sets both. Linux sets
POLLHUP only once both directions are shut, the same condition as
FreeBSD, so poll now clears POLLOUT from any entry that reports POLLHUP
there.
2026-10-25 19:01:02 +01:00
Adrià Franch and Claude Sonnet 5.5
44393a3350
fix(net): reach the guest read through a _nid_no_patch export
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-25 18:56:25 +01:00
Braxton Atkinson
67c149465e
feat(net): store DNS overrides and match firmware argument checks
...
Apply the firmware 13.42 module-probe report in PR #9506 : all four DNS calls check initialization first; getters return EINVAL for null outputs or nonzero flags; setters reject flags before reading guest memory. Keep the checked input copy and document EFAULT as host safety, not firmware behavior. Use the current public Net.hpp declarations in the regression.
Rebased onto upstream e7e3e9c198 . Ubuntu 24.04, GCC 13.3, Release: actual libc/libkernel/libSceNet libraries and both focused test executables built. guest_sce_net passes. A separate harness linked against those unmodified libraries passes initialization, errno, invalid flags, unreadable-input flag precedence, null clearing and unchanged-output checks. The full guest_net_dns_info test is blocked here: process_vm_readv is denied with EPERM by the execution environment. No full DNS regression pass is claimed. Public-header audit, conventions, test registration and whitespace checks pass.
The resolver still uses host DNS; IPv6 host-server discovery and firmware server-count behavior remain debt. Firmware evidence: https://github.com/boykopovar/AnyPS5/pull/9506#issuecomment-6390574180
AI-assisted: yes
2026-10-25 18:56:14 +01:00
Adrià
7a25f87620
Merge pull request #9500 from GitamarT045T3R/fix/libkernel-condattr-setclock
...
fix(libkernel): reject clocks libthr does not accept in pthread_condattr_setclock
2026-10-25 18:42:46 +01:00
Adrià
19fe176ddc
Merge pull request #9456 from mazen320/feat/libc-time-get-vtable
...
feat(libc): export the time_get facet vtable as data
2026-10-25 18:38:52 +01:00
Adrià
ac65cf490e
Merge pull request #9613 from JJenkx/windows/libc-debt-bundled-readings
...
docs(debt): cite the bundled libc.prx for _Mtx_trylock, strdup and strndup
2026-10-25 18:36:43 +01:00
Adrià
506991994d
Merge pull request #9496 from Gruzzberry/fix/open-excl-symbolic-link
...
fix(libkernel): fail open with O_CREAT and O_EXCL on a Windows symbolic link
2026-10-25 18:35:57 +01:00
Adrià
30bef4b0c1
Merge pull request #9501 from GitamarT045T3R/fix/libkernel-process-cpu-clock
...
fix(libkernel): answer process CPU clocks like FreeBSD instead of throwing
2026-10-25 18:34:57 +01:00
Adrià
2e1c72239b
Merge pull request #9487 from Gruzzberry/fix/chmod-symbolic-link
...
fix(libkernel): follow a Windows symbolic link in chmod
2026-10-25 18:25:24 +01:00
Adrià
f50caac5c2
Merge pull request #9494 from EagleBearerYS/fix/libscenet-inet-text-rules
...
fix(libSceNet): follow FreeBSD inet text rules for IPv6
2026-10-25 18:23:21 +01:00
Adrià
0c1563e357
Merge pull request #9493 from EagleBearerYS/fix/libscenet-closed-stream-readable
...
fix(libSceNet): report a stream whose peer closed as readable on Windows
2026-10-25 18:22:51 +01:00
Adrià
7e4f6e0440
Merge pull request #9482 from valenciana-nc/fix/pthread-attr-ended-thread
...
fix(libkernel): reject ended threads in pthread_attr_get_np
2026-10-25 18:14:22 +01:00
Dean
63fa26aa68
Merge pull request #10067 from kiansaeidnia/fix/web-change-selection
...
fix(web): reset batch selection when changing apps
2026-10-26 06:14:10 +13:00
Dean
68cc9d4e75
Merge pull request #10369 from krishalivaibhav/fix/import-watched-write-opt-in
...
fix(agc): let imports that cannot write guest memory keep the watch armed
2026-10-26 06:14:06 +13:00
Dean
59bf9480f7
Merge pull request #10432 from JAB-dev/fix/ngs2-pan-ps5
...
fix(libSceNgs2): return the PS5 pan codes and accept NaN pan inputs
2026-10-26 06:14:03 +13:00
Adrià Franch and Claude Haiku 5.5
8065d65f01
fix(libSceAjm): declare each batch export in one header
...
The public header audit found the three PS4 batch exports declared in libSceAjm's Api.hpp and in libSceAjm.native's, and the libSceAjmi run stub under its plain name. Keep them in libSceAjm.native and declare the libSceAjmi stub as sceAjmBatchJobRunBufferRa_nid_disambig1, as its definition is.
Co-Authored-By: Claude Haiku 5.5 <[email protected] >
2026-10-25 18:13:38 +01:00