`host_performance_mac_activity` only ever drove `MacActivity` through the fake
Objective-C fixtures, and the library's debt entry recorded that the backend
had never been built or run on macOS, with the option values taken from memory.
On Apple hosts the test now begins and ends an activity through the real
`libobjc` and Foundation: `+[NSProcessInfo processInfo]`,
`beginActivityWithOptions:reason:` and `endActivity:` all reach the API, and a
second begin keeps the activity already held. The option values were checked
against the SDK's `Foundation/NSProcessInfo.h`.
The debt entry records what that measurement covers and what it does not: no
other selector is exercised, and whether the activity changes timer or
scheduling behaviour for a title is still unmeasured.
bind, getsockname, sendto and recvfrom validate as for a libkernel socket
before they reach libSceNet, so a forwarded descriptor reports the same
errors. recvfrom keeps its guest address handling and MSG_WAITALL, and a
zero-length datagram receive does not wait.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Resolves docs/dev/debt/libc.md: main's updated _Thrd entry, and siginterrupt stays documented in libSceLibcInternal.md.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The entry said that the stack bounds are recovered without naming them.
It now names the bounds and the errors, and what the direct calls of the
titles checked pass for the stack size.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
vm.overcommit is a read-write sysctl without CTLFLAG_PRISON, so FreeBSD 11.4 sysctl_root asks priv_check for PRIV_SYSCTL_WRITE before the handler runs, and prison_priv_check denies it to a jailed root. Under the credential model agreed on #11216 a write through sysctlbyname now fails with EPERM, whatever the value or its length, instead of throwing.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
A zero bit pattern and a wait mode that is not exactly AND or OR, or that
sets both clear flags, return EINVAL once the event flag is resolved.
The new entry says so, what three emulators do, and what the titles
checked pass.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
On a volume that reports FILE_SUPPORTS_SPARSE_FILES, a failed
FSCTL_SET_SPARSE fails ftruncate, truncate and sceKernelFtruncate with the
error it reports rather than falling back to a dense extension. Say so in
the debt entry.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Restore the existing ftruncate, truncate and sceKernelFtruncate entry and
change only the clauses the sparse extension makes wrong: cluster
reservation, ENOSPC and zero-filled writes now apply to files that are not
sparse, and the entry names when a file is marked sparse.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Carry #7135 by @AlexOfTheForest. Preserve current checked guest-memory copies and unrelated debt; remove the ten newly added unsupported-call throw assertions while retaining implemented success and error coverage.
Co-authored-by: Alexej Szpevák <[email protected]>
Discovery failures now fall back to the plain end-of-file extension.
Sparse-marking and EOF failures still map to errors.
An IAT-patched regression covers the three truncate paths.
Co-Authored-By: Claude Opus 5.5 <[email protected]>