Merge pull request #22989 from hrydgard/startmodule-no-entry-status

Modules: Write 0 to the status when starting a module with no entry
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2026-11-08 12:07:56 +01:00
commit 601b545e37
3 files changed
+6 -1

No files matched your search

+4
View File
@@ -3312,6 +3312,10 @@ int __KernelStartModule(SceUID moduleId, u32 argsize, u32 argAddr, u32 returnVal
} else if (entryAddr == 0 || entryAddr == (u32)-1) {
INFO_LOG(Log::sceModule, "__KernelStartModule(%d,asize=%08x,aptr=%08x,retptr=%08x): no entry address", moduleId, argsize, argAddr, returnValueAddr);
module->nm.status = MODULE_STATUS_STARTED;
// The status is still set to 0 (modules/nostart). R-Type Tactics gives up on its fonts otherwise.
if (returnValueAddr) {
Memory::WriteOrException_U32(0, returnValueAddr);
}
} else {
ERROR_LOG(Log::sceModule, "__KernelStartModule(%d,asize=%08x,aptr=%08x,retptr=%08x): invalid entry address", moduleId, argsize, argAddr, returnValueAddr);
return -1;
+1
View File
@@ -360,6 +360,7 @@ tests_good = [
"modules/cutrel/kernel/cutrel",
"modules/idlist/idlist",
"modules/loadrace/loadrace",
"modules/nostart/nostart",
"modules/startoptions/startoptions",
"modules/unresolved/unresolved",
"net/inet/blocking",