diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.8 [2024.06.20]
+* Fix infinite loops in the implementations of `storeLoadBarrier`,
+  `loadLoadBarrier`, and `writeBarrier` when building with GHC 9.10 or later.
+
 ## 0.8.7 [2024.04.20]
 * Fix typos in the `foreign import`s introduced in `atomic-primops-0.8.5` and
   `atomic-primops-0.8.6`, which would lead to linker errors when building
diff --git a/atomic-primops.cabal b/atomic-primops.cabal
--- a/atomic-primops.cabal
+++ b/atomic-primops.cabal
@@ -1,6 +1,6 @@
 Cabal-version:       3.0
 Name:                atomic-primops
-Version:             0.8.7
+Version:             0.8.8
 License:             BSD-3-Clause
 License-file:        LICENSE
 Author:              Ryan Newton
diff --git a/cbits/atomics.cmm b/cbits/atomics.cmm
--- a/cbits/atomics.cmm
+++ b/cbits/atomics.cmm
@@ -5,13 +5,16 @@
 
 hs_atomic_primops_store_load_barrier() {
   prim %fence_seq_cst();
+  return ();
 }
 
 hs_atomic_primops_load_load_barrier() {
   prim %fence_acquire();
+  return ();
 }
 
 hs_atomic_primops_write_barrier() {
   prim %fence_release();
+  return ();
 }
 
