vm::ptr for u8/char types, mem_list_ptr_t removed

This commit is contained in:
Nekotekina 2014-08-31 19:01:48 +04:00
parent ebc4fa3e81
commit a8cfefac07
31 changed files with 208 additions and 362 deletions

View file

@ -464,14 +464,14 @@ bool ELF64Loader::LoadPhdrData(u64 offset)
#endif
Memory.Write32(stub.s_text + i*4, (u32)tbl + i*8);
mem32_ptr_t out_tbl((u32)tbl + i*8);
out_tbl += (u32)dst + i*section;
out_tbl += Emu.GetModuleManager().GetFuncNumById(nid);
auto out_tbl = vm::ptr<be_t<u32>>::make((u32)tbl + i * 8);
out_tbl[0] = (u32)dst + i*section;
out_tbl[1] = Emu.GetModuleManager().GetFuncNumById(nid);
mem32_ptr_t out_dst((u32)dst + i*section);
out_dst += OR(11, 2, 2, 0);
out_dst += SC(2);
out_dst += BCLR(0x10 | 0x04, 0, 0, 0);
auto out_dst = vm::ptr<be_t<u32>>::make((u32)dst + i*section);
out_dst[0] = OR(11, 2, 2, 0);
out_dst[1] = SC(2);
out_dst[2] = BCLR(0x10 | 0x04, 0, 0, 0);
}
}
#ifdef LOADER_DEBUG