--- src/libc-glue.hh	2024-03-16 05:20:18.000000000 +0800
+++ src/libc-glue.hh	2024-05-12 13:25:23.000000000 +0800
@@ -220,7 +220,13 @@
 {
         auto r = int{};
         do {
+#ifdef F_DUPFD_CLOEXEC
                 r = fcntl(oldfd, F_DUPFD_CLOEXEC, newfd);
+#else
+                r = fcntl(oldfd, F_DUPFD, newfd);
+                if (r > 0)
+                        fcntl(r, F_SETFD, FD_CLOEXEC);
+#endif
         } while (r == -1 && errno == EINTR);
         return r;
 }
