From b4e6a7e1601df5290a656faf4e16f93fc81e3001 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Wed, 25 Aug 1993 23:29:18 +0000 Subject: [PATCH] Fixed the :pmax branch of do-cold-fixup to not assume we are running on a little-endian machine. Tweeked the write-core-file to parallel the changes to save.c. --- compiler/generic/gengc-genesis.lisp | 32 +++++++++++++++-------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/compiler/generic/gengc-genesis.lisp b/compiler/generic/gengc-genesis.lisp index f0405f94e..1d572719b 100644 --- a/compiler/generic/gengc-genesis.lisp +++ b/compiler/generic/gengc-genesis.lisp @@ -6,7 +6,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/gengc-genesis.lisp,v 1.12 1993/08/25 18:01:08 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/gengc-genesis.lisp,v 1.13 1993/08/25 23:29:18 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1796,18 +1796,19 @@ (let ((sap (sap+ (descriptor-sap code-object) offset))) (ecase (c:backend-fasl-file-implementation c:*backend*) (#.c:pmax-fasl-file-implementation - (ecase kind - (:jump - (assert (zerop (ash value -26))) - (setf (ldb (byte 26 0) (sap-ref-32 sap 0)) - (ash value -2))) - (:lui - (setf (sap-ref-16 sap 0) - (+ (ash value -16) - (if (logbitp 15 value) 1 0)))) - (:addi - (setf (sap-ref-16 sap 0) - (ldb (byte 16 0) value))))) + (let ((inst (maybe-byte-swap (sap-ref-32 sap 0)))) + (ecase kind + (:jump + (assert (zerop (ash value -26))) + (setf (ldb (byte 26 0) inst) (ash value -2))) + (:lui + (setf (ldb (byte 16 0) inst) + (+ (ash value -16) + (if (logbitp 15 value) 1 0)))) + (:addi + (setf (ldb (byte 16 0) inst) + (ldb (byte 16 0) value)))) + (setf (sap-ref-32 sap 0) (maybe-byte-swap inst)))) (#.c:sparc-fasl-file-implementation (let ((inst (maybe-byte-swap (sap-ref-32 sap 0)))) (ecase kind @@ -2283,7 +2284,9 @@ (ash (char-code #\O) 16) (ash (char-code #\R) 8) (char-code #\E))) - (write-long version)) + (write-long version) + (write-long 1) ; kernel_core = TRUE + (undefined-value)) (defun write-chunks (chunks) (do ((range chunks (range-next range))) @@ -2333,7 +2336,6 @@ (let ((steps (generation-steps gen))) (write-long (length steps)) (dolist (step steps) - (write-long 0) ; step pointer (write-long (step-num step)) (write-long (step-prom-step step)) (write-long (step-max-blocks step)) -- GitLab