1.0.32.3: O_LARGEFILE support on x86-64/linux
authorChristophe Rhodes <csr21@cantab.net>
Thu, 29 Oct 2009 16:39:01 +0000 (16:39 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Thu, 29 Oct 2009 16:39:01 +0000 (16:39 +0000)
Reported by Daniel Janus (and patch) as lp bug #453080.

NEWS
make-config.sh
src/runtime/Config.x86_64-linux
version.lisp-expr

diff --git a/NEWS b/NEWS
index 9545ab1..98662fd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
 changes relative to sbcl-1.0.32:
+  * improvement: support O_LARGEFILE access to files larger than 2GB on
+    x86-64/linux.  (thanks to Daniel Janus)
   * bug fix: restore buildability on the MIPS platform.  (regression from
     1.0.30.38, reported by Samium Gromoff)
 
index fa4768e..81877e7 100644 (file)
@@ -160,7 +160,7 @@ case "$sbcl_os" in
         # If you add other platforms here, don't forget to edit
         # src/runtime/Config.foo-linux too.
         case "$sbcl_arch" in
-        x86 | mips)
+        x86 | x86-64 | mips)
             printf ' :largefile' >> $ltf
             ;;
         esac
index 98d9787..e1efb79 100644 (file)
@@ -30,6 +30,10 @@ OS_SRC = linux-os.c x86-64-linux-os.c
 LINKFLAGS += -Wl,--export-dynamic
 OS_LIBS = -ldl
 
+ifdef LISP_FEATURE_LARGEFILE
+  CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+endif
+
 ifdef LISP_FEATURE_SB_THREAD
   OS_LIBS += -lpthread
 endif
index 05ccd09..c677cc1 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.32.2"
+"1.0.32.3"