mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-14 10:21:21 +00:00
PPU LLVM: Fixup patches enlisting in analyzer
This commit is contained in:
parent
ec77f2ab92
commit
c6f3737c2a
@ -1449,7 +1449,7 @@ static usz apply_modification(std::vector<u32>& applied, patch_engine::patch_inf
|
||||
|
||||
void patch_engine::apply(std::vector<u32>& applied_total, const std::string& name, std::function<u8*(u32, u32)> mem_translate, u32 filesz, u32 min_addr)
|
||||
{
|
||||
applied_total.clear();
|
||||
// applied_total may be non-empty, do not clear it
|
||||
|
||||
if (!m_map.contains(name))
|
||||
{
|
||||
|
@ -4904,15 +4904,20 @@ bool ppu_initialize(const ppu_module<lv2_obj>& info, bool check_only, u64 file_s
|
||||
// Potentially occuring during patches
|
||||
// Avoid doing it for files with a single module such as most PRX
|
||||
|
||||
std::vector<be_t<u32>> addrs(info.funcs.size() + 1);
|
||||
usz addr_index = 0;
|
||||
std::vector<be_t<u32>> addrs;
|
||||
|
||||
for (const ppu_function& func : info.funcs)
|
||||
{
|
||||
addrs[addr_index++] = func.addr - reloc;
|
||||
if (func.size == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
addrs.emplace_back(func.addr - reloc);
|
||||
}
|
||||
|
||||
addrs.back() = ::size32(info.funcs);
|
||||
// Hash its size too
|
||||
addrs.emplace_back(::size32(addrs));
|
||||
|
||||
sha1_update(&ctx, reinterpret_cast<const u8*>(addrs.data()), addrs.size() * sizeof(be_t<u32>));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user