diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for Extra
 
+1.7.7, released 2020-08-25
+    #67, defer to System.IO readFile', hGetContents' in GHC 9.0
 1.7.6, released 2020-08-21
     #66, add lots of functions to Data.Foldable.Extra (anyM etc)
 1.7.5, released 2020-08-12
diff --git a/extra.cabal b/extra.cabal
--- a/extra.cabal
+++ b/extra.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.18
 build-type:         Simple
 name:               extra
-version:            1.7.6
+version:            1.7.7
 license:            BSD3
 license-file:       LICENSE
 category:           Development
diff --git a/src/System/IO/Extra.hs b/src/System/IO/Extra.hs
--- a/src/System/IO/Extra.hs
+++ b/src/System/IO/Extra.hs
@@ -1,4 +1,5 @@
-{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE ScopedTypeVariables, CPP #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
 
 -- | More IO functions. The functions include ones for reading files with specific encodings,
 --   strictly reading files, and writing files with encodings. There are also some simple
@@ -61,6 +62,9 @@
 
 -- Strict file reading
 
+#if __GLASGOW_HASKELL__ < 811
+-- readFile' and hGetContents' were added in GHC 9.0
+
 -- | A strict version of 'hGetContents'.
 hGetContents' :: Handle -> IO String
 hGetContents' h = do
@@ -75,6 +79,8 @@
 -- > \(filter isHexDigit -> s) -> fmap (== s) $ withTempFile $ \file -> do writeFile file s; readFile' file
 readFile' :: FilePath -> IO String
 readFile' file = withFile file ReadMode hGetContents'
+
+#endif
 
 -- | A strict version of 'readFileEncoding', see 'readFile'' for details.
 readFileEncoding' :: TextEncoding -> FilePath -> IO String
