Răsfoiți Sursa

ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).

- Fixes single stepping in debugger.
bunnei 11 ani în urmă
părinte
comite
b8e6f52419
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      src/core/arm/dyncom/arm_dyncom.cpp

+ 2 - 2
src/core/arm/dyncom/arm_dyncom.cpp

@@ -60,7 +60,7 @@ void ARM_DynCom::SetPC(u32 pc) {
  * @return Returns current PC
  * @return Returns current PC
  */
  */
 u32 ARM_DynCom::GetPC() const {
 u32 ARM_DynCom::GetPC() const {
-    return state->pc;
+    return state->Reg[15];
 }
 }
 
 
 /**
 /**
@@ -129,7 +129,7 @@ void ARM_DynCom::SaveContext(ThreadContext& ctx) {
 
 
     ctx.sp = state->Reg[13];
     ctx.sp = state->Reg[13];
     ctx.lr = state->Reg[14];
     ctx.lr = state->Reg[14];
-    ctx.pc = state->pc;
+    ctx.pc = state->Reg[15];
     ctx.cpsr = state->Cpsr;
     ctx.cpsr = state->Cpsr;
 
 
     ctx.fpscr = state->VFP[1];
     ctx.fpscr = state->VFP[1];