From: Cyrus Harmon Date: Thu, 15 Mar 2007 15:14:15 +0000 (+0000) Subject: 1.0.3.39: larger heap size for x86-64/darwin X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=e1905b479292158bd2bacdebb81e27b4da041097;p=sbcl.git 1.0.3.39: larger heap size for x86-64/darwin * removed darwin specific params for space locations. * modify gettimeofday of call on darwin x86-64 to not pass in a timezone pointer as this causes the gettimeofday syscall to occasionally fail. This is a temporary hack and should be fixed. --- diff --git a/src/code/unix.lisp b/src/code/unix.lisp index 7f655d1..26fae5c 100644 --- a/src/code/unix.lisp +++ b/src/code/unix.lisp @@ -766,6 +766,21 @@ SYSCALL-FORM. Repeat evaluation of SYSCALL-FORM if it is interrupted." ;;; doesn't work, it returns NIL and the errno. #!-sb-fluid (declaim (inline unix-gettimeofday)) (defun unix-gettimeofday () + #!+(and x86-64 darwin) + (with-alien ((tv (struct timeval))) + ;; CLH: FIXME! This seems to be a MacOS bug, but on x86-64/darwin, + ;; gettimeofday occasionally fails. passing in a null pointer for + ;; the timezone struct seems to work around the problem. I can't + ;; find any instances in the SBCL where we actually ues the + ;; timezone values, so we just punt for the moment. + (syscall* ("gettimeofday" (* (struct timeval)) + (* (struct timezone))) + (values t + (slot tv 'tv-sec) + (slot tv 'tv-usec)) + (addr tv) + nil)) + #!-(and x86-64 darwin) (with-alien ((tv (struct timeval)) (tz (struct timezone))) (syscall* ("gettimeofday" (* (struct timeval)) diff --git a/src/compiler/x86-64/parms.lisp b/src/compiler/x86-64/parms.lisp index 916a9c0..91ebb63 100644 --- a/src/compiler/x86-64/parms.lisp +++ b/src/compiler/x86-64/parms.lisp @@ -97,7 +97,6 @@ ;;; would be possible, but probably not worth the time and code bloat ;;; it would cause. -- JES, 2005-12-11 -#!+(or linux freebsd) (progn (def!constant read-only-space-start #x20000000) (def!constant read-only-space-end #x27ff0000) @@ -113,26 +112,6 @@ (def!constant linkage-table-entry-size 16)) -#!+darwin -(progn - (def!constant read-only-space-start #x20000000) - (def!constant read-only-space-end #x27ff0000) - - (def!constant static-space-start #x40000000) - (def!constant static-space-end #x47fff000) - - #+nil (def!constant dynamic-space-start #x1000000000) - #+nil (def!constant dynamic-space-end #x11ffff0000) - - (def!constant dynamic-space-start #x50000000) - (def!constant dynamic-space-end #x5fff0000) - - (def!constant linkage-table-space-start #x60000000) - (def!constant linkage-table-space-end #x63fff000) - - (def!constant linkage-table-entry-size 16)) - - ;;;; other miscellaneous constants diff --git a/version.lisp-expr b/version.lisp-expr index 284bebf..ea4db7a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.3.38" +"1.0.3.39"