summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>2011-09-05 15:32:39 +0000
committerflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>2011-09-05 15:32:39 +0000
commit58bec1cd869d5b81b48a5c0236523bb3c11227e4 (patch)
treeb66d8a5109583a06dae30dd9e284607f3fd6e965
parent2062dc6ae4b4674619f0e330a551e18f0ea21da1 (diff)
Avoid hanging on older s390x systems.
See also bugzilla #268623 comment 3. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12008 a5019735-40e9-0310-863c-91ae7b9d1cf9
-rw-r--r--helgrind/tests/annotate_hbefore.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/helgrind/tests/annotate_hbefore.c b/helgrind/tests/annotate_hbefore.c
index 82e32f00..c05c8c25 100644
--- a/helgrind/tests/annotate_hbefore.c
+++ b/helgrind/tests/annotate_hbefore.c
@@ -245,8 +245,13 @@ void do_wait ( UWord* w )
{
UWord w0 = *w;
UWord volatile * wV = w;
- while (*wV == w0)
+ while (*wV == w0) {
+#ifdef VGA_s390x
+ asm volatile ("bcr 15,0\n\t"); /* load barrier */
+#else
;
+#endif
+ }
ANNOTATE_HAPPENS_AFTER(w);
}