X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flinux-os.lisp;h=3ce69305a0e9658f4d9cb686c9ce4d354e8a4e6a;hb=67dc5cf478dfe5e3f517001febb9a8f7b922eacf;hp=df6ca15791526a7237a544d0b23f34e26cede3a5;hpb=72408d179d7396904e25e9a3dc423d2634e65072;p=sbcl.git diff --git a/src/code/linux-os.lisp b/src/code/linux-os.lisp index df6ca15..3ce6930 100644 --- a/src/code/linux-os.lisp +++ b/src/code/linux-os.lisp @@ -22,6 +22,8 @@ (defvar *software-version* nil) +;;; FIXME: More duplicated logic here vrt. other oses. Abstract into +;;; uname-software-version? (defun software-version () #!+sb-doc "Return a string describing version of the supporting software, or NIL @@ -33,13 +35,20 @@ (sb!ext:run-program "/bin/uname" `("-r") :output stream)))))) -;;; OS-COLD-INIT-OR-REINIT initializes our operating-system interface. -;;; It sets the values of the global port variables to what they -;;; should be and calls the functions that set up the argument blocks -;;; for the server interfaces. +;;; FIXME: This logic is duplicated in other backends: +;;; abstract, abstract. OS-COMMON-COLD-INIT-OR-REINIT, mayhaps? (defun os-cold-init-or-reinit () ; KLUDGE: don't know what to do here - #!+sparc ;; Can't use #x20000000 thru #xDFFFFFFF, but mach tries to let us. - (sb!sys:allocate-system-memory-at (sb!sys:int-sap #x20000000) #xc0000000)) + (/show0 "entering linux-os.lisp OS-COLD-INIT-OR-REINIT") + (setf *software-version* nil) + (/show0 "setting *DEFAULT-PATHNAME-DEFAULTS*") + (setf *default-pathname-defaults* + ;; (temporary value, so that #'PATHNAME won't blow up when + ;; we call it below:) + (make-trivial-default-pathname) + *default-pathname-defaults* + ;; (final value, constructed using #'PATHNAME:) + (pathname (sb!unix:posix-getcwd/))) + (/show0 "leaving linux-os.lisp OS-COLD-INIT-OR-REINIT")) ;;; Return system time, user time and number of page faults. (defun get-system-info ()