diff --git a/qemu/target/arm/unicorn_aarch64.c b/qemu/target/arm/unicorn_aarch64.c index d5c83194..5336a68b 100644 --- a/qemu/target/arm/unicorn_aarch64.c +++ b/qemu/target/arm/unicorn_aarch64.c @@ -14,7 +14,9 @@ const int ARM64_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table); static void arm64_set_pc(struct uc_struct *uc, uint64_t address) { - ((CPUARMState *)uc->current_cpu->env_ptr)->pc = address; + CPUArchState *state = uc->cpu->env_ptr; + + state->pc = address; } void arm64_release(void* ctx); diff --git a/qemu/target/arm/unicorn_arm.c b/qemu/target/arm/unicorn_arm.c index 52f90f78..9081d399 100644 --- a/qemu/target/arm/unicorn_arm.c +++ b/qemu/target/arm/unicorn_arm.c @@ -14,8 +14,10 @@ const int ARM_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table); static void arm_set_pc(struct uc_struct *uc, uint64_t address) { - ((CPUARMState *)uc->current_cpu->env_ptr)->pc = address; - ((CPUARMState *)uc->current_cpu->env_ptr)->regs[15] = address; + CPUArchState *state = uc->cpu->env_ptr; + + state->pc = address; + state->regs[15] = address; } void arm_release(void* ctx);