]> git.ipfire.org Git - thirdparty/valgrind.git/commit
s390x: Re-implement STFLE as an extension
authorAndreas Arnez <arnez@linux.ibm.com>
Wed, 10 Jul 2024 16:47:07 +0000 (18:47 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Wed, 10 Jul 2024 16:47:07 +0000 (18:47 +0200)
commit797c4b049e7b49176f4f155e00353837e4197d69
treee9f15e598c5427c9ff3fa19fbdb105660bee4706
parent51689ed4c8e58b22cc822d6dbb7c9d9518c90023
s390x: Re-implement STFLE as an extension

The existing implementation of the STFLE instruction does not use the
correct operand size when tracking memory effects.  Instead of respecting
the user-provided maximum number of doublewords and the returned value
from the instruction, it assumes a hard coded value (S390_NUM_FACILITY_DW)
instead.

For example, if an application passes a buffer of 3 doublewords to STFLE
while Valgrind assumes a fixed size of 4 doublewords, Valgrind may falsely
complain about an invalid write for the last doubleword.

Fix this by re-implementing STFLE via the extension mechanism.
VEX/priv/guest_s390_defs.h
VEX/priv/guest_s390_helpers.c
VEX/priv/guest_s390_toIR.c
VEX/pub/libvex_s390x_common.h
coregrind/m_extension/extension-s390x.c