|
From: <sv...@va...> - 2011-09-18 00:15:59
|
Author: florian
Date: 2011-09-18 01:11:12 +0100 (Sun, 18 Sep 2011)
New Revision: 12038
Log:
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.
Modified:
trunk/helgrind/tests/tc23_bogus_condwait.c
Modified: trunk/helgrind/tests/tc23_bogus_condwait.c
===================================================================
--- trunk/helgrind/tests/tc23_bogus_condwait.c 2011-09-17 22:18:01 UTC (rev 12037)
+++ trunk/helgrind/tests/tc23_bogus_condwait.c 2011-09-18 00:11:12 UTC (rev 12038)
@@ -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]);
|