From 17f92adf56d922e2565057a67c0e6d4e04189c81 Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Thu, 11 Jun 1998 21:27:56 +0000
Subject: [PATCH] Re-work do-cold-fixup when targeted at the x86 port: Avoid
 using sap-ref-32 into the x86 code objects as the x86 instructions are not
 word aligned and this sap-ref fails when cross compiling from the sparc port,
 instead use multiple sap-ref-8s.  Spotted by Raymond Toy.

---
 compiler/generic/new-genesis.lisp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/compiler/generic/new-genesis.lisp b/compiler/generic/new-genesis.lisp
index 087159d38..e2c2afb73 100644
--- a/compiler/generic/new-genesis.lisp
+++ b/compiler/generic/new-genesis.lisp
@@ -4,7 +4,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/new-genesis.lisp,v 1.34 1998/06/07 17:52:17 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/new-genesis.lisp,v 1.35 1998/06/11 21:27:56 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1979,7 +1979,10 @@
 	  (setf (sap-ref-16 sap 2)
 		(maybe-byte-swap-short (ldb (byte 16 0) value))))))
       (#.c:x86-fasl-file-implementation
-       (let* ((disp (maybe-byte-swap (sap-ref-32 sap 0)))
+       (let* ((disp (logior (sap-ref-8 sap 0)
+			    (ash (sap-ref-8 sap 1) 8)
+			    (ash (sap-ref-8 sap 2) 16)
+			    (ash (sap-ref-8 sap 3) 24)))
 	      (obj-start-addr (logandc2 (descriptor-bits code-object)
 					vm:lowtag-mask)))
 	 (ecase kind
-- 
GitLab