Two exports were missing. System modules are linked statically, so load and unload are reference counts over the known module table, exactly like the existing sceSysmoduleLoadModuleInternalWithArg and sceSysmoduleUnloadModule: - sceSysmoduleLoadModuleInternal(uint32_t) -> increments the module's load count, returns 0 - sceSysmoduleUnloadModuleInternal(uint32_t) -> decrements it, or 0x80A90003 when the module was not loaded Unknown or zero ids throw, like the sibling internal loader. Adds a CMakeLists.txt so the library can carry its guest test. Signatures follow the public OpenOrbis SDK headers. New test core/libs/tests/GuestSysmodule.cpp loads a module twice, unloads it twice and checks the not-loaded error on a third unload; it fails without the change (the symbols are undefined) and passes with it. |
||
|---|---|---|
| .. | ||
| Decoder | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||