0.9.10.40:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 16 Mar 2006 14:04:59 +0000 (14:04 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 16 Mar 2006 14:04:59 +0000 (14:04 +0000)
Fix unithreaded build (and incidentally a potential heap
corruption on purify, given a sufficiently small struct thread
or a sufficiently large UNBOUND_MARKER_WIDETAG)
... #ifdef LISP_FEATURE_SB_THREAD the offending code.

src/runtime/purify.c
version.lisp-expr

index bedbfd7..c4bc398 100644 (file)
@@ -1514,10 +1514,12 @@ purify(lispobj static_roots, lispobj read_only_roots)
                (lispobj *)SymbolValue(BINDING_STACK_POINTER,thread) -
                (lispobj *)thread->binding_stack_start,
           0);
+#ifdef LISP_FEATURE_SB_THREAD
         pscav( (lispobj *) (thread+1),
                fixnum_value(SymbolValue(FREE_TLS_INDEX,0)) -
                (sizeof (struct thread))/(sizeof (lispobj)),
           0);
+#endif
     }
 
 
index 3a9ba11..533a593 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".)
-"0.9.10.39"
+"0.9.10.40"