From ffe28379151348aa905b5f6948479b92ec93aa08 Mon Sep 17 00:00:00 2001 From: DH Date: Mon, 18 Nov 2024 04:44:47 +0300 Subject: [PATCH] orbis-kernel: extend max load segments count --- orbis-kernel/include/orbis/module/Module.hpp | 2 +- orbis-kernel/src/sys/sys_sce.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/orbis-kernel/include/orbis/module/Module.hpp b/orbis-kernel/include/orbis/module/Module.hpp index dc9876f37..1e8e5b925 100644 --- a/orbis-kernel/include/orbis/module/Module.hpp +++ b/orbis-kernel/include/orbis/module/Module.hpp @@ -78,7 +78,7 @@ struct Module final { ptr ehFrame{}; uint32_t ehFrameHdrSize{}; uint32_t ehFrameSize{}; - ModuleSegment segments[4]{}; + ModuleSegment segments[16]{}; uint32_t segmentCount{}; std::uint8_t fingerprint[20]{}; ptr base{}; diff --git a/orbis-kernel/src/sys/sys_sce.cpp b/orbis-kernel/src/sys/sys_sce.cpp index 9995b5fe5..45dcace38 100644 --- a/orbis-kernel/src/sys/sys_sce.cpp +++ b/orbis-kernel/src/sys/sys_sce.cpp @@ -1118,8 +1118,8 @@ orbis::sys_dynlib_get_info_ex(Thread *thread, SceKernelModule handle, result.ehFrameHdrSize = module->ehFrameHdrSize; result.ehFrameSize = module->ehFrameSize; std::memcpy(result.segments, module->segments, - sizeof(ModuleSegment) * module->segmentCount); - result.segmentCount = module->segmentCount; + sizeof(ModuleSegment) * 2); + result.segmentCount = 2; result.refCount = 1; ORBIS_LOG_WARNING(__FUNCTION__, result.id, result.name, result.tlsIndex, result.tlsInit, result.tlsInitSize, result.tlsSize,