From e82f93bc48994f3fc17e1f03315feb0c9f42c5a4 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Thu, 30 Nov 2006 03:17:19 +0000
Subject: [PATCH] Previous fix for negative values was wrong.  Fix it.

---
 compiler/ppc/insts.lisp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/compiler/ppc/insts.lisp b/compiler/ppc/insts.lisp
index 21280339b..b17a83bde 100644
--- a/compiler/ppc/insts.lisp
+++ b/compiler/ppc/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ppc/insts.lisp,v 1.20 2006/11/30 00:44:34 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ppc/insts.lisp,v 1.21 2006/11/30 03:17:19 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -192,11 +192,12 @@ about function addresses and register values.")
 	  ;; 32-bit address or value.  Make a note about this usage as
 	  ;; a Lisp assembly routine or a foreign routine.  If note,
 	  ;; just note the final value.
-	  (let ((addr (+ d (ldb (byte 32 0) (ash (cdr addis) 16)))))
+	  (let* ((value (+ d (ash (cdr addis) 16)))
+		 (addr (ldb (byte 32 0) value)))
 	    (or (disassem::note-code-constant-absolute addr dstate)
 		(disassem::maybe-note-assembler-routine addr t dstate)
 		(disassem::note (format nil "~A = #x~8,'0X"
-					(get-reg-name rt) addr)
+					(get-reg-name rt) value)
 				dstate)))
 	  ;; We're done with this ADDIS/ADDI instruction combination.
 	  ;; Remove ADDIS.
-- 
GitLab