1.0.9.27: Fix large file support for MIPS.
authorThiemo Seufer <ths@networkno.de>
Sun, 2 Sep 2007 03:06:27 +0000 (03:06 +0000)
committerThiemo Seufer <ths@networkno.de>
Sun, 2 Sep 2007 03:06:27 +0000 (03:06 +0000)
make-config.sh
src/code/unix.lisp
src/runtime/Config.mips-linux
src/runtime/wrap.c
version.lisp-expr

index 50d1714..bacc797 100644 (file)
@@ -166,9 +166,11 @@ case "$sbcl_os" in
 
         # If you add other platforms here, don't forget to edit
         # src/runtime/Config.foo-linux too.
-        if [ $sbcl_arch = "x86" ]; then
+        case "$sbcl_arch" in
+        x86 | mips)
             printf ' :largefile' >> $ltf
-        fi
+            ;;
+        esac
 
         if [ $sbcl_arch = "x86-64" ]; then
             link_or_copy Config.x86_64-linux Config
index 7021ce4..d8473d1 100644 (file)
@@ -660,7 +660,7 @@ SYSCALL-FORM. Repeat evaluation of SYSCALL-FORM if it is interrupted."
   (struct wrapped_stat
     (st-dev #!-(or mips largefile) unsigned-int
             #!+mips unsigned-long
-            #!+largefile dev-t)
+            #!+largefile #!-mips dev-t)
     (st-ino ino-t)
     (st-mode mode-t)
     (st-nlink nlink-t)
@@ -668,7 +668,7 @@ SYSCALL-FORM. Repeat evaluation of SYSCALL-FORM if it is interrupted."
     (st-gid gid-t)
     (st-rdev #!-(or mips largefile) unsigned-int
              #!+mips unsigned-long
-             #!+largefile dev-t)
+             #!+largefile #!-mips dev-t)
     (st-size #!-(or darwin mips largefile) unsigned-int
              #!+(or darwin mips largefile) off-t)
     #!+(and darwin)
index 1356ec7..9f32f3c 100644 (file)
@@ -18,6 +18,14 @@ ARCH_SRC = mips-arch.c
 OS_SRC = linux-os.c mips-linux-os.c
 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
+
 GC_SRC = cheneygc.c
 
 # Nothing to do for after-grovel-headers.
index 1fad2d7..376beaf 100644 (file)
@@ -167,7 +167,7 @@ wrapped_readlink(char *path)
  *
  * Some motivated spark fixed MIPS. -- ths, 2005-10-06 */
 
-#if defined (LISP_FEATURE_LARGEFILE)
+#if defined(LISP_FEATURE_LARGEFILE) && !defined(LISP_FEATURE_MIPS)
 typedef dev_t ffi_dev_t;
 typedef off_t ffi_off_t;
 #elif defined(LISP_FEATURE_MIPS)
index c32fc91..5bfc8fa 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.9.26"
+"1.0.9.27"