From f6b73f6f29d2ab8fc365e3ffafde74857646fa41 Mon Sep 17 00:00:00 2001 From: DH Date: Thu, 29 Jun 2023 13:28:10 +0300 Subject: [PATCH] [rpcsx-os/linker] Do not report PT_SCE_RELRO as segment --- rpcsx-os/linker.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rpcsx-os/linker.cpp b/rpcsx-os/linker.cpp index 85775f23a..28cd8274b 100644 --- a/rpcsx-os/linker.cpp +++ b/rpcsx-os/linker.cpp @@ -469,14 +469,16 @@ Ref rx::linker::loadModule(std::span image, orbis::Pro phdr.p_filesz); std::memset(imageBase + phdr.p_vaddr + phdr.p_filesz, 0, phdr.p_memsz - phdr.p_filesz); - if (result->segmentCount >= std::size(result->segments)) { - std::abort(); - } + if (phdr.p_type == kElfProgramTypeLoad) { + if (result->segmentCount >= std::size(result->segments)) { + std::abort(); + } - auto &segment = result->segments[result->segmentCount++]; - segment.addr = imageBase + phdr.p_vaddr; - segment.size = phdr.p_memsz; - segment.prot = phdr.p_flags; + auto &segment = result->segments[result->segmentCount++]; + segment.addr = imageBase + phdr.p_vaddr; + segment.size = phdr.p_memsz; + segment.prot = phdr.p_flags; + } } }