Commit Graph
4201 Commits
Author SHA1 Message Date
bluandClaude Fable 5.1 0900ff6ff0 feat(libc): implement siginterrupt through the sigaction libkernel registers
siginterrupt is a libSceLibcInternal export (the public SDK's stub table has it there, not in the
kernel tables) and FreeBSD 11.4's lib/libc/gen/siginterrupt.c reads the signal's disposition,
sets or clears the signal's bit in _sigintr and SA_RESTART, and installs the disposition again.
libc cannot call libkernel, so, as the pthread hooks do, libc keeps a registered sigaction and
the address of the _sigintr set, and libkernel registers both from a static initializer when it
loads. A call before that throws; the set is written without libkernel's registration lock, as
FreeBSD's libc does. Builds on #8866, which adds the set.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 20:53:14 -07:00
bluandClaude Fable 5.1 e38179eaab feat(libkernel): export _sigintr and let signal honour it
The public SDK's libkernel, libkernel_sys and libkernel_web stub tables declare _sigintr, the
sigset_t that FreeBSD's libc shares between signal and siginterrupt, and no built library
provided it (#8846). libkernel now exports the 16-byte object, zero at start, and signal records
a handler with SA_RESTART unless its signal is in the set, as lib/libc/gen/signal.c does.

siginterrupt, which fills the set, is a libSceLibcInternal export; libc does not link libkernel
and cannot reach the dispositions, so it stays out and a debt entry for signal says so.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 20:41:54 -07:00
Dean 05f9995704 Merge pull request #8469 from hypermoist/feat/agcdriver-firmware-constants
feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
2026-10-21 16:23:27 +13:00
Dean 9f4ddf7cf9 Merge pull request #8838 from orezraey/fix/http-uri-unescape-sweep-measured-ps5
fix(libSceHttp): unescape and sweep URIs as measured on a PS5
2026-10-21 16:10:19 +13:00
Dean d4eecab27a Merge pull request #8258 from YossiYad/feat/np-party-state
feat(libSceNpParty): report the user as not in a party from sceNpPartyGetState
2026-10-21 15:48:23 +13:00
Dean db45e8ee20 Merge pull request #8253 from santhoshkumar-dev/codex/freetype-charmap-access
feat(libSceFreeType): select and iterate character maps
2026-10-21 15:48:18 +13:00
Dean 5d10ea9ea0 Merge pull request #8791 from JJenkx/windows/calltrace-faulting-thread
feat(libc): list the reporting thread's own calls in the call trace report
2026-10-21 15:40:39 +13:00
Dean cd700fe9ec Merge pull request #8793 from xXPBSXx/fix/pthread-kill-ended-thread-esrch
fix(libkernel): let pthread_kill with signal 0 report ESRCH for a thread that has ended
2026-10-21 15:27:29 +13:00
Dean d10d9d214c Merge pull request #8782 from valenciana-nc/fix/execute-once-independent-flags
fix(libc): avoid deadlocking independent once initializers
2026-10-21 15:27:24 +13:00
Dean b13183e59e Merge pull request #7473 from Dripl1x/codex/skip-clean-resident-write-watch
perf(libc): skip write-watch queries for proven clean resident ranges
2026-10-21 14:55:09 +13:00
orezraeyandClaude Opus 5.5 d991252d25 fix(libSceHttp): keep the unmeasured single-dot sweep boundary
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 22:50:59 -03:00
Dean 6c12024f7d Merge pull request #8741 from Queuse/fix/libc-freopen-share-delete
fix(libc): share delete on standard stream reopen
2026-10-21 14:47:29 +13:00
Dean a806c69bfe Merge pull request #8758 from p3n1cillin/codex/pthread-getprio-20261021
feat(libkernel): implement pthread_getprio
2026-10-21 14:27:54 +13:00
Dean 600dda1ee4 Merge pull request #8744 from orezraey/fix/http-parse-response-header-measured-ps5
fix(libSceHttp): bound and return sceHttpParseResponseHeader's value as measured on a PS5
2026-10-21 14:27:47 +13:00
Dean c5d841ed94 Merge pull request #8732 from DoubleAAGuy/feat/libkernel-osreldate-sysctl
feat(libkernel): expose kern.osreldate sysctl
2026-10-21 14:27:39 +13:00
Dean 8a803d3e6d Merge pull request #8743 from valenciana-nc/fix/kernel-iovec-table-copy
fix(libkernel): return EFAULT for unreadable iovec tables
2026-10-21 14:24:39 +13:00
Dean 994829e44b Merge pull request #8733 from p3n1cillin/codex/libc-unlocked-status-20261020
feat(libc): implement unlocked stream status queries
2026-10-21 14:24:31 +13:00
Dean 7697443281 Merge pull request #8653 from Ondra97/codex/fix-net-dontwait
fix(net): keep MSG_DONTWAIT transfers nonblocking on Windows
2026-10-21 14:19:19 +13:00
Dean 67f25e4681 Merge pull request #7470 from Dripl1x/codex/exact-resident-release
perf(libc): release exact resident mappings without repeated queries
2026-10-21 14:07:25 +13:00
Dean 1ffe979127 Merge pull request #8576 from priyanshrv-netizen/feat/libc-float-characteristics
feat(libc): export the Dinkumware float characteristic tables
2026-10-21 14:06:48 +13:00
Dean 46c7538777 Merge pull request #7467 from Dripl1x/codex/windows-path-component-lookup
perf(libc): avoid repeated Windows path component scans
2026-10-21 13:57:05 +13:00
Evgeniy KazarinandClaude Opus 5.5 b5bb956530 test(libc): link the resident release test and keep its valid case in one run
The test throws exceptions but did not link libc, so with
-fno-asynchronous-unwind-tables it failed to link (no __gxx_personality_v0)
on the supported WinLibs toolchain; the Windows CI job does not run on pull
requests. The valid case now maps 2 MiB at a 2-MiB boundary, so the mapping is
one resident run and both Reset calls take the exact-run path, and the test
requires that run.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:30:15 +08:00
xXPBSXxandClaude Sonnet 5.5 79569a7a3d fix(libkernel): let pthread_kill with signal 0 report ESRCH for a thread that has ended
pthread_kill(thread, 0) returned 0 for every handle other than the caller's before it asked whether the thread was still alive. FreeBSD's _pthread_kill looks the thread up with _thr_find_thread before it checks for signal 0, so the call answers ESRCH for a thread that has ended or was never a thread. The liveness check now runs before the signal 0 shortcut; the calling thread still answers 0.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 02:29:54 +02:00
Dean 21a57ff5c0 Merge pull request #8570 from priyanshrv-netizen/feat/libc-dinkumware-constants
feat(libc): export the remaining Dinkumware floating-point constants
2026-10-21 13:29:16 +13:00
JJenkxandClaude Opus 5.5 3316ca3b24 feat(libc): list the reporting thread's own calls in the call trace report
The crash and abort reports printed the last 64 traced calls of the whole
process, so a thread that loops on a traced import (a mutex lock/unlock
pair, a profiler marker) pushes the calls of the faulting thread out of the
report. The ring already keeps the last 65536 calls with their thread.

CopyThreadCallTrace_nid_no_patch returns the most recent calls of one
thread from that ring, oldest first, and both reports (Windows crash and
abort, Linux abort) list up to 32 of them for the reporting thread after
the process-wide list.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 20:25:31 -04:00
Dean c82867c77c Merge pull request #7472 from Dripl1x/codex/reuse-unreferenced-saved-memory
perf(libc): reuse saved direct-memory buffers when unreferenced
2026-10-21 13:25:04 +13:00
Dean b56cfb3817 Merge pull request #8444 from SwetabhSingh17/feat/libc-mem-utilities
feat(libc): implement memmem and memccpy
2026-10-21 13:24:46 +13:00
Dean 4d50d73417 Merge pull request #8015 from fma-rc/fix/shader-mimg-sample-c-o-a
feat(shader): decode MIMG opcode 0xb8 as image_sample_c_o_a
2026-10-21 13:22:07 +13:00
Dean e10b4d6190 Merge pull request #8203 from al3w0f205/fix/jpegdec-alpha-and-alignment-validation
fix(libSceJpegDec): reject misaligned output buffers and oversized alpha values
2026-10-21 13:14:05 +13:00
Dean aa2793fb48 Merge pull request #7826 from T3cm0/feat/hmd2-slots-writers
feat(libSceHmd2): answer 18 slot and output-writing exports before initialization as the console does
2026-10-21 13:13:22 +13:00
Dean 07c67a0d6d Merge pull request #8640 from Dom3005/fix/windows-open-symlink-loop-eloop
fix(libc): map a Windows symbolic link loop to ELOOP when opening
2026-10-21 13:13:01 +13:00
Dean 70c497739e Merge pull request #8636 from cadenasynyster/fix/libc-thrd-detach
feat(libc): implement _Thrd_detach
2026-10-21 13:11:55 +13:00
Dean da5ea87cd6 Merge pull request #8455 from hypermoist/feat/libkernel-create-uuid-v4
feat(libkernel): implement sceKernelCreateUuidV4
2026-10-21 13:11:28 +13:00
Dean f41c5bef2b Merge pull request #8637 from billythemenace2/fix/kernel-raise-system-call-wait
fix(libkernel): keep waiting while a raise target is inside a system call
2026-10-21 13:11:08 +13:00
Dean 261497b450 Merge pull request #8676 from MarcZX10/codex/module-info-elf-phdr-match
fix(libkernel): match module info segment records
2026-10-21 13:10:46 +13:00
valenciana-nc 42412ac274 fix(libc): run once initializers outside the shared mutex 2026-10-20 18:06:49 -06:00
Dean 55027392ed Merge pull request #8535 from ycbuzi/pr/libc-fmax-signaling-nan
fix(libc): keep fmin and fmax quiet on a signalling NaN
2026-10-21 13:02:51 +13:00
Ondra97 c415375041 fix(net): finish blocking stream sends after short writes 2026-10-21 01:53:43 +02:00
Dean 5b59fbc553 Merge pull request #8389 from SwetabhSingh17/feat/libc-math-significand
feat(libc): implement significand
2026-10-21 12:40:42 +13:00
Dean b753508271 Merge pull request #8454 from hypermoist/feat/libkernel-byte-order
feat(libkernel): export htonl, ntohl, htons and ntohs
2026-10-21 12:40:32 +13:00
Dean c298bd3d57 Merge pull request #8446 from hypermoist/feat/libc-basename-r
feat(libc): implement basename_r
2026-10-21 12:40:20 +13:00
Dean f69bb8e4d4 Merge pull request #8440 from mazen320/fix/printf-alternate-octal-zero
fix(libc): preserve zero in alternate wide octal formatting
2026-10-21 12:40:10 +13:00
orezraeyandClaude Opus 5.5 e2c37be594 fix(libSceHttp): unescape and sweep URIs as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 20:25:59 -03:00
Dean 559f35d685 Merge pull request #8442 from hypermoist/feat/libc-fenv-traps
feat(libc): add the floating-point trap controls
2026-10-21 12:25:36 +13:00
Dean a8b92e43ce Merge pull request #8396 from Chuk49/feat/libc-wcstombs-s
feat(libc): export wcstombs_s
2026-10-21 12:21:12 +13:00
Dean 273b1b87f4 Merge pull request #8388 from SwetabhSingh17/feat/libc-paf-mspace-posix-memalign
feat(libc): implement sceLibcPafMspacePosixMemalign
2026-10-21 12:20:57 +13:00
orezraeyandClaude Opus 5.5 a8c5db1be9 fix(libSceHttp): bound and return sceHttpParseResponseHeader's value as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 20:19:58 -03:00
Dean 6c30d8d804 Merge pull request #8394 from Sam-mon7/fix/apr-staging-off-stack
fix(libkernel): keep the Windows APR read staging buffer off the stack
2026-10-21 12:14:31 +13:00
Dean 1bf237cc33 Merge pull request #8379 from hypermoist/fix/libc-strtod-subnormal-errno
fix(libc): leave errno alone for subnormal strtod results
2026-10-21 12:14:17 +13:00
p3nicillin 5a79dda21d feat(libkernel): implement pthread_getprio 2026-10-21 00:08:30 +01:00