0.9.18.71: fix build on Darwin 7.9.0 (OS X 10.3)
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 23 Nov 2006 15:11:26 +0000 (15:11 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 23 Nov 2006 15:11:26 +0000 (15:11 +0000)
 * Unix98 pty api not supported here: don't add the ldso-stubs for it.
   (Not needed in the presence of linkage-table anyways. After 1.0 the
   conditionalization should be changed to :linkage-table.)

 * ...which still leaves us with the alien definitions. They are
   harmless even if the Unix98 api is not supported, as the code path
   where they live is executed only if we can open /dev/ptmx. They
   will, howver, cause undefined alien style-warnings on startup.

   Since we presumably want to try to keep the same core working on
   both older and newer Darwins, we must detect its support at
   runtime.

   So just muffle undefined alien style warnings from the linkage
   table at startup -- presumably user-code can face similar
   situations, so this is probably TRT anyways.

 * Whitespace damage.

 This commit message is longer then the patch.

src/code/foreign.lisp
src/compiler/ppc/c-call.lisp
src/runtime/thread.c
tests/threads.impure.lisp
tools-for-build/ldso-stubs.lisp
version.lisp-expr

index 096a833..430614e 100644 (file)
@@ -95,7 +95,11 @@ if the symbol isn't found."
   #!+os-provides-dlopen
   (reopen-shared-objects)
   #!+linkage-table
-  (update-linkage-table))
+  ;; Don't warn about undefined aliens on startup. The same core can
+  ;; reasonably be expected to work with different versions of the
+  ;; same library.
+  (handler-bind ((style-warning #'muffle-warning))
+    (update-linkage-table)))
 
 ;;; Cleanups before saving a core
 #-sb-xc-host
index 46c76a1..52db97f 100644 (file)
@@ -63,7 +63,7 @@
 ;;;   a double.
 ;;;
 ;;; gcc does:
-;;; 
+;;;
 ;;;   Excess floats stored on the stack are stored as floats.
 ;;;
 ;;; We follow gcc.
index 5ed27c7..a99056f 100644 (file)
@@ -232,7 +232,7 @@ create_cleanup_thread(struct thread *thread_to_be_cleaned_up)
         sched_yield();
     }
 }
-        
+
 #else
 static void
 free_thread_stack_later(struct thread *thread_to_be_cleaned_up)
index 105df1a..0d5453b 100644 (file)
               (sb-ext:quit :unix-status 1)))))))
 
 ;; (nanosleep -1 0) does not fail on FreeBSD
-(let* (#-freebsd           
+(let* (#-freebsd
        (nanosleep-errno (progn
                           (sb-unix:nanosleep -1 0)
                           (sb-unix::get-errno)))
index 5b2530e..130d663 100644 (file)
@@ -285,7 +285,11 @@ ldso_stub__ ## fct: ;                  \\
                  #!+alpha
                  '("ieee_get_fp_control"
                    "ieee_set_fp_control")
-                 #!-win32
+                 ;; FIXME: After 1.0 this should be made
+                 ;; #!-linkage-table, as we only need these stubs if
+                 ;; we don't have linkage-table. Done this way now to
+                 ;; cut down on the number of ports affected.
+                 #!-(or win32 darwin)
                  '("ptsname"
                    "grantpt"
                    "unlockpt")
index 7f834ad..a87f0a1 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.18.70"
+"0.9.18.71"