nso: Always load the filepath specified by the user.

This commit is contained in:
bunnei 2018-01-07 12:44:36 -05:00
parent 79e0dd249e
commit bc77a7580e

View File

@ -157,7 +157,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
// Load NSO modules // Load NSO modules
VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR}; VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR};
for (const auto& module : {"rtld", "main", "sdk", "subsdk0", "subsdk1", "subsdk2", "subsdk3"}) { for (const auto& module : {"rtld", "sdk", "subsdk0", "subsdk1", "subsdk2", "subsdk3"}) {
const std::string path = filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module; const std::string path = filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module;
const VAddr load_addr = next_load_addr; const VAddr load_addr = next_load_addr;
next_load_addr = LoadNso(path, load_addr); next_load_addr = LoadNso(path, load_addr);
@ -167,6 +167,8 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
next_load_addr = load_addr; next_load_addr = load_addr;
} }
} }
// Load "main" module
LoadNso(filepath, next_load_addr);
process->svc_access_mask.set(); process->svc_access_mask.set();
process->address_mappings = default_address_mappings; process->address_mappings = default_address_mappings;