From: Christophe R. <cr...@us...> - 2009-04-24 13:11:29
|
Update of /cvsroot/sbcl/sbcl In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8159 Modified Files: version.lisp-expr Log Message: 1.0.27.37: fix host constant leaks Various ways in which a host constant can leak through the cross-compiler into the target are plugged. 5 commit messages follow: fix host most-positive-fixnum leak in declaration Found by comparing object code for SORT-VECTOR between clisp and sbcl xc hosts. Fix most-fooative-fixnum leak in number-psxhash Gah, floats. Most cases will be more complicated to fix than this one. (Fixing things absolutely properly would be hugely difficult; this fix should do for now...) more careful cross-compiler constant-form-value We need to take values from the xc info database in preference to using SYMBOL-VALUE, otherwise we'll leak from the host. (In particular, this one was for function in debug.lisp with lambda lists of the form (&optional (n most-positive-fixnum)) deal with another host fixnum-related constant leak This time it's in the definition of the integer constants which are both fixnums and exactly representable as floats. Amazingly, just above these definitions are the ones for SB!XC:MOST-POSITIVE-FIXNUM and friends; no alarm bells were ringing... fix a fixnum leak in unix-fd type This mistake [ (deftype foo () `(integer 0 ,most-positive-fixnum)) ] seems distressingly easy to make. Not easy to guard against, either. (Aside: is it sensible to define FDs as positive fixnums?) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.4403 retrieving revision 1.4404 diff -u -d -r1.4403 -r1.4404 --- version.lisp-expr 24 Apr 2009 12:46:38 -0000 1.4403 +++ version.lisp-expr 24 Apr 2009 13:11:22 -0000 1.4404 @@ -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.27.36" +"1.0.27.37" |