diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 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
+  executables with GHC 9.10.
+
 ## 0.8.6 [2024.04.16]
 * Use `prim`, not `ccall`, for the `foreign import`s used when building the
   library with GHC 9.10 or later. This fixes a GHC 9.10-specific build issue.
diff --git a/Data/Atomics.hs b/Data/Atomics.hs
--- a/Data/Atomics.hs
+++ b/Data/Atomics.hs
@@ -355,7 +355,7 @@
 
 #if __GLASGOW_HASKELL__ >= 909
 
-foreign import prim "hs_atomics_primops_store_load_barrier" storeLoadBarrier#
+foreign import prim "hs_atomic_primops_store_load_barrier" storeLoadBarrier#
   :: State# RealWorld -> State# RealWorld
 
 -- | A memory barrier that prevents future loads occurring before preceding
@@ -363,14 +363,14 @@
 storeLoadBarrier :: IO ()
 storeLoadBarrier = IO $ \s -> case storeLoadBarrier# s of s' -> (# s', () #)
 
-foreign import prim "hs_atomics_primops_load_load_barrier" loadLoadBarrier#
+foreign import prim "hs_atomic_primops_load_load_barrier" loadLoadBarrier#
   :: State# RealWorld -> State# RealWorld
 
 -- | A memory barrier that prevents future loads occurring before earlier loads.
 loadLoadBarrier :: IO ()
 loadLoadBarrier = IO $ \s -> case loadLoadBarrier# s of s' -> (# s', () #)
 
-foreign import prim "hs_atomics_primops_write_barrier" writeBarrier#
+foreign import prim "hs_atomic_primops_write_barrier" writeBarrier#
   :: State# RealWorld -> State# RealWorld
 
 -- | A memory barrier that prevents future stores occurring before preceding
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.6
+Version:             0.8.7
 License:             BSD-3-Clause
 License-file:        LICENSE
 Author:              Ryan Newton
