summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/loader/deconstructed_rom_directory.cpp6
-rw-r--r--src/core/loader/nro.cpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp
index e7fc8f438..31c00f0a3 100644
--- a/src/core/loader/deconstructed_rom_directory.cpp
+++ b/src/core/loader/deconstructed_rom_directory.cpp
@@ -129,8 +129,10 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
129 } 129 }
130 metadata.Print(); 130 metadata.Print();
131 131
132 // Enable NCE only for 64-bit programs. 132 // Enable NCE only for programs with 39-bit address space.
133 Settings::SetNceEnabled(metadata.Is64BitProgram()); 133 const bool is_39bit =
134 metadata.GetAddressSpaceType() == FileSys::ProgramAddressSpaceType::Is39Bit;
135 Settings::SetNceEnabled(is_39bit);
134 136
135 const std::array static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", 137 const std::array static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2",
136 "subsdk3", "subsdk4", "subsdk5", "subsdk6", "subsdk7", 138 "subsdk3", "subsdk4", "subsdk5", "subsdk6", "subsdk7",
diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp
index 49cf90317..76ff38041 100644
--- a/src/core/loader/nro.cpp
+++ b/src/core/loader/nro.cpp
@@ -199,6 +199,7 @@ static bool LoadNroImpl(Core::System& system, Kernel::KProcess& process,
199 199
200 codeset.DataSegment().size += bss_size; 200 codeset.DataSegment().size += bss_size;
201 program_image.resize(static_cast<u32>(program_image.size()) + bss_size); 201 program_image.resize(static_cast<u32>(program_image.size()) + bss_size);
202 size_t image_size = program_image.size();
202 203
203#ifdef ARCHITECTURE_arm64 204#ifdef ARCHITECTURE_arm64
204 const auto& code = codeset.CodeSegment(); 205 const auto& code = codeset.CodeSegment();
@@ -208,7 +209,6 @@ static bool LoadNroImpl(Core::System& system, Kernel::KProcess& process,
208 209
209 // Create NCE patcher 210 // Create NCE patcher
210 Core::NCE::Patcher patch{}; 211 Core::NCE::Patcher patch{};
211 size_t image_size = program_image.size();
212 212
213 if (Settings::IsNceEnabled()) { 213 if (Settings::IsNceEnabled()) {
214 // Patch SVCs and MRS calls in the guest code 214 // Patch SVCs and MRS calls in the guest code