From b13653d69803d74a7f4d953017e92ce1521422f9 Mon Sep 17 00:00:00 2001 From: Exverge Date: Fri, 10 Jul 2026 22:17:10 -0400 Subject: [PATCH] [loader] log error messages when failing to load --- src/core/loader/deconstructed_rom_directory.cpp | 3 ++- src/core/loader/kip.cpp | 3 ++- src/core/loader/nro.cpp | 5 ++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index b3e92e098d..5cbb337873 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp @@ -235,7 +235,8 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect ? ::Settings::values.rng_seed.GetValue() : Common::Random::Random64(0)) << 12) & 0xffffff & ~(Common::HostPageSize - 1); // Setup the process code layout - if (process.LoadFromMetadata(system.Kernel(), metadata, code_size, fastmem_base, aslr_offset).IsError()) { + if (auto res = process.LoadFromMetadata(system.Kernel(), metadata, code_size, fastmem_base, aslr_offset); res.IsError()) { + LOG_CRITICAL(Loader, "Failed to load ROM directory! (Error {})", res.GetDescription()); return {ResultStatus::ErrorUnableToParseKernelMetadata, {}}; } diff --git a/src/core/loader/kip.cpp b/src/core/loader/kip.cpp index 8ff1345a9e..a6d6520232 100644 --- a/src/core/loader/kip.cpp +++ b/src/core/loader/kip.cpp @@ -93,7 +93,8 @@ AppLoader::LoadResult AppLoader_KIP::Load(Kernel::KProcess& process, ? ::Settings::values.rng_seed.GetValue() : Common::Random::Random64(0)) << 12) & 0xffffff & ~(Common::HostPageSize - 1); // Setup the process code layout - if (process.LoadFromMetadata(system.Kernel(), FileSys::ProgramMetadata::GetDefault(), codeset.memory.size(), 0, aslr_offset).IsError()) { + if (auto res = process.LoadFromMetadata(system.Kernel(), FileSys::ProgramMetadata::GetDefault(), codeset.memory.size(), 0, aslr_offset); res.IsError()) { + LOG_CRITICAL(Loader, "Failed to load KIP! (Error {})", res.GetDescription()); return {ResultStatus::ErrorNotInitialized, {}}; } const VAddr base_address = GetInteger(process.GetEntryPoint()); diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp index e20185c927..af0f39b84c 100644 --- a/src/core/loader/nro.cpp +++ b/src/core/loader/nro.cpp @@ -279,9 +279,8 @@ static bool LoadNroImpl(Core::System& system, Kernel::KProcess& process, ? ::Settings::values.rng_seed.GetValue() : Common::Random::Random64(0)) << 12) & 0xffffff & ~(Common::HostPageSize - 1); // Setup the process code layout - if (process - .LoadFromMetadata(system.Kernel(), FileSys::ProgramMetadata::GetDefault(), image_size, fastmem_base, aslr_offset) - .IsError()) { + if (auto res = process.LoadFromMetadata(system.Kernel(), FileSys::ProgramMetadata::GetDefault(), image_size, fastmem_base, aslr_offset); res.IsError()) { + LOG_CRITICAL(Loader, "Failed to load NRO! (Error {})", res.GetDescription()); return false; }