(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
if not available."
(or *software-version*
(setf *software-version*
- (string-trim '(#\newline)
- (with-output-to-string (stream)
- (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.
+ (string-trim '(#\newline)
+ (with-output-to-string (stream)
+ (sb!ext:run-program "/bin/uname" `("-r")
+ :output stream))))))
+
+;;; 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 ()