diff options
Diffstat (limited to 'src/core/loader/nso.cpp')
| -rw-r--r-- | src/core/loader/nso.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 714d85a59..c766070e7 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp | |||
| @@ -20,6 +20,8 @@ | |||
| 20 | #include "core/memory.h" | 20 | #include "core/memory.h" |
| 21 | #include "core/settings.h" | 21 | #include "core/settings.h" |
| 22 | 22 | ||
| 23 | #pragma optimize("", off) | ||
| 24 | |||
| 23 | namespace Loader { | 25 | namespace Loader { |
| 24 | namespace { | 26 | namespace { |
| 25 | struct MODHeader { | 27 | struct MODHeader { |
| @@ -139,13 +141,13 @@ std::optional<VAddr> AppLoader_NSO::LoadModule(Kernel::Process& process, | |||
| 139 | 141 | ||
| 140 | // Apply patches if necessary | 142 | // Apply patches if necessary |
| 141 | if (pm && (pm->HasNSOPatch(nso_header.build_id) || Settings::values.dump_nso)) { | 143 | if (pm && (pm->HasNSOPatch(nso_header.build_id) || Settings::values.dump_nso)) { |
| 142 | std::vector<u8> pi_header(sizeof(NSOHeader) + program_image.size()); | 144 | std::vector<u8> pi_header; |
| 143 | pi_header.insert(pi_header.begin(), reinterpret_cast<u8*>(&nso_header), | 145 | pi_header.insert(pi_header.begin(), reinterpret_cast<u8*>(&nso_header), |
| 144 | reinterpret_cast<u8*>(&nso_header) + sizeof(NSOHeader)); | 146 | reinterpret_cast<u8*>(&nso_header) + sizeof(NSOHeader)); |
| 145 | pi_header.insert(pi_header.begin() + sizeof(NSOHeader), program_image.begin(), | 147 | pi_header.insert(pi_header.begin() + sizeof(NSOHeader), program_image.begin(), |
| 146 | program_image.end()); | 148 | program_image.end()); |
| 147 | 149 | ||
| 148 | pi_header = pm->PatchNSO(pi_header); | 150 | pi_header = pm->PatchNSO(pi_header, file.GetName()); |
| 149 | 151 | ||
| 150 | std::copy(pi_header.begin() + sizeof(NSOHeader), pi_header.end(), program_image.begin()); | 152 | std::copy(pi_header.begin() + sizeof(NSOHeader), pi_header.end(), program_image.begin()); |
| 151 | } | 153 | } |