1.0.4.23: sb-grovel x86-64/darwin fix
authorCyrus Harmon <ch-sbcl@bobobeach.com>
Wed, 4 Apr 2007 23:52:11 +0000 (23:52 +0000)
committerCyrus Harmon <ch-sbcl@bobobeach.com>
Wed, 4 Apr 2007 23:52:11 +0000 (23:52 +0000)
 * sb-grovel was compiling the C file in 32-bit mode (the default) on
   darwin even when being run from in x86-64 mode. add "-arch"
   "x86_64" to args to CC.
 * remove darwin sepecific version of the stat structure. Turns out
   the original stat struct was really ok but that we were getting
   thrown off by the wrong types coming back from sb-grovel.

contrib/sb-grovel/def-to-lisp.lisp
contrib/sb-posix/constants.lisp
version.lisp-expr

index 3aedfe2..201eaf8 100644 (file)
@@ -197,6 +197,8 @@ code:
                     '("-D_LARGEFILE_SOURCE"
                      "-D_LARGEFILE64_SOURCE"
                       "-D_FILE_OFFSET_BITS=64")
+                    #+(and x86-64 darwin)
+                    '("-arch" "x86_64")
                     (list "-o"
                          (namestring tmp-a-dot-out)
                          (namestring tmp-c-source)))
index efecc18..3e24e0e 100644 (file)
               #+nil
               (:integer fields "int" "pw_fields")))
 
- #-darwin
  (:structure alien-stat
              ("struct stat"
               (mode-t mode "mode_t" "st_mode")
              ("struct timespec"
               (time-t tv-sec "time_t" "tv_sec")
               (long tv-nsec "long" "tv_nsec")))
- #+darwin
- (:structure alien-stat
-             ("struct stat"
-              (mode-t mode "mode_t" "st_mode")
-              (ino-t ino "ino_t" "st_ino")
-              ;; Linux/MIPS uses unsigned long instead of dev_t here.
-              #-mips
-              (dev-t dev "dev_t" "st_dev")
-              #+mips
-              ((unsigned 32) dev "dev_t" "st_dev")
-              (nlink-t nlink "nlink_t" "st_nlink")
-              (uid-t uid "uid_t" "st_uid")
-              (gid-t gid "gid_t" "st_gid")
-              (off-t size "off_t" "st_size")
-
-              (time-t atime "time_t" "st_atime")
-              (time-t mtime "time_t" "st_mtime")
-              (time-t ctime "time_t" "st_ctime")
-
-              #+foo (alien-timespec atime "struct timespec" "st_atime")
-              #+foo (alien-timespec mtime "struct timespec" "st_mtime")
-              #+foo (alien-timespec ctime "struct timespec" "st_ctime")))
 
  ;; open()
  (:integer o-rdonly "O_RDONLY" nil t)
index 6a8fd9b..6681639 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.4.22"
+"1.0.4.23"