Fix tc23_bogus_condwait.c testcase for s390x.
The testcase used to cause a SIGILL because the address of the bogus
mutex 1 + (char*)&mx[0] denotes a memory location that will eventually
appear in a compare-and-swap instruction. That insn does not allow
memory operands that are not word-aligned. Hence, the SIGILL.
With this fix both incarnations of this testcase (in helgrind and drd)
pass.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12038 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/helgrind/tests/tc23_bogus_condwait.c b/helgrind/tests/tc23_bogus_condwait.c
index 4c7e55b..6e39768 100644
--- a/helgrind/tests/tc23_bogus_condwait.c
+++ b/helgrind/tests/tc23_bogus_condwait.c
@@ -66,7 +66,7 @@
trouble */
/* mx is bogus */
- r= pthread_cond_wait(&cv, (pthread_mutex_t*)(1 + (char*)&mx[0]) );
+ r= pthread_cond_wait(&cv, (pthread_mutex_t*)(4 + (char*)&mx[0]) );
/* mx is not locked */
r= pthread_cond_wait(&cv, &mx[0]);