diff options
author | comex | 2015-02-23 00:52:55 -0500 |
---|---|---|
committer | comex | 2015-02-23 00:54:14 -0500 |
commit | 3ea0b595a9783282c233f0c7910c11688f9ae721 (patch) | |
tree | a1ba64ff739fb2852c2f13a2dfe85deabe362b37 /lib | |
parent | Ban calls within transform regions in threadsafe mode. (diff) | |
download | substitute-3ea0b595a9783282c233f0c7910c11688f9ae721.tar.gz |
Add transform-dis-cases-arm64.S and fix a serious bug thus discovered.
Commit transform-dis-cases-x86_64.S, which I forgot to earlier.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/arm64/arch-transform-dis.inc.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/arm64/arch-transform-dis.inc.h b/lib/arm64/arch-transform-dis.inc.h index 123c7ae..73fe227 100644 --- a/lib/arm64/arch-transform-dis.inc.h +++ b/lib/arm64/arch-transform-dis.inc.h @@ -45,7 +45,7 @@ void transform_dis_branch(struct transform_dis_ctx *ctx, uint_tptr dpc, int cc) static void transform_dis_pre_dis(UNUSED struct transform_dis_ctx *ctx) {} static void transform_dis_post_dis(struct transform_dis_ctx *ctx) { uint32_t op = ctx->base.op; - ctx->arch.regs_possibly_written |= op & 31; - ctx->arch.regs_possibly_written |= op >> 10 & 31; - ctx->arch.regs_possibly_written |= op >> 16 & 31; + ctx->arch.regs_possibly_written |= 1 << (op & 31); + ctx->arch.regs_possibly_written |= 1 << (op >> 10 & 31); + ctx->arch.regs_possibly_written |= 1 << (op >> 16 & 31); } |