PRX loader: Fix libfs_155.sprx loading

Fix relocations' segments referencing when there are "empty" (memsize=0) LOAD segments.
This commit is contained in:
Eladash 2020-12-14 08:03:49 +02:00 committed by Ivan
parent 03ad5c6830
commit 7eb16e13bb
6 changed files with 29 additions and 12 deletions

View file

@ -70,6 +70,7 @@ PPUTranslator::PPUTranslator(LLVMContext& context, Module* _module, const ppu_mo
// Create segment variables
for (const auto& seg : m_info.segs)
{
if (!seg.addr) continue;
auto gv = new GlobalVariable(*_module, GetType<u64>(), true, GlobalValue::ExternalLinkage, 0, fmt::format("__seg%u_%x", m_segs.size(), gsuffix));
gv->setInitializer(ConstantInt::get(GetType<u64>(), seg.addr));
gv->setExternallyInitialized(true);