diff options
author | comex | 2015-02-23 00:41:29 -0500 |
---|---|---|
committer | comex | 2015-02-23 00:54:13 -0500 |
commit | b63f1dff9dc736f7fa66f04976436f1f3fe2ac5d (patch) | |
tree | db70eb338a0107fdc70992ea2522fd03f2ecf32e /lib/arm/dis-arm.inc.h | |
parent | fix some i386 stuff (diff) | |
download | substitute-b63f1dff9dc736f7fa66f04976436f1f3fe2ac5d.tar.gz |
Ban calls within transform regions in threadsafe mode.
Diffstat (limited to 'lib/arm/dis-arm.inc.h')
-rw-r--r-- | lib/arm/dis-arm.inc.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/arm/dis-arm.inc.h b/lib/arm/dis-arm.inc.h index 3ae0ab9..ab61877 100644 --- a/lib/arm/dis-arm.inc.h +++ b/lib/arm/dis-arm.inc.h @@ -206,6 +206,13 @@ static INLINE void P(GPR_Rt_addr_offset_none_addr_postidx_reg_Rm_S_1_STRHTr)(tdi static INLINE void P(GPR_dst_B_2_BX)(tdis_ctx ctx, UNUSED struct bitslice dst) { return P(ret)(ctx); } +static INLINE void P(GPR_func_3_BLX)(tdis_ctx ctx, UNUSED struct bitslice func) { + return P(indirect_call)(ctx); +} +static INLINE void P(bl_target_func_2_BL)(tdis_ctx ctx, struct bitslice func) { + return P(branch)(ctx, ctx->base.pc + 8 + sext(bs_get(func, ctx->base.op), 24), + CC_CALL); +} static INLINE void P(dis_arm)(tdis_ctx ctx) { uint32_t op = ctx->base.op = *(uint32_t *) ctx->base.ptr; |