summaryrefslogtreecommitdiff
path: root/src/core/loader/nso.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2018-01-07 12:44:36 -0500
committerGravatar bunnei2018-01-07 12:44:36 -0500
commitbc77a7580ee675d4e0ac220c63835258b2a87d41 (patch)
tree3bfec4069c4cb8c5225b4f612cdfd0d93eb81cb6 /src/core/loader/nso.cpp
parentcore_timing: Increase clock speed for Switch docked. (diff)
downloadyuzu-bc77a7580ee675d4e0ac220c63835258b2a87d41.tar.gz
yuzu-bc77a7580ee675d4e0ac220c63835258b2a87d41.tar.xz
yuzu-bc77a7580ee675d4e0ac220c63835258b2a87d41.zip
nso: Always load the filepath specified by the user.
Diffstat (limited to 'src/core/loader/nso.cpp')
-rw-r--r--src/core/loader/nso.cpp4
1 files changed, 3 insertions, 1 deletions
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<Kernel::Process>& process) {
157 157
158 // Load NSO modules 158 // Load NSO modules
159 VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR}; 159 VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR};
160 for (const auto& module : {"rtld", "main", "sdk", "subsdk0", "subsdk1", "subsdk2", "subsdk3"}) { 160 for (const auto& module : {"rtld", "sdk", "subsdk0", "subsdk1", "subsdk2", "subsdk3"}) {
161 const std::string path = filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module; 161 const std::string path = filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module;
162 const VAddr load_addr = next_load_addr; 162 const VAddr load_addr = next_load_addr;
163 next_load_addr = LoadNso(path, load_addr); 163 next_load_addr = LoadNso(path, load_addr);
@@ -167,6 +167,8 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
167 next_load_addr = load_addr; 167 next_load_addr = load_addr;
168 } 168 }
169 } 169 }
170 // Load "main" module
171 LoadNso(filepath, next_load_addr);
170 172
171 process->svc_access_mask.set(); 173 process->svc_access_mask.set();
172 process->address_mappings = default_address_mappings; 174 process->address_mappings = default_address_mappings;