From 6b230f08fe97cac562979942db698ada72b3ba47 Mon Sep 17 00:00:00 2001 From: Ilias Tsitsimpis Date: Thu, 30 Sep 2021 19:21:04 +0100 Subject: [PATCH] Do not define hs_atomic{read,write}64() on non-64bit Bug: https://gitlab.haskell.org/ghc/ghc/issues/17886 Forwarded: https://gitlab.haskell.org/ghc/ghc/merge_requests/2804 Gbp-Pq: Name fix-32bit-atomic --- libraries/ghc-prim/cbits/atomic.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/ghc-prim/cbits/atomic.c b/libraries/ghc-prim/cbits/atomic.c index ea961206..8396e767 100644 --- a/libraries/ghc-prim/cbits/atomic.c +++ b/libraries/ghc-prim/cbits/atomic.c @@ -361,6 +361,7 @@ hs_atomicread32(StgWord x) #endif } +#if WORD_SIZE_IN_BITS == 64 extern StgWord64 hs_atomicread64(StgWord x); StgWord64 hs_atomicread64(StgWord x) @@ -371,6 +372,7 @@ hs_atomicread64(StgWord x) return __sync_add_and_fetch((StgWord64 *) x, 0); #endif } +#endif // AtomicWriteByteArrayOp_Int // Implies a full memory barrier (see compiler/prelude/primops.txt.pp) @@ -409,6 +411,7 @@ hs_atomicwrite32(StgWord x, StgWord val) #endif } +#if WORD_SIZE_IN_BITS == 64 extern void hs_atomicwrite64(StgWord x, StgWord64 val); void hs_atomicwrite64(StgWord x, StgWord64 val) @@ -420,3 +423,5 @@ hs_atomicwrite64(StgWord x, StgWord64 val) #endif } #endif + +#endif -- 2.30.2