diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2019-05-22 11:19:41 +0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-07-02 16:18:05 -0400 |
commit | e9abcad4cc3f9f393e7368c082d693ec6dfc60f5 (patch) | |
tree | 5708f6807778dcda3fccff3bd3fa40437a15ca06 | |
parent | 348e3f8eea84bdbfa2f3a8adc772c4b67c27f756 (diff) | |
download | haskell-e9abcad4cc3f9f393e7368c082d693ec6dfc60f5.tar.gz |
No atomics on arm32; this will just yield stubs.
As such the internal linker will fail for them. The alternative
would be to implement them as stubs in the linker and have them
barf when called.
> Not all operations are supported by all target processors. If a
particular operation cannot be implemented on the target processor,
a warning is generated and a call an external function is
generated. The external function carries the same name as the
built-in version, with an additional suffix ā_nā where n is the size
of the data type.
(https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html)
-rw-r--r-- | libraries/ghc-prim/cbits/atomic.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libraries/ghc-prim/cbits/atomic.c b/libraries/ghc-prim/cbits/atomic.c index a7d7544b4f..ac2e608ec2 100644 --- a/libraries/ghc-prim/cbits/atomic.c +++ b/libraries/ghc-prim/cbits/atomic.c @@ -1,3 +1,4 @@ +#if !defined(arm_HOST_ARCH) #include "Rts.h" // Fallbacks for atomic primops on byte arrays. The builtins used @@ -418,3 +419,4 @@ hs_atomicwrite64(StgWord x, StgWord64 val) while (!__sync_bool_compare_and_swap((StgWord64 *) x, *(StgWord64 *) x, (StgWord64) val)); #endif } +#endif |