]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Bug 407764 - s390x: drd fails on z13 due to function wrapping issue
authorAndreas Arnez <arnez@linux.ibm.com>
Thu, 23 May 2019 15:17:43 +0000 (17:17 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Tue, 28 May 2019 16:33:05 +0000 (18:33 +0200)
commitc39ee0c37082e2d1723a8671fca2b3af029e2712
tree3730dec34fa8c5c3e2216e651989258738694d69
parent791c0ba910f210f09646add24c34faa9ba4b162d
Bug 407764 - s390x: drd fails on z13 due to function wrapping issue

The s390x-specific inline assembly macros for function wrapping in
include/valgrind.h have a few issues.

When the compiler uses vector registers, such as with "-march=z13", all
vector registers must be declared as clobbered by the callee.  Because
this is missing, many drd test failures are seen with "-march=z13".

Also, the inline assemblies write the return value into the target
register before restoring r11.  If r11 is used as the target register,
this means that the restore operation corrupts the result.  This bug
causes failures with memcheck's "wrap6" test case.

These bugs are fixed.  The clobber list is extended by the vector
registers (if appropriate), and the target register is now written at the
end, after restoring r11.
NEWS
include/valgrind.h