diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/loader/deconstructed_rom_directory.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index 19b8667ba..394963a69 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp | |||
| @@ -83,16 +83,13 @@ ResultStatus AppLoader_DeconstructedRomDirectory::Load( | |||
| 83 | VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR}; | 83 | VAddr next_load_addr{Memory::PROCESS_IMAGE_VADDR}; |
| 84 | for (const auto& module : {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", "subsdk3", | 84 | for (const auto& module : {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", "subsdk3", |
| 85 | "subsdk4", "subsdk5", "subsdk6", "subsdk7", "sdk"}) { | 85 | "subsdk4", "subsdk5", "subsdk6", "subsdk7", "sdk"}) { |
| 86 | const VAddr load_addr = next_load_addr; | ||
| 87 | const FileSys::VirtualFile module_file = dir->GetFile(module); | 86 | const FileSys::VirtualFile module_file = dir->GetFile(module); |
| 88 | if (module_file != nullptr) | 87 | if (module_file != nullptr) { |
| 88 | const VAddr load_addr = next_load_addr; | ||
| 89 | next_load_addr = AppLoader_NSO::LoadModule(module_file, load_addr); | 89 | next_load_addr = AppLoader_NSO::LoadModule(module_file, load_addr); |
| 90 | if (next_load_addr) { | ||
| 91 | LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); | 90 | LOG_DEBUG(Loader, "loaded module {} @ 0x{:X}", module, load_addr); |
| 92 | // Register module with GDBStub | 91 | // Register module with GDBStub |
| 93 | GDBStub::RegisterModule(module, load_addr, next_load_addr - 1, false); | 92 | GDBStub::RegisterModule(module, load_addr, next_load_addr - 1, false); |
| 94 | } else { | ||
| 95 | next_load_addr = load_addr; | ||
| 96 | } | 93 | } |
| 97 | } | 94 | } |
| 98 | 95 | ||