mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-26 08:51:05 -04:00
Feature/stub by address (#61)
* feat: split runtime code in small files to be easy to develop * feat: split stubs in inl files * feat: function auto link function treat functions with underscore as same as without underscore * feat: remove underscore prefix from stubs * feat: thread and flags refactor * feat: propagate request stop feat: some elf validation on runtime * feat: remove Z7 compiler options feat: added a literal float case error on vu * fix: fix critical recompiler error on marking pc calls * feat: better system interrupt refactor: small refactor on thread system * feat: stubs implements for resident evil code veronica * feat: merge fileio * feat: stub by address * feat: codegen now auto-routes J/JAL callssites with known relocation symbols to syscalls/stubs
This commit is contained in:
@@ -1090,9 +1090,26 @@ namespace ps2recomp
|
||||
reloc.offset = static_cast<uint32_t>(offset);
|
||||
reloc.info = (symbol << 8) | (type & 0xFF);
|
||||
reloc.symbol = symbol;
|
||||
reloc.symbolName.clear();
|
||||
reloc.type = type;
|
||||
reloc.addend = static_cast<int32_t>(addend);
|
||||
|
||||
if (symbol < symbols.get_symbols_num())
|
||||
{
|
||||
std::string symName;
|
||||
ELFIO::Elf64_Addr symValue = 0;
|
||||
ELFIO::Elf_Xword symSize = 0;
|
||||
unsigned char symBind = 0;
|
||||
unsigned char symType = 0;
|
||||
ELFIO::Elf_Half symSectionIndex = 0;
|
||||
unsigned char symOther = 0;
|
||||
if (symbols.get_symbol(symbol, symName, symValue, symSize,
|
||||
symBind, symType, symSectionIndex, symOther))
|
||||
{
|
||||
reloc.symbolName = symName;
|
||||
}
|
||||
}
|
||||
|
||||
m_relocations.push_back(reloc);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user