]> git.ipfire.org Git - thirdparty/valgrind.git/commit
emit_ARM64Instr: fix assertion failures associated with chaining patching (ARM64in_XD...
authorJulian Seward <jseward@acm.org>
Sat, 5 May 2018 08:03:26 +0000 (10:03 +0200)
committerJulian Seward <jseward@acm.org>
Sat, 5 May 2018 08:03:26 +0000 (10:03 +0200)
commite5dea048c1cd9fb8cd85175074388da3430b09f3
tree3ee81e56b3cf49d3e5b32700150580cebf8a2074
parentfe28f100d7d01953eca21d27824843fad4e9ff24
emit_ARM64Instr: fix assertion failures associated with chaining patching (ARM64in_XDirect).  n-i-bz.

This has happened because (I think!) this has never before been tested with
guest code addresses >= 2^48.  This in turn means that this is the first
time that

  p = imm64_to_ireg(p, /*x*/9, i->ARM64in.XDirect.dstGA);

has been called upon to emit a constant which is non-zero in all four 16-bit
chunks, so it generates 4 instructions rather than (at most, in all previous
runs) 3, and so the "how many insns at max" assertions failed.  This commit
fixes the assertions.
VEX/priv/host_arm64_defs.c