mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-26 04:32:35 +01:00
loader: ignore invalid index_value and allow relative reloc 10
This commit is contained in:
parent
095d02e41b
commit
edeb858138
@ -833,7 +833,7 @@ std::shared_ptr<lv2_prx> ppu_load_prx(const ppu_prx_object& elf, const std::stri
|
||||
ppu_reloc _rel;
|
||||
const u32 raddr = _rel.addr = vm::cast(prx->segs.at(rel.index_addr).addr + rel.offset, HERE);
|
||||
const u32 rtype = _rel.type = rel.type;
|
||||
const u64 rdata = _rel.data = prx->segs.at(rel.index_value).addr + rel.ptr.addr();
|
||||
const u64 rdata = _rel.data = rel.index_value == 0xFF ? rel.ptr.addr().value() : prx->segs.at(rel.index_value).addr + rel.ptr.addr();
|
||||
prx->relocs.emplace_back(_rel);
|
||||
|
||||
switch (rtype)
|
||||
|
@ -83,7 +83,7 @@ PPUTranslator::PPUTranslator(LLVMContext& context, Module* module, const ppu_mod
|
||||
|
||||
// Ignore relative relocations, they are handled in emmitted code
|
||||
// Comment out types we haven't confirmed as used and working
|
||||
// case 10:
|
||||
case 10:
|
||||
case 11:
|
||||
// case 12:
|
||||
// case 13:
|
||||
|
Loading…
Reference in New Issue
Block a user