0.6.12.7.flaky1:
[sbcl.git] / src / code / load.lisp
index 5694d98..3e98990 100644 (file)
       (let* ((fhsss sb!c:*fasl-header-string-start-string*)
             (fhsss-length (length fhsss)))
        (unless (= byte (char-code (schar fhsss 0)))
-         (error "illegal fasl file header: first byte"))
+         (error "illegal first byte in fasl file header"))
        (do ((byte (read-byte stream) (read-byte stream))
             (count 1 (1+ count)))
            ((= byte sb!c:*fasl-header-string-stop-char-code*)
          (declare (fixnum byte count))
          (when (and (< count fhsss-length)
                     (not (eql byte (char-code (schar fhsss count)))))
-           (error "illegal fasl file header: subsequent byte"))))
+           (error
+            "illegal subsequent (not first) byte in fasl file header"))))
 
       ;; Read and validate implementation and version, or die.
       (let* ((implementation-length (read-arg 4))
   ;; don't. (CMU CL did, but implemented it in a non-ANSI way, and I
   ;; just disabled that instead of rewriting it.) -- WHN 20000131
   (declare (ignore print))
+
+  ;; FIXME: In sbcl-0.6.12.8 the OpenBSD implementation of FILE-LENGTH
+  ;; broke because changed handling of Unix stat(2) stuff couldn't
+  ;; deal with OpenBSD's 64-bit size slot. Once that's fixed, this
+  ;; code can be restored.
+  #!-openbsd
   (when (zerop (file-length stream))
     (error "attempt to load an empty FASL file:~%  ~S" (namestring stream)))
+
   (do-load-verbose stream verbose)
   (let* ((*fasl-file* stream)
         (*current-fop-table* (or (pop *free-fop-tables*) (make-array 1000)))