AnyPS5/core/libs/prx/libkernel
David 4f1ae1cc3a feat(libkernel): implement execv and execve as throwing exports
XPSemu PPSA97358 imports both from libkernel.prx; with the imports ahead
of them covered, its predicted next stops (relink registry order, not an
observed run) are:

  FAIL: unresolved ELF import KaK52lYTBIs from libkernel.prx  (execv, 7 call sites)
  FAIL: unresolved ELF import kdguLiAheLI from libkernel.prx  (execve, 4 call sites)

Today the title stops earlier at the observed
  FAIL: unresolved ELF import aRo9AhFUXcM from libkernel.prx  (sigsetjmp, merged in #3486)

As for execvp (#2827), the process image cannot be replaced here, so both
throw with the execvp message pattern once FreeBSD 11's execve would start
loading the image (freebsd-src 8c639945, sys/kern/kern_exec.c
exec_copyin_args, do_execve, exec_check_permissions; lib/libc/gen/exec.c
execv passes environ). Before that they fail as FreeBSD does: EFAULT for a
null argument vector or path, ENOENT and ENOTDIR from the lookup as stat
reports it, EACCES for a path that is not a regular file. Paths of
PATH_MAX bytes or more and strings over ARG_MAX throw instead of guessing
the console's limits. The execv calls in XPSemu's sources run in a fork
child (net/tap.c), and its fork fails with ENOSYS (ZiZc3/XPSemu 8eec07b4,
ps5/compat/libc_missing.c, ps5/build-title.sh --defsym).

NIDs computed with tools/nid_names.py and confirmed in aerolib.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 57f0fa37132bc6c78bc02282044a00e2db859484)
2026-10-13 15:19:19 +02:00
..
Aio/src fix(aio): use precise polling sleep 2026-10-11 18:48:18 -04:00
AppMetadata Merge pull request #4558 from MiniRML/fix/kernel-json-number-locale 2026-10-13 15:37:49 +13:00
Apr fix(ampr): reserve remap targets before releasing pool pages 2026-10-13 07:50:53 +00:00
DirectMemory Merge pull request #4386 from MarcZX100/codex/carry-mlockall-getdtablesize-3628 2026-10-14 00:37:29 +13:00
Equeue fix(libkernel): route equeue socket checks by membership 2026-10-13 03:28:27 +00:00
EventFlag/src feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
File Merge pull request #4532 from DavidSamir/fix/libc-rename-replace-open-destination-windows 2026-10-14 00:38:14 +13:00
Module Merge pull request #4688 from eliyarson/fix/kernel-stat-relinked-prx 2026-10-13 17:48:42 +13:00
Pthread fix(libkernel): check and keep the scheduling policy of a thread 2026-10-13 12:53:19 +02:00
Semaphore fix(libkernel): report the remaining time from sceKernelWaitSema 2026-10-11 20:09:33 +00:00
Socket fix(libkernel): accept POLLPRI on guest sockets under WSAPoll 2026-10-13 11:15:48 +02:00
SyncOnAddress/src feat(libkernel): wake each listed address in _umtx_op UMTX_OP_NWAKE_PRIVATE 2026-10-11 17:48:06 +00:00
System feat(libkernel): implement execv and execve as throwing exports 2026-10-13 15:19:19 +02:00
Time Merge pull request #4466 from babyhuey/feat/libkernel-socid-cpumode 2026-10-13 07:27:28 +13:00
CMakeLists.txt Merge pull request #4086 from hugodearaujo/fix/setschedparam-console 2026-10-13 14:29:15 +02:00
KernelErrors.hpp refactor(kernel): share SCE kernel error codes through KernelErrors.hpp 2026-09-27 13:32:28 +07:00
Unimplemented.cpp feat(libkernel): implement the coredump user-data calls 2026-10-13 04:43:50 +00:00