AnyPS5/docs/dev/debt
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
..
libSceAcm.md feat(libSceVideoOut): implement sceVideoOutDeleteVrrActiveStatusEvent 2026-10-12 23:04:58 -04:00
libSceAgc.md docs(debt): move the AMM semaphore line away from the end of Functional 2026-10-13 15:01:48 +02:00
libSceAgcDriver.md Merge pull request #4041 from ee6aba54/fix/agc-cmask-unknown-codes 2026-10-13 14:11:16 +02:00
libSceAjm.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAmpr.md fix(ampr): raise std::_Pad failures as the guest std::system_error 2026-10-13 15:59:28 +03:00
libSceAppContent.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceAudio3d.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudioIn.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudioOut.md feat(audioout2): report supported user attributes 2026-10-13 10:24:04 +02:00
libSceAudioPropagation.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudiodec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAvPlayer.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceBluetoothHid.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCdlgG2P.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCdlgPlayerReview.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCesCs.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCommonDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceContentDelete.md feat(libSceContentSearch): implement the search calls over an empty library 2026-10-13 00:34:12 +05:30
libSceContentExport.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceContentSearch.md feat(libSceContentSearch): implement the search calls over an empty library 2026-10-13 00:34:12 +05:30
libSceDbgThreadSanitizer.md feat(libSceDbgThreadSanitizer): declare the TSan annotation calls and report the sanitizer disabled 2026-10-13 02:12:05 -04:00
libSceErrorDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceFiber.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceFont.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceGameLiveStreaming.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceGameUpdate.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHmd.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHmd2.md fix(exports): export the calls PPSA29866 imports 2026-10-12 21:32:38 +02:00
libSceHttp.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHttp2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceIme.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJobManager.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJpegEnc.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJson2.md feat(libSceSaveData): answer sceSaveDataDirNameSearch2 2026-10-12 22:59:26 +02:00
libSceKeyboard.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceLibcInternal.md docs(libSceLibcInternal): record spawn import stops 2026-10-13 07:56:19 +00:00
libSceLoginDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceMbus.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceMsgDialog.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNet.md fix(libkernel): accept NOTE_EXTEND on a directory watch on Windows 2026-10-12 22:37:31 +02:00
libSceNetCtlApDialog.md feat(libSceNetCtlApDialog): run the offline access-point dialog lifecycle 2026-10-12 20:03:59 +01:00
libSceNgs2.native.md fix(libSceNgs2): reject unverified listener transforms 2026-10-12 23:12:40 +02:00
libSceNpAuth.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceNpAuthAuthorizedAppDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpCommerce.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpEntitlementAccess.md docs(debt): cite the source of sceNpEntitlementAccessGetPftFlag 2026-10-13 10:08:30 +02:00
libSceNpManager.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpPartner001.md docs(technical-debt): drop stale EAAccess unknown-info line and move the new one off the section end 2026-10-12 18:46:44 +00:00
libSceNpSessionSignaling.md docs(debt): cite ASTRO BOT's call to sceNpSessionSignalingGetConnectionStatus 2026-10-12 22:05:40 +01:00
libSceNpTrophy2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpWebApi2.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceOpusCeltDec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceOpusDec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePad.md feat(libScePad): apply the angular velocity deadband 2026-10-12 22:29:57 +01:00
libScePlayGo.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePlayerInvitationDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePngEnc.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePosixForWebKit.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceProprietaryVoiceChatHelperPrx.md feat(libSceProprietaryVoiceChatHelperPrx): implement the voice chat helper lifecycle 2026-10-13 10:34:39 +02:00
libScePsml_debug.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceRazorCpu.md feat(libSceRazorCpu): implement sceRazorCpuSync 2026-10-12 21:58:39 +02:00
libSceRtc.md fix(rtc): reject date strings ending at the minutes 2026-10-12 19:44:03 +00:00
libSceRudp.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSaveData.native.md feat(libSceSaveData): implement sceSaveDataGetConvertProgress 2026-10-13 09:48:44 +02:00
libSceSaveDataDialog.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceShare.md feat(libSceShare): implement sceShareCaptureVideoClipExtended 2026-10-12 18:46:45 +00:00
libSceSharePlay.md feat(libSceSharePlay): implement sceSharePlayProhibitController 2026-10-12 21:58:43 +02:00
libSceSigninDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSsl.md docs(debt): keep the other SSL stubs in the PPSA07411 entry 2026-10-13 12:50:47 +02:00
libSceSystemGesture.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSystemService.md feat(libSceSystemService): no-op sceSystemServiceOpenChallengeActivity 2026-10-13 16:41:40 +07:00
libSceTextToSpeech2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceUlt.md feat(libSceUlt): accept option parameters in sceUltQueueCreate and sceUltQueueDataResourcePoolCreate 2026-10-12 22:48:53 +02:00
libSceUsbd.md feat(libSceUsbd): pass USB devices and transfers through to the host with libusb 2026-10-12 22:32:42 +02:00
libSceUserService.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVdecsw.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVideoOut.md feat(libSceVideoOut): implement sceVideoOutDeleteVrrActiveStatusEvent 2026-10-12 23:04:58 -04:00
libSceVideodec2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVoiceChat.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVoiceQoS.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVrSetupDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceZlib.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libc.md Merge pull request #5102 from Dripl1x/codex/generic-error-category 2026-10-13 15:08:29 +02:00
libkernel.md feat(libkernel): implement execv and execve as throwing exports 2026-10-13 15:19:19 +02:00
libkernel_sys.md feat(libkernel_sys): implement renameat 2026-10-13 10:19:35 +02:00
libs.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
relinker.md docs(debt): mention --windows-gui and its lost output on the console entry 2026-10-12 21:02:32 +02:00
shader.md feat(agc): implement quad tessellation with counter-clockwise output and level clamps 2026-10-13 10:56:16 +02:00
ulobjmgr.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00