diff --git a/compiler/GHC/Data/Word64Map.hs b/compiler/GHC/Data/Word64Map.hs
--- a/compiler/GHC/Data/Word64Map.hs
+++ b/compiler/GHC/Data/Word64Map.hs
@@ -8,7 +8,6 @@
 {-# LANGUAGE MonoLocalBinds #-}
 #endif
 
-#include "containers.h"
 
 -----------------------------------------------------------------------------
 -- |
diff --git a/compiler/GHC/Data/Word64Map/Internal.hs b/compiler/GHC/Data/Word64Map/Internal.hs
--- a/compiler/GHC/Data/Word64Map/Internal.hs
+++ b/compiler/GHC/Data/Word64Map/Internal.hs
@@ -14,7 +14,6 @@
 {-# OPTIONS_HADDOCK not-home #-}
 {-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
 
-#include "containers.h"
 
 -----------------------------------------------------------------------------
 -- |
diff --git a/compiler/GHC/Data/Word64Map/Lazy.hs b/compiler/GHC/Data/Word64Map/Lazy.hs
--- a/compiler/GHC/Data/Word64Map/Lazy.hs
+++ b/compiler/GHC/Data/Word64Map/Lazy.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE Safe #-}
 #endif
 
-#include "containers.h"
 
 -----------------------------------------------------------------------------
 -- |
diff --git a/compiler/GHC/Data/Word64Map/Strict.hs b/compiler/GHC/Data/Word64Map/Strict.hs
--- a/compiler/GHC/Data/Word64Map/Strict.hs
+++ b/compiler/GHC/Data/Word64Map/Strict.hs
@@ -4,8 +4,6 @@
 {-# LANGUAGE Trustworthy #-}
 #endif
 
-#include "containers.h"
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Word64Map.Strict
diff --git a/compiler/GHC/Data/Word64Map/Strict/Internal.hs b/compiler/GHC/Data/Word64Map/Strict/Internal.hs
--- a/compiler/GHC/Data/Word64Map/Strict/Internal.hs
+++ b/compiler/GHC/Data/Word64Map/Strict/Internal.hs
@@ -4,8 +4,6 @@
 
 {-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
 
-#include "containers.h"
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Word64Map.Strict.Internal
diff --git a/compiler/GHC/Data/Word64Set.hs b/compiler/GHC/Data/Word64Set.hs
--- a/compiler/GHC/Data/Word64Set.hs
+++ b/compiler/GHC/Data/Word64Set.hs
@@ -3,8 +3,6 @@
 {-# LANGUAGE Safe #-}
 #endif
 
-#include "containers.h"
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Word64Set
diff --git a/compiler/GHC/Data/Word64Set/Internal.hs b/compiler/GHC/Data/Word64Set/Internal.hs
--- a/compiler/GHC/Data/Word64Set/Internal.hs
+++ b/compiler/GHC/Data/Word64Set/Internal.hs
@@ -12,8 +12,6 @@
 
 {-# OPTIONS_HADDOCK not-home #-}
 
-#include "containers.h"
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Word64Set.Internal
diff --git a/compiler/GHC/Utils/Containers/Internal/BitUtil.hs b/compiler/GHC/Utils/Containers/Internal/BitUtil.hs
--- a/compiler/GHC/Utils/Containers/Internal/BitUtil.hs
+++ b/compiler/GHC/Utils/Containers/Internal/BitUtil.hs
@@ -6,8 +6,6 @@
 {-# LANGUAGE Safe #-}
 #endif
 
-#include "containers.h"
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Utils.Containers.Internal.BitUtil
diff --git a/compiler/GHC/Utils/Containers/Internal/StrictPair.hs b/compiler/GHC/Utils/Containers/Internal/StrictPair.hs
--- a/compiler/GHC/Utils/Containers/Internal/StrictPair.hs
+++ b/compiler/GHC/Utils/Containers/Internal/StrictPair.hs
@@ -3,8 +3,6 @@
 {-# LANGUAGE Safe #-}
 #endif
 
-#include "containers.h"
-
 -- | A strict pair
 
 module GHC.Utils.Containers.Internal.StrictPair (StrictPair(..), toPair) where
diff --git a/compiler/cbits/genSym.c b/compiler/cbits/genSym.c
--- a/compiler/cbits/genSym.c
+++ b/compiler/cbits/genSym.c
@@ -9,11 +9,20 @@
 //
 // The CPP is thus about the RTS version GHC is linked against, and not the
 // version of the GHC being built.
-#if !MIN_VERSION_GLASGOW_HASKELL(9,8,4,0)
-HsWord64 ghc_unique_counter64 = 0;
+
+#if MIN_VERSION_GLASGOW_HASKELL(9,9,0,0)
+// Unique64 patch was present in 9.10 and later
+#define HAVE_UNIQUE64 1
+#elif !MIN_VERSION_GLASGOW_HASKELL(9,9,0,0) && MIN_VERSION_GLASGOW_HASKELL(9,8,4,0)
+// Unique64 patch was backported to 9.8.4
+#define HAVE_UNIQUE64 1
+#elif !MIN_VERSION_GLASGOW_HASKELL(9,7,0,0) && MIN_VERSION_GLASGOW_HASKELL(9,6,7,0)
+// Unique64 patch was backported to 9.6.7
+#define HAVE_UNIQUE64 1
 #endif
-#if !MIN_VERSION_GLASGOW_HASKELL(9,3,0,0)
-HsInt ghc_unique_inc     = 1;
+
+#if !defined(HAVE_UNIQUE64)
+HsWord64 ghc_unique_counter64 = 0;
 #endif
 
 // This function has been added to the RTS. Here we pessimistically assume
@@ -34,7 +43,7 @@
 #define UNIQUE_MASK ((1ULL << UNIQUE_BITS) - 1)
 
 HsWord64 ghc_lib_parser_genSym(void) {
-    HsWord64 u = atomic_inc((StgWord64 *)&ghc_unique_counter64, ghc_unique_inc) & UNIQUE_MASK;
+    HsWord64 u = atomic_inc64((StgWord64 *)&ghc_unique_counter64, ghc_unique_inc) & UNIQUE_MASK;
     // Uh oh! We will overflow next time a unique is requested.
     ASSERT(u != UNIQUE_MASK);
     return u;
diff --git a/compiler/ghc.cabal b/compiler/ghc.cabal
--- a/compiler/ghc.cabal
+++ b/compiler/ghc.cabal
@@ -3,7 +3,7 @@
 -- ./configure.  Make sure you are editing ghc.cabal.in, not ghc.cabal.
 
 Name: ghc
-Version: 9.8.4
+Version: 9.8.4.20250206
 License: BSD-3-Clause
 License-File: LICENSE
 Author: The GHC Team
@@ -110,9 +110,9 @@
                    exceptions == 0.10.*,
                    semaphore-compat,
                    stm,
-                   ghc-boot   == 9.8.4,
-                   ghc-heap   == 9.8.4,
-                   ghci == 9.8.4
+                   ghc-boot   == 9.8.4.20250206,
+                   ghc-heap   == 9.8.4.20250206,
+                   ghci == 9.8.4.20250206
 
     if os(windows)
         Build-Depends: Win32  >= 2.3 && < 2.14
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: 3.0
 build-type: Simple
 name: ghc-lib-parser
-version: 9.8.4.20241130
+version: 9.8.5.20250214
 license: BSD-3-Clause
 license-file: LICENSE
 category: Development
@@ -95,7 +95,7 @@
         containers >= 0.6.2.1 && < 0.8,
         bytestring >= 0.11.4 && < 0.13,
         time >= 1.4 && < 1.15,
-        filepath >= 1.5 && < 1.6,
+        filepath >= 1 && < 1.6,
         exceptions == 0.10.*,
         parsec,
         binary == 0.8.*,
diff --git a/ghc-lib/stage0/compiler/build/GHC/Settings/Config.hs b/ghc-lib/stage0/compiler/build/GHC/Settings/Config.hs
--- a/ghc-lib/stage0/compiler/build/GHC/Settings/Config.hs
+++ b/ghc-lib/stage0/compiler/build/GHC/Settings/Config.hs
@@ -22,10 +22,10 @@
 cProjectName          = "The Glorious Glasgow Haskell Compilation System"
 
 cBooterVersion        :: String
-cBooterVersion        = "9.6.5"
+cBooterVersion        = "9.6.6"
 
 cStage                :: String
 cStage                = show (1 :: Int)
 
 cProjectUnitId :: String
-cProjectUnitId = "ghc-9.8.4-inplace"
+cProjectUnitId = "ghc-9.8.4.20250206-inplace"
diff --git a/ghc-lib/stage0/libraries/ghc-boot/build/GHC/Version.hs b/ghc-lib/stage0/libraries/ghc-boot/build/GHC/Version.hs
--- a/ghc-lib/stage0/libraries/ghc-boot/build/GHC/Version.hs
+++ b/ghc-lib/stage0/libraries/ghc-boot/build/GHC/Version.hs
@@ -3,19 +3,19 @@
 import Prelude -- See Note [Why do we import Prelude here?]
 
 cProjectGitCommitId   :: String
-cProjectGitCommitId   = "a3401159f2846605abb517e71af463df47398e72"
+cProjectGitCommitId   = "189a368ba74dbfe8a6e832fe0f9ffe56cd565824"
 
 cProjectVersion       :: String
-cProjectVersion       = "9.8.4"
+cProjectVersion       = "9.8.4.20250206"
 
 cProjectVersionInt    :: String
 cProjectVersionInt    = "908"
 
 cProjectPatchLevel    :: String
-cProjectPatchLevel    = "4"
+cProjectPatchLevel    = "420250206"
 
 cProjectPatchLevel1   :: String
 cProjectPatchLevel1   = "4"
 
 cProjectPatchLevel2   :: String
-cProjectPatchLevel2   = "0"
+cProjectPatchLevel2   = "20250206"
diff --git a/ghc/ghc-bin.cabal b/ghc/ghc-bin.cabal
--- a/ghc/ghc-bin.cabal
+++ b/ghc/ghc-bin.cabal
@@ -2,7 +2,7 @@
 -- ./configure.  Make sure you are editing ghc-bin.cabal.in, not ghc-bin.cabal.
 
 Name: ghc-bin
-Version: 9.8.4
+Version: 9.8.4.20250206
 Copyright: XXX
 -- License: XXX
 -- License-File: XXX
@@ -39,8 +39,8 @@
                    filepath   >= 1   && < 1.5,
                    containers >= 0.5 && < 0.7,
                    transformers >= 0.5 && < 0.7,
-                   ghc-boot      == 9.8.4,
-                   ghc           == 9.8.4
+                   ghc-boot      == 9.8.4.20250206,
+                   ghc           == 9.8.4.20250206
 
     if os(windows)
         Build-Depends: Win32  >= 2.3 && < 2.14
@@ -58,7 +58,7 @@
         Build-depends:
             deepseq        >= 1.4 && < 1.6,
             ghc-prim       >= 0.5.0 && < 0.12,
-            ghci           == 9.8.4,
+            ghci           == 9.8.4.20250206,
             haskeline      == 0.8.*,
             exceptions     == 0.10.*,
             time           >= 1.8 && < 1.13
diff --git a/libraries/ghc-boot-th/ghc-boot-th.cabal b/libraries/ghc-boot-th/ghc-boot-th.cabal
--- a/libraries/ghc-boot-th/ghc-boot-th.cabal
+++ b/libraries/ghc-boot-th/ghc-boot-th.cabal
@@ -3,7 +3,7 @@
 -- ghc-boot-th.cabal.in, not ghc-boot-th.cabal.
 
 name:           ghc-boot-th
-version:        9.8.4
+version:        9.8.4.20250206
 license:        BSD3
 license-file:   LICENSE
 category:       GHC
diff --git a/libraries/ghc-boot/ghc-boot.cabal b/libraries/ghc-boot/ghc-boot.cabal
--- a/libraries/ghc-boot/ghc-boot.cabal
+++ b/libraries/ghc-boot/ghc-boot.cabal
@@ -5,7 +5,7 @@
 -- ghc-boot.cabal.
 
 name:           ghc-boot
-version:        9.8.4
+version:        9.8.4.20250206
 license:        BSD-3-Clause
 license-file:   LICENSE
 category:       GHC
@@ -77,7 +77,7 @@
                    directory  >= 1.2 && < 1.4,
                    filepath   >= 1.3 && < 1.5,
                    deepseq    >= 1.4 && < 1.6,
-                   ghc-boot-th == 9.8.4
+                   ghc-boot-th == 9.8.4.20250206
     if !os(windows)
         build-depends:
                    unix       >= 2.7 && < 2.9
diff --git a/libraries/ghc-heap/ghc-heap.cabal b/libraries/ghc-heap/ghc-heap.cabal
--- a/libraries/ghc-heap/ghc-heap.cabal
+++ b/libraries/ghc-heap/ghc-heap.cabal
@@ -1,6 +1,6 @@
 cabal-version:  3.0
 name:           ghc-heap
-version:        9.8.4
+version:        9.8.4.20250206
 license:        BSD-3-Clause
 license-file:   LICENSE
 maintainer:     libraries@haskell.org
diff --git a/libraries/ghci/ghci.cabal b/libraries/ghci/ghci.cabal
--- a/libraries/ghci/ghci.cabal
+++ b/libraries/ghci/ghci.cabal
@@ -2,7 +2,7 @@
 -- ../../configure.  Make sure you are editing ghci.cabal.in, not ghci.cabal.
 
 name:           ghci
-version:        9.8.4
+version:        9.8.4.20250206
 license:        BSD3
 license-file:   LICENSE
 category:       GHC
@@ -82,8 +82,8 @@
         containers       >= 0.5 && < 0.7,
         deepseq          >= 1.4 && < 1.6,
         filepath         == 1.4.*,
-        ghc-boot         == 9.8.4,
-        ghc-heap         == 9.8.4,
+        ghc-boot         == 9.8.4.20250206,
+        ghc-heap         == 9.8.4.20250206,
         template-haskell == 2.21.*,
         transformers     >= 0.5 && < 0.7
 
diff --git a/libraries/template-haskell/template-haskell.cabal b/libraries/template-haskell/template-haskell.cabal
--- a/libraries/template-haskell/template-haskell.cabal
+++ b/libraries/template-haskell/template-haskell.cabal
@@ -56,7 +56,7 @@
 
     build-depends:
         base        >= 4.11 && < 4.20,
-        ghc-boot-th == 9.8.4,
+        ghc-boot-th == 9.8.4.20250206,
         ghc-prim,
         pretty      == 1.1.*
 
