From bc77a7580ee675d4e0ac220c63835258b2a87d41 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 7 Jan 2018 12:44:36 -0500 Subject: [PATCH] nso: Always load the filepath specified by the user. --- src/core/loader/nso.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 0e45dadcb..ed8ed66bc 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp @@ -157,7 +157,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr& process) { // Load NSO modules 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 VAddr load_addr = next_load_addr; next_load_addr = LoadNso(path, load_addr); @@ -167,6 +167,8 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr& process) { next_load_addr = load_addr; } } + // Load "main" module + LoadNso(filepath, next_load_addr); process->svc_access_mask.set(); process->address_mappings = default_address_mappings;