PS5MC (PPSA99420, Kodi 22) imports clock_settime (d7nUj1LOdDU) from
libkernel.prx, one reference, after sigwaitinfo in its import order.
Predicted stop once the imports ahead of it are covered (not a run):
FAIL: unresolved ELF import d7nUj1LOdDU from libkernel.prx
The NID is computed with tools/nid_names.py and matches aerolib.
Follows FreeBSD 11.4 sys/kern/kern_time.c sys_clock_settime and
kern_clock_settime (8c639945a44588f6cfdddfb057bb5aad88735da0) for a
root caller: EFAULT for a null time (copyin), EINVAL for any clock but
CLOCK_REALTIME and for a negative tv_sec or a tv_nsec outside 0 to
999999999. A valid CLOCK_REALTIME request throws with the requested
time named, since the host clock must not be set and no guest clock
offset is kept.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: David <david@example.com>
What
Carries @nabilfp's
clock_settimecommit fromnabilfp:feat/libkernel-chroot-clock-settime(53485d5a5, author kept), which they closed #4890 to free their PR slot and offered for anyone to carry. It follows FreeBSD 11.4sys_clock_settime/kern_clock_settimefor a privileged caller:EFAULTfor a null time, andEINVALfor any clock other thanCLOCK_REALTIMEand for a negativetv_secor atv_nsecoutside 0 to 999999999. A validCLOCK_REALTIMErequest throws, since the host clock must not be set. The details are in the commit message and the debt entry.Title evidence: PS5MC (PPSA99420, Kodi 22, catalog release) imports
clock_settime(d7nUj1LOdDU). On currentmainwith the open #4379 (chflags), #4374 (getpriority) and #4383 (sigpending),tools/import_audit.pylists it as the title's only absent import, so the loader stops on it:With this commit too, PS5MC loads and runs into Kodi's start-up, which then needs #5184, #5185 and #5186.
Tested
main3faa9cb40with feat(libkernel): carry chflags implementation #4379, feat(libkernel): implement getpriority for the guest process #4374, feat(libkernel): implement sigpending #4383 and feat(libkernel): report vm.overcommit through sysctlbyname #5184, feat(libkernel): report _SC_CLK_TCK through sysconf #5185 and fix(libkernel): handle FIOCLEX and FIONCLEX in ioctl #5186 (vm.overcommit,_SC_CLK_TCK,FIOCLEX): it loads, starts Python, finds its add-ons and the Estuary skin, creates its GUI on theps5windowing system, and runs for the whole 90 s run. Without this commit it does not load.guest_freebsd_clocks(from the commit) and all 125 libkernel tests pass on Windows;python tools/check_conventions.py --base origin/mainpasses. The commit applies to currentmainwithout changes.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code