Fix the build on Darwin
authorPaul Khuong <pvk@pvk.ca>
Mon, 13 Aug 2012 05:27:12 +0000 (01:27 -0400)
committerPaul Khuong <pvk@pvk.ca>
Mon, 13 Aug 2012 06:45:51 +0000 (02:45 -0400)
 * Darwin's assembler doesn't have default values for .fill directives.

 * Only use call_into_lisp_tramp on darwin/x86, not darwin.

 * Edit NEWS to note that threads have been OK on 10.8 since 1.0.58,
   while we're here.

NEWS
src/runtime/interrupt.c
src/runtime/x86-64-assem.S
src/runtime/x86-assem.S

diff --git a/NEWS b/NEWS
index ba46d35..c38625f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -52,6 +52,8 @@ changes in sbcl-1.0.58 relative to sbcl-1.0.57:
     1.0.56.19)
   * bug fix: run-program with :pty t no longer makes the pty as the process's
     controling terminal.
+  * bug fix: spawning threads on OS X 10.8 no longer crashes the process 
+    (lp#1012811).
 
 changes in sbcl-1.0.57 relative to sbcl-1.0.56:
   * RANDOM enhancements and bug fixes:
index a5ca08d..6a4d25b 100644 (file)
@@ -1574,7 +1574,7 @@ arrange_return_to_c_function(os_context_t *context,
 void
 arrange_return_to_lisp_function(os_context_t *context, lispobj function)
 {
-#if defined(LISP_FEATURE_DARWIN)
+#if defined(LISP_FEATURE_DARWIN) && defined(LISP_FEATURE_X86)
     arrange_return_to_c_function(context, call_into_lisp_tramp, function);
 #else
     arrange_return_to_c_function(context, call_into_lisp, function);
index bc41986..f687c82 100644 (file)
@@ -541,6 +541,6 @@ ascs_finished:
        .data
         .align  align_page
 GNAME(gc_safepoint_page):
-        .fill 32768
+        .fill 32768,1,0
 \f
         END()
index 22f38f1..769f10d 100644 (file)
@@ -930,7 +930,7 @@ GNAME(fast_bzero_pointer):
        .data
         .align  align_page
 GNAME(gc_safepoint_page):
-        .fill BACKEND_PAGE_BYTES
+        .fill BACKEND_PAGE_BYTES,1,0
 \f
        .text
        .align  align_16byte,0x90