]> git.ipfire.org Git - thirdparty/valgrind.git/commit
'grail' fixes for s390x:
authorJulian Seward <jseward@acm.org>
Sun, 1 Dec 2019 06:01:20 +0000 (07:01 +0100)
committerJulian Seward <jseward@acm.org>
Sun, 1 Dec 2019 06:01:20 +0000 (07:01 +0100)
commitaf4fae12f3456ab5a591298a7c9ee5e3e12ec282
treeee3a91961b4b746a880a71c47193a62cf81b5267
parentd072997a1dc701bb8c436a7181302d351cacd3c1
'grail' fixes for s390x:

This isn't a good result.  It merely disables the new functionality on s390x,
for the reason stated below.

* guest_generic_bb_to_IR.c bb_to_IR(): Disable, hopefully temporarily, the key
  &&-recovery transformation on s390x, since it causes Memcheck to crash for
  reasons I couldn't figure out.  It also exposes some missing Iex_ITE cases
  in the s390x insn selector, although those shouldn't be a big deal to fix.

  Maybe it's some strangeness to do with the s390x "ex" instruction.  I don't
  exactly understand how that trickery works, but from some study of it, I
  didn't see anything obviously wrong.

  It is only chasing through conditional branches that is disabled for s390x.
  Chasing through unconditional branches (jumps and calls to known
  destinations) is still enabled.

* host_s390_isel.c s390_isel_cc(): No functional change.  Code has been added
  here to handle the new Iop_And1 and Iop_Or1, and it is somewhat tested, but
  is not needed until conditional branch chasing is enabled on s390x.
VEX/priv/guest_generic_bb_to_IR.c
VEX/priv/host_s390_isel.c