diff --git a/ghc-lib-parser.cabal b/ghc-lib-parser.cabal
--- a/ghc-lib-parser.cabal
+++ b/ghc-lib-parser.cabal
@@ -1,7 +1,7 @@
 cabal-version: >=1.22
 build-type: Simple
 name: ghc-lib-parser
-version: 8.10.1.20200518
+version: 8.10.1.20200523
 license: BSD3
 license-file: LICENSE
 category: Development
diff --git a/libraries/ghc-heap/GHC/Exts/Heap/Closures.hs b/libraries/ghc-heap/GHC/Exts/Heap/Closures.hs
--- a/libraries/ghc-heap/GHC/Exts/Heap/Closures.hs
+++ b/libraries/ghc-heap/GHC/Exts/Heap/Closures.hs
@@ -50,9 +50,9 @@
 ------------------------------------------------------------------------
 -- Boxes
 
-foreign import prim "aToWordzh" aToWord# :: Any -> Word#
+foreign import prim "Ghclib_aToWordzh" aToWord# :: Any -> Word#
 
-foreign import prim "reallyUnsafePtrEqualityUpToTag"
+foreign import prim "Ghclib_reallyUnsafePtrEqualityUpToTag"
     reallyUnsafePtrEqualityUpToTag# :: Any -> Any -> Int#
 
 -- | An arbitrary Haskell value in a safe Box. The point is that even
diff --git a/libraries/ghc-heap/cbits/HeapPrim.cmm b/libraries/ghc-heap/cbits/HeapPrim.cmm
--- a/libraries/ghc-heap/cbits/HeapPrim.cmm
+++ b/libraries/ghc-heap/cbits/HeapPrim.cmm
@@ -1,11 +1,11 @@
 #include "Cmm.h"
 
-aToWordzh (P_ clos)
+Ghclib_aToWordzh (P_ clos)
 {
     return (clos);
 }
 
-reallyUnsafePtrEqualityUpToTag (W_ clos1, W_  clos2)
+Ghclib_reallyUnsafePtrEqualityUpToTag (W_ clos1, W_  clos2)
 {
     clos1 = UNTAG(clos1);
     clos2 = UNTAG(clos2);
