Commit Graph
17691 Commits
Author SHA1 Message Date
Dean 84a4b12f45 Merge pull request #10739 from rooklz/fix/cescs-gb18030-console
fix(libSceCesCs): map the GB 18030 profiles as the console does
2026-10-27 21:14:08 +13:00
Dean c04a9740c8 Merge pull request #10583 from MarcZX10/marc/freetype-bitmap-init
feat(libSceFreeType): implement FT_Bitmap_Init
2026-10-27 21:13:02 +13:00
Rookie 4c28647f0a fix(libc): answer EBADF to a null filename on a closed stream as the console does 2026-10-27 08:11:28 +00:00
Rookie 9618254977 fix(libc): reopen a closed stream in freopen instead of aborting 2026-10-27 08:11:28 +00:00
Dean 699ffce388 Merge pull request #10550 from GitamarT045T3R/fix/libkernel-munmap-unaligned
fix(libkernel): round an unaligned munmap address down like FreeBSD
2026-10-27 21:11:19 +13:00
Dean 2aacb376ee Merge pull request #10346 from JJenkx/windows/libc-logb-msun
fix(libc): compute logb and logbf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-27 21:09:12 +13:00
Hedi Trigui a847058156 test(libSceNpCommerce): cover uninitialized and terminated argument validation 2026-10-27 09:08:15 +01:00
Dean f97469d06d Merge pull request #10178 from santhoshkumar-dev/codex/freetype-module-properties
feat(libSceFreeType): configure scalar and darkening properties
2026-10-27 21:07:31 +13:00
Dean 5a36b2df1e Merge pull request #9850 from JJenkx/windows/libc-powf-msun
fix(libc): compute powf like the libc.prx that titles ship
2026-10-27 21:07:00 +13:00
Dean 9bc2b99bbb Merge pull request #9802 from santhoshkumar-dev/codex/freetype-curve-bounds
feat(libSceFreeType): query exact outline curve bounds
2026-10-27 21:06:45 +13:00
Dean f95b794ff1 Merge pull request #9785 from santhoshkumar-dev/codex/libressl-protocol-selection
feat(libSceLibreSsl): select advertised application protocols
2026-10-27 21:06:22 +13:00
Dean 853b370f01 Merge pull request #9784 from JJenkx/windows/libc-atan2f-msun
fix(libc): compute atan2f with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-27 21:06:05 +13:00
Dean 10a215161a Merge pull request #9420 from Ondra97/codex/feat-freetype-sfnt-access
feat(libSceFreeType): expose raw SFNT table access
2026-10-27 21:05:45 +13:00
Jota 5e75bae0ce fix(libkernel): keep the host signal numbers in waitpid on macOS hosts
waitpid translated the stop and termination signal of a child from the
Linux numbering to the FreeBSD one on every non-Windows host. Darwin
already numbers its signals like FreeBSD, so on macOS the translation
broke them: a child stopped by SIGSTOP (17) was reported as stopped by
20, SIGBUS (10) as 30, SIGSYS (12) as 31, and a child killed by SIGUSR1 (30)
made waitpid report a missing guest equivalent.

macOS now passes the host signal through. The spawn test finds its own
executable with _NSGetExecutablePath on macOS instead of /proc/self/exe,
and also checks a child killed by SIGUSR1, whose number differs between
Linux and FreeBSD and which macOS used to reject.
2026-10-27 05:05:29 -03:00
Dean 36e6c092c0 Merge pull request #9011 from JJenkx/perf/mapped-readable-run-lease-b5d763
perf(agc): lease mapped readable runs for import events
2026-10-27 21:05:23 +13:00
Jota bfbd5e7a05 fix(libc): let a raised fault signal end the process under the macOS write watch
The macOS write watch handles SIGBUS and SIGSEGV for the whole process.
When a signal is not a write to a watched page and no handler was
installed before it, the handler restored the default action and
returned. That ends the process for a real fault, which runs again and
faults with the default action, but a SIGBUS or SIGSEGV sent with raise
or kill was swallowed: the process kept running. A spawned child that
raised SIGBUS exited with its next exit code instead of dying with the
signal, so guest_posix_spawn failed on macOS.

The handler now raises the signal again after restoring the default
action. It is blocked until the handler returns, so a real fault still
ends with the same signal, and a sent one now does too. An inherited
SIG_IGN keeps the old behaviour.
2026-10-27 05:05:17 -03:00
Dean b4445c5b16 Merge pull request #8118 from RockENZO/codex/macos-guest-weak-exports
fix(relinker): preserve weak guest exports on macOS
2026-10-27 21:04:56 +13:00
Adrià 2589561c0e Merge pull request #11124 from EagleBearerYS/feat/sourced-answers-np-bt-dialog
feat: answer the NpWebApi2 multipart calls and sceBluetoothHidParamInitialize from their sources
2026-10-27 09:04:33 +01:00
Adrià 1b2af92baf Merge pull request #11187 from p3n1cillin/claude/pad-ext-info-not-permitted
fix(libScePad): refuse scePadGetExtControllerInformation on a standard pad as the console does
2026-10-27 09:03:28 +01:00
milescovielloandClaude Opus 5.5 daa5cf02e8 test(agc): check the action sceAgcQueueEndOfPipeActionPatchType writes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 08:01:44 +00:00
Dean Galvin 636c0564ef merge: main into carry/3699-f16-fma 2026-10-27 20:59:33 +13:00
Ondra97 7a0dfeb79c test(http2): link teardown fixture with Windows sockets 2026-10-27 08:58:57 +01:00
slopgobblercobbler 5bb4711bb8 fix(libSceSaveData.native): return SAVE_DATA_ERROR_PARAMETER on null argument in sceSaveDataConvert 2026-10-27 08:57:14 +01:00
Adrià 12686b52de Merge pull request #11060 from pushkarreddyy/fix/libkernel-writev-append-efault
fix(libkernel): return EFAULT for unreadable append iovec buffers on Windows
2026-10-27 08:56:20 +01:00
Dean Galvin 70b3dc8467 merge: main into feat/libscelibressl-x509-store-ctx-error 2026-10-27 20:55:58 +13:00
Adrià 83370fe136 Merge pull request #11065 from morten-holm/fix/agc-mesh-limit-details
fix(agc): name the mesh limit a pipeline exceeds and its values
2026-10-27 08:54:07 +01:00
xXPBSXxandClaude Sonnet 5.5 d6ec92312c test(libkernel): cover pthread_setspecific and pthread_getspecific
pthread_setspecific returns an errno value, unlike the Sce function it wraps,
and neither POSIX export had a test. Check the FreeBSD 11.4 results of
_pthread_setspecific and _pthread_getspecific (lib/libthr/thread/thr_spec.c
lines 165-194 and 196-222): a key outside the valid range or a deleted key
makes setspecific return EINVAL (22), getspecific returns NULL for such a key
and for a key never set, a stored value is read back, NULL can be stored, a
new key with a reused number starts empty, and another thread has its own
value.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 08:53:33 +01:00
Dean a5fea6f5c4 Merge pull request #9449 from SnekPolylepis/feat/verified-system-export-declarations
feat(prx): declare 252 verified missing system exports
2026-10-27 20:53:30 +13:00
Dean fedb323a30 Merge pull request #10698 from MarcZX10/marc/signatures-libscenpwebapi
feat(libSceNpWebApi): declare two stubs with shadPS4's signatures
2026-10-27 20:53:16 +13:00
Dean 619ac3c2b6 Merge pull request #10467 from MarcZX10/fix/libc-tgammaf-underflow-sign
fix(libc): preserve tgammaf underflow sign
2026-10-27 20:53:02 +13:00
Dean cf652ca76e Merge pull request #10398 from alvaroelpob/feat/libscelibressl-evp-pkey-type
feat(libSceLibreSsl): implement EVP_PKEY_type
2026-10-27 20:52:31 +13:00
Dean 2f0a0071f5 Merge pull request #10251 from orezraey/docs/libc-fopen-directory-measured-ps5
docs(libc): record fopen and freopen of directories as measured on a PS5
2026-10-27 20:52:15 +13:00
Ondra97 422ce09841 test(http2): disarm allocation fault before throwing 2026-10-27 08:49:09 +01:00
Ondra97 251107d1eb fix(http2): keep teardown consistent under allocation failure 2026-10-27 08:49:08 +01:00
Jota 244ac01a54 test(libc): compile the contraction probe for the macOS build architecture 2026-10-27 04:47:33 -03:00
Adrià b87d3d87e2 Merge pull request #11080 from slopgobblercobbler/fix/savedata-ps4-null-argument-validation
fix(libSceSaveData.native): validate null arguments in sceSaveDataDirNameSearchPs4 and sceSaveDataMount
2026-10-27 08:46:03 +01:00
Adrià FranchandClaude Sonnet 5.5 c8cac8e090 fix(libkernel): initialise the CPU model before reading AVX support for guest TLS
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 08:42:09 +01:00
Emanueleandmugurc 86cdfb8647 feat(libkernel): thread-local storage for Mach-O guests
FreeBSD code reaches its thread pointer through %fs and macOS cannot set
the fs base. The macOS relinker turns each %fs access of a guest image
into a stub that reads the thread pointer from a pthread key and calls
Aps5GuestTlsAllocate on a thread's first access, registers the TLS
descriptor of an image with Aps5GuestTlsRegister, and routes
__tls_get_addr to Aps5GuestTlsGetAddr. No library provided them, so a
relinked executable could not start.

- Aps5GuestTlsRegister validates the descriptor the relinker wrote and
  creates the key; its destructor frees the block of a thread.
- Aps5GuestTlsAllocateThreadPointer allocates the block (the TLS template
  followed by zeros, then a 0x100-byte thread control block whose first
  word points at itself, as on FreeBSD) and stores the thread pointer
  under the key.
- Aps5GuestTlsAllocate is the entry the stubs call: rax holds the
  descriptor and returns the thread pointer, every other register is
  preserved, the upper halves of the ymm registers only where AVX exists.
- Aps5GuestTlsGetAddr returns the block of the thread plus the offset.

Co-authored-by: mugurc <[email protected]>
2026-10-27 08:42:04 +01:00
Adrià ea048ce2c3 Merge pull request #11033 from mzaeemnasir/fix/relinker-collector-signed-branch-target
fix(relinker): collect reachable branch targets without signed overflow
2026-10-27 08:40:36 +01:00
Adrià dd6d71ba13 Merge pull request #11050 from harisibrar1/feat/libressl-asn1-string-to-utf8
feat(libSceLibreSsl): report ASN1_STRING_to_UTF8 errors through the ASN.1 error queue
2026-10-27 08:38:38 +01:00
Adrià e5779c0a84 Merge pull request #10790 from leorossi2005/feat/netctl-get-nat-info
feat(libSceNetCtl): implement sceNetCtlGetNatInfo
2026-10-27 08:38:33 +01:00
milescovielloandClaude Opus 5.5 3383555532 test(agc): check the packets sceAgcDcbGetLodStats writes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 07:36:48 +00:00
Hedi Trigui 3841816986 test(libSceGameCustomDataDialog): cover post-terminate argument validation 2026-10-27 08:35:17 +01:00
Hedi Trigui 960a96ebc4 test(libSceNpAuthAuthorizedAppDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:21 +01:00
Hedi Trigui 7480f9ed16 test(libSceNetCtlApDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:19 +01:00
Hedi Trigui 5cceb6c60c test(libSceCdlgPlayerReview): cover post-terminate argument validation 2026-10-27 08:34:16 +01:00
Hedi Trigui 340ab9f970 test(libSceNpSnsFacebookDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:14 +01:00
Hedi Trigui b3084879ea test(libSceNpFriendListDialog): cover uninitialized and terminated argument validation 2026-10-27 08:34:12 +01:00
Hedi Trigui 7c105a907e test(libSceCdlgG2P): cover post-terminate argument validation 2026-10-27 08:34:10 +01:00
Hedi Trigui 50814153e9 test(libSceSigninDialog): cover post-terminate argument validation 2026-10-27 08:34:08 +01:00