diff options
author | comex | 2015-02-24 20:57:12 -0500 |
---|---|---|
committer | comex | 2015-02-24 20:57:12 -0500 |
commit | 11d6f5764e35bdddae7a4aaf23fd859eecb48c8f (patch) | |
tree | 59d1be8a346c15c2e1287d31ce04eabd58eb3104 /lib/arm/dis-thumb.inc.h | |
parent | fix armv7 syscall registers :o (diff) | |
download | substitute-11d6f5764e35bdddae7a4aaf23fd859eecb48c8f.tar.gz |
Add unaligned read/write functions.
I thought I could get away without since I wasn't (presently) targeting
systems without hardware support for unaligned accesses, but on armv7
clang insists on optimizing into the one ARM instruction that requires
alignment anyway - LDM/STM. Oops. Damnit, clang.
Diffstat (limited to 'lib/arm/dis-thumb.inc.h')
-rw-r--r-- | lib/arm/dis-thumb.inc.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/arm/dis-thumb.inc.h b/lib/arm/dis-thumb.inc.h index 4f758bf..74ae71a 100644 --- a/lib/arm/dis-thumb.inc.h +++ b/lib/arm/dis-thumb.inc.h @@ -86,7 +86,7 @@ static INLINE void P(GPR_func_1_tBLXr)(tdis_ctx ctx, UNUSED struct bitslice func } static INLINE void P(thumb_do_it)(tdis_ctx ctx) { - uint16_t op = ctx->base.op = *(uint16_t *) ctx->base.ptr; + uint16_t op = ctx->base.op = unaligned_r16(ctx->base.ptr); #include "../generated/generic-dis-thumb.inc.h" __builtin_abort(); } |