aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2013-12-29 12:57:45 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2013-12-29 12:57:56 -0500
commited011d9754fd4b76eac0eaa8c057fcfc0c302a6a (patch)
tree51b29a4997df92a4ea3f232c8970133f08f4bb5c
parent71812a98cb8cfbcf9c3376e0c93fcb4c8e373a54 (diff)
downloadpostgresql-ed011d9754fd4b76eac0eaa8c057fcfc0c302a6a.tar.gz
postgresql-ed011d9754fd4b76eac0eaa8c057fcfc0c302a6a.zip
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.
-rwxr-xr-xconfigure5
-rw-r--r--configure.in5
-rw-r--r--src/include/pg_config.h.in5
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