From ed011d9754fd4b76eac0eaa8c057fcfc0c302a6a Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 29 Dec 2013 12:57:45 -0500
Subject: [PATCH] Undo autoconf 2.69's attempt to #define
 _DARWIN_USE_64_BIT_INODE.

Defining this symbol causes OS X 10.5 to use a buggy version of readdir(),
which can sometimes fail with EINVAL if the previously-fetched directory
entry has been deleted or renamed.  In later OS X versions that bug has
been repaired, but we still don't need the #define because it's on by
default.  So this is just an all-around bad idea, and we can do without it.
---
 configure                  | 5 +++++
 configure.in               | 5 +++++
 src/include/pg_config.h.in | 5 +----
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/configure b/configure
index a9eed6b3940..f2bdf770306 100755
--- a/configure
+++ b/configure
@@ -11092,6 +11092,11 @@ rm -rf conftest*
 
 fi
 
+   # Autoconf 2.69's AC_SYS_LARGEFILE believes it's a good idea to #define
+   # _DARWIN_USE_64_BIT_INODE, but it isn't: on OS X 10.5 that activates a
+   # bug that causes readdir() to sometimes return EINVAL.  On later OS X
+   # versions where the feature actually works, it's on by default anyway.
+
 fi
 
 # Check for largefile support (must be after AC_SYS_LARGEFILE)
diff --git a/configure.in b/configure.in
index fbe2d40292c..832b3a3458c 100644
--- a/configure.in
+++ b/configure.in
@@ -1205,6 +1205,11 @@ esac
 # defines can affect what is generated for that.
 if test "$PORTNAME" != "win32"; then
    AC_SYS_LARGEFILE
+   # Autoconf 2.69's AC_SYS_LARGEFILE believes it's a good idea to #define
+   # _DARWIN_USE_64_BIT_INODE, but it isn't: on OS X 10.5 that activates a
+   # bug that causes readdir() to sometimes return EINVAL.  On later OS X
+   # versions where the feature actually works, it's on by default anyway.
+   AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],[])
 fi
 
 # Check for largefile support (must be after AC_SYS_LARGEFILE)
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 3ed286f36c5..64717dfcd41 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -833,10 +833,7 @@
    XLOG_BLCKSZ). Changing XLOG_SEG_SIZE requires an initdb. */
 #undef XLOG_SEG_SIZE
 
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
+
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
-- 
GitLab