ghc/ghc-fix-infinite-loop-big-endian.patch

26 lines
768 B
Diff

From 0a2e25ea54ab549ce0966ffe0ad40c80a2849032 Mon Sep 17 00:00:00 2001
From: Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
Date: Mon, 28 Oct 2013 13:04:12 +0000
Subject: Fix infinite loop on 64 bits big endian platforms (Trac #8134)
---
rts/STM.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rts/STM.c b/rts/STM.c
index 6bcb7ba..c4dcb9f 100644
--- a/rts/STM.c
+++ b/rts/STM.c
@@ -927,7 +927,7 @@ void stmPreGCHook (Capability *cap) {
static volatile StgInt64 max_commits = 0;
#if defined(THREADED_RTS)
-static volatile StgBool token_locked = FALSE;
+static volatile StgWord token_locked = FALSE;
static void getTokenBatch(Capability *cap) {
while (cas((void *)&token_locked, FALSE, TRUE) == TRUE) { /* nothing */ }
--
1.8.3.1