logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

CVS: sbcl/src/code bsd-os.lisp,1.7,1.8 float-trap.lisp,1.12,1.13 foreign.li: msg#00180

Subject: CVS: sbcl/src/code bsd-os.lisp,1.7,1.8 float-trap.lisp,1.12,1.13 foreign.lisp,1.17,1.18 load.lisp,1.28,1.29 ppc-vm.lisp,1.8,1.9 unix.lisp,1.39,1.40
Update of /cvsroot/sbcl/sbcl/src/code
In directory sc8-pr-cvs1:/tmp/cvs-serv31265/src/code

Modified Files:
        bsd-os.lisp float-trap.lisp foreign.lisp load.lisp ppc-vm.lisp 
        unix.lisp 
Log Message:
0.8.2.8:
        MacOS/Darwin merge.  Points to note:
        ... thanks to Patrik Nordebo, Pierre Mai and Brian Mastenbrook;
        ... mmap()ed simple-streams appear not to work under darwin;
        ... floating point traps are currently non-functional on both ppc 
                platforms;
        ... on darwin, hitting ^C, then choosing CONTINUE results in a
                memory fault;
        ... there's no lchown under darwin;
        ... x86/bsd building is also slightly non-functional currently;
        ... There's a OAOOM problem in src/compiler/ppc/c-call.lisp, and in
                src/runtime/ppc-assem.S.


Index: bsd-os.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/bsd-os.lisp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- bsd-os.lisp 12 Jun 2001 17:08:45 -0000      1.7
+++ bsd-os.lisp 29 Jul 2003 13:01:55 -0000      1.8
@@ -16,7 +16,8 @@
   "Return a string describing the supporting software."
   (the string ; (to force error in case of unsupported BSD variant)
        #!+FreeBSD "FreeBSD"
-       #!+OpenBSD "OpenBSD"))
+       #!+OpenBSD "OpenBSD"
+       #!+Darwin "Darwin"))
 
 (defvar *software-version* nil)
 

Index: float-trap.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/float-trap.lisp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- float-trap.lisp     16 Mar 2002 21:16:09 -0000      1.12
+++ float-trap.lisp     29 Jul 2003 13:01:55 -0000      1.13
@@ -100,7 +100,8 @@
       (if fast-mode
          (setq modes (logior float-fast-bit modes))
          (setq modes (logand (lognot float-fast-bit) modes))))
-    (setf (floating-point-modes) modes))
+    ;; FIXME: This apparently doesn't work on Darwin
+    #!-darwin (setf (floating-point-modes) modes))
 
   (values))
 

Index: foreign.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/foreign.lisp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- foreign.lisp        24 Jun 2003 02:25:43 -0000      1.17
+++ foreign.lisp        29 Jul 2003 13:01:55 -0000      1.18
@@ -52,7 +52,7 @@
 ;;; On any OS where we don't support foreign object file loading, any
 ;;; query of a foreign symbol value is answered with "no definition
 ;;; known", i.e. NIL.
-#-(or linux sunos FreeBSD OpenBSD)
+#-(or linux sunos FreeBSD OpenBSD darwin)
 (defun get-dynamic-foreign-symbol-address (symbol)
   (declare (type simple-string symbol) (ignore symbol))
   nil)
@@ -62,7 +62,7 @@
 ;;; work on any ELF system with dlopen(3) and dlsym(3)
 ;;; It also works on OpenBSD, which isn't ELF, but is otherwise modern
 ;;; enough to have a fairly well working dlopen/dlsym implementation.
-#-(or linux sunos FreeBSD OpenBSD)
+#-(or linux sunos FreeBSD OpenBSD darwin)
 (macrolet ((define-unsupported-fun (fun-name)
             `(defun ,fun-name (&rest rest)
                "unsupported on this system"
@@ -70,7 +70,7 @@
                (error 'unsupported-operator :name ',fun-name))))
   (define-unsupported-fun load-1-foreign)
   (define-unsupported-fun load-foreign))
-#+(or linux sunos FreeBSD OpenBSD)
+#+(or linux sunos FreeBSD OpenBSD darwin)
 (progn
 
 ;;; flags for dlopen()
@@ -112,7 +112,9 @@
       *after-save-initializations*)
 
 (defvar *dso-linker* "/usr/bin/ld")
-(defvar *dso-linker-options* '("-shared" "-o"))
+(defvar *dso-linker-options*
+  #-darwin '("-shared" "-o")
+  #+darwin '("-bundle" "-o"))
 
 (sb-alien:define-alien-routine dlopen system-area-pointer
   (file sb-alien:c-string) (mode sb-alien:int))

Index: load.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/load.lisp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- load.lisp   26 Apr 2003 14:20:10 -0000      1.28
+++ load.lisp   29 Jul 2003 13:01:55 -0000      1.29
@@ -374,7 +374,7 @@
 ;;; code for foreign symbol lookup should be here.
 (defun find-foreign-symbol-in-table (name table)
   (let ((prefixes
-         #!+(or osf1 sunos linux freebsd) #("" "ldso_stub__")
+         #!+(or osf1 sunos linux freebsd darwin) #("" "ldso_stub__")
         #!+openbsd #("")))
     (declare (notinline some)) ; to suppress bug 117 bogowarning
     (some (lambda (prefix)

Index: ppc-vm.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/ppc-vm.lisp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- ppc-vm.lisp 21 Jul 2003 00:57:06 -0000      1.8
+++ ppc-vm.lisp 29 Jul 2003 13:01:55 -0000      1.9
@@ -112,6 +112,9 @@
 
 ;;; Given a signal context, return the floating point modes word in
 ;;; the same format as returned by FLOATING-POINT-MODES.
+;;;
+;;; FIXME: surely this must be accessible somewhere under Darwin?
+#!-darwin
 (define-alien-routine ("os_context_fp_control" context-floating-point-modes)
     (sb!alien:unsigned 32)
   (context (* os-context-t)))

Index: unix.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/unix.lisp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- unix.lisp   27 Jul 2003 14:08:18 -0000      1.39
+++ unix.lisp   29 Jul 2003 13:01:55 -0000      1.40
@@ -293,14 +293,14 @@
   ;; a constant. Going the grovel_headers route doesn't seem to be
   ;; helpful, either, as Solaris doesn't export PATH_MAX from
   ;; unistd.h.
-  #!-(or linux openbsd freebsd sunos osf1) (,stub,)
-  #!+(or linux openbsd freebsd sunos osf1)
+  #!-(or linux openbsd freebsd sunos osf1 darwin) (,stub,)
+  #!+(or linux openbsd freebsd sunos osf1 darwin)
   (or (newcharstar-string (alien-funcall (extern-alien "getcwd"
                                                       (function (* char)
                                                                 (* char)
                                                                 size-t))
                                         nil 
-                                        #!+(or linux openbsd freebsd) 0
+                                        #!+(or linux openbsd freebsd darwin) 0
                                         #!+(or sunos osf1) 1025))
       (simple-perror "getcwd")))
 



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01


<Prev in Thread] Current Thread [Next in Thread>