diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs
index 9510cf73103a264c4ca469df4c795de8d60a2392..a86dd3759b889ce90c36d969e83b2020e69599b9 100755
--- a/.gitlab/gen_ci.hs
+++ b/.gitlab/gen_ci.hs
@@ -419,7 +419,7 @@ opsysVariables AArch64 (Darwin {}) =
           ]
 opsysVariables Amd64 (Darwin {}) =
   mconcat [ "NIX_SYSTEM" =: "x86_64-darwin"
-          , "MACOSX_DEPLOYMENT_TARGET" =: "10.13"
+          , "MACOSX_DEPLOYMENT_TARGET" =: "11.0"
           -- "# Only Sierra and onwards supports clock_gettime. See #12858"
           , "ac_cv_func_clock_gettime" =: "no"
           -- # Only newer OS Xs support utimensat. See #17895
diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml
index 61ea32517c3f81b27524ca0eef640eecdc3ba3c2..c601a6502c8bfe36e7a255c3f5f9e4030db44a65 100644
--- a/.gitlab/jobs.yaml
+++ b/.gitlab/jobs.yaml
@@ -595,7 +595,7 @@
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi ",
       "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
-      "MACOSX_DEPLOYMENT_TARGET": "10.13",
+      "MACOSX_DEPLOYMENT_TARGET": "11.0",
       "NIX_SYSTEM": "x86_64-darwin",
       "TEST_ENV": "x86_64-darwin-validate",
       "XZ_OPT": "-9",
@@ -2895,7 +2895,7 @@
       "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx-pdfs",
       "IGNORE_PERF_FAILURES": "all",
       "LANG": "en_US.UTF-8",
-      "MACOSX_DEPLOYMENT_TARGET": "10.13",
+      "MACOSX_DEPLOYMENT_TARGET": "11.0",
       "NIX_SYSTEM": "x86_64-darwin",
       "TEST_ENV": "x86_64-darwin-release",
       "XZ_OPT": "-9",
@@ -4133,7 +4133,7 @@
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi ",
       "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
-      "MACOSX_DEPLOYMENT_TARGET": "10.13",
+      "MACOSX_DEPLOYMENT_TARGET": "11.0",
       "NIX_SYSTEM": "x86_64-darwin",
       "TEST_ENV": "x86_64-darwin-validate",
       "ac_cv_func_clock_gettime": "no",
diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
index c8da60df7a661e146275b69b9917a23c6db8609a..cff9707ecb239b2ee928b36640b8012c8c7952cc 100644
--- a/rts/rts.cabal.in
+++ b/rts/rts.cabal.in
@@ -495,8 +495,6 @@ library
 
       if os(osx)
         ld-options: "-Wl,-search_paths_first"
-                    -- See Note [fd_set_overflow]
-                    "-Wl,-U,___darwin_check_fd_set_overflow"
                     -- See Note [Undefined symbols in the RTS]
                     "-Wl,-undefined,dynamic_lookup"
         if !arch(x86_64) && !arch(aarch64)
@@ -702,48 +700,6 @@ library
                     -- We don't want to compile posix/ticker/*.c, these will be #included
                     -- from Ticker.c
 
-
--- Note [fd_set_overflow]
--- ~~~~~~~~~~~~~~~~~~~~~~
--- In this note is the very sad tale of __darwin_fd_set_overflow.
--- The 8.10.5 release was broken because it was built in an environment
--- where the libraries were provided by XCode 12.*, these libraries introduced
--- a reference to __darwin_fd_set_overflow via the FD_SET macro which is used in
--- Select.c. Unfortunately, this symbol is not available with XCode 11.* which
--- led to a linker error when trying to link anything. This is almost certainly
--- a bug in XCode but we still have to work around it.
-
--- Undefined symbols for architecture x86_64:
---  "___darwin_check_fd_set_overflow", referenced from:
---      _awaitEvent in libHSrts.a(Select.o)
--- ld: symbol(s) not found for architecture x86_64
-
--- One way to fix this is to upgrade your version of xcode, but this would
--- force the upgrade on users prematurely. Fortunately it also seems safe to pass
--- the linker option "-Wl,-U,___darwin_check_fd_set_overflow" because the usage of
--- the symbol is guarded by a guard to check if it's defined.
-
--- __header_always_inline int
--- __darwin_check_fd_set(int _a, const void *_b)
--- {
---    if ((uintptr_t)&__darwin_check_fd_set_overflow != (uintptr_t) 0) {
---#if defined(_DARWIN_UNLIMITED_SELECT) || defined(_DARWIN_C_SOURCE)
---        return __darwin_check_fd_set_overflow(_a, _b, 1);
---#else
---        return __darwin_check_fd_set_overflow(_a, _b, 0);
---#endif
---    } else {
---        return 1;
---    }
---}
-
--- Across the internet there are many other reports of this issue
---  See: https://github.com/mono/mono/issues/19393
---     , https://github.com/sitsofe/fio/commit/b6a1e63a1ff607692a3caf3c2db2c3d575ba2320
-
--- The issue was originally reported in #19950
-
-
 -- Note [Undefined symbols in the RTS]
 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 -- The RTS is built with a number of `-u` flags. This is to handle cyclic