Navigation Menu

Skip to content

Commit

Permalink
0.8.2.48:
Browse files Browse the repository at this point in the history
	IRC as a substitute for cvs diff | mail sbcl-devel
	... purportedly fix the return-from-sigint problem on Darwin/PPC,
		from Patrik Nordebo (KingNato)
  • Loading branch information
csrhodes committed Aug 20, 2003
1 parent 0728a00 commit 0db7f91
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 19 deletions.
15 changes: 10 additions & 5 deletions src/compiler/ppc/arith.lisp
@@ -1,10 +1,15 @@
;;;
;;; Converted by William Lott.
;;;

(in-package "SB!VM")
;;;; the VM definition arithmetic VOPs for the PPC

;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
;;;;
;;;; This software is derived from the CMU CL system, which was
;;;; written at Carnegie Mellon University and released into the
;;;; public domain. The software is in the public domain and is
;;;; provided with absolutely no warranty. See the COPYING and CREDITS
;;;; files for more information.

(in-package "SB!VM")

;;;; Unary operations.

Expand Down
35 changes: 23 additions & 12 deletions src/compiler/ppc/c-call.lisp
@@ -1,15 +1,21 @@
;;; routines for call-out to C.
;;;
;;; Written by William Lott.
;;;
;;;; VOPs and other machine-specific support routines for call-out to C

;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
;;;;
;;;; This software is derived from the CMU CL system, which was
;;;; written at Carnegie Mellon University and released into the
;;;; public domain. The software is in the public domain and is
;;;; provided with absolutely no warranty. See the COPYING and CREDITS
;;;; files for more information.

(in-package "SB!VM")

;;; Return the number of bytes needed for the current non-descriptor stack
;;; frame. Non-descriptor stack frames must be multiples of 16 bytes under
;;; the PPC SVr4 ABI (though the EABI may be less restrictive.) Two words
;;; are reserved for the stack backlink and saved LR (see SB!VM::NUMBER-STACK-
;;; DISPLACEMENT.)
;;;
;;; Return the number of bytes needed for the current non-descriptor
;;; stack frame. Non-descriptor stack frames must be multiples of 16
;;; bytes under the PPC SVr4 ABI (though the EABI may be less
;;; restrictive). On linux, two words are reserved for the stack
;;; backlink and saved LR (see SB!VM::NUMBER-STACK-DISPLACEMENT).

(defconstant +stack-alignment-bytes+
;; Duh. PPC Linux (and VxWorks) adhere to the EABI.
Expand Down Expand Up @@ -333,7 +339,11 @@
(:temporary (:scs (unsigned-reg) :to (:result 0)) temp)
(:generator 0
(unless (zerop amount)
(let ((delta (- (logandc2 (+ amount 8 +stack-alignment-bytes+)
;; FIXME: I don't understand why we seem to be adding
;; NUMBER-STACK-DISPLACEMENT twice here. Weird. -- CSR,
;; 2003-08-20
(let ((delta (- (logandc2 (+ amount number-stack-displacement
+stack-alignment-bytes+)
+stack-alignment-bytes+))))
(cond ((>= delta (ash -1 16))
(inst stwu nsp-tn nsp-tn delta))
Expand All @@ -351,7 +361,8 @@
(:policy :fast-safe)
(:generator 0
(unless (zerop amount)
(let ((delta (logandc2 (+ amount 8 +stack-alignment-bytes+)
(let ((delta (logandc2 (+ amount number-stack-displacement
+stack-alignment-bytes+)
+stack-alignment-bytes+)))
(cond ((< delta (ash 1 16))
(inst addi nsp-tn nsp-tn delta))
Expand Down
2 changes: 1 addition & 1 deletion src/compiler/sparc/arith.lisp
@@ -1,4 +1,4 @@
;;;; the VM definition arithmetic VOPs for the Alpha
;;;; the VM definition arithmetic VOPs for the SPARC

;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
Expand Down
2 changes: 1 addition & 1 deletion version.lisp-expr
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8.2.47"
"0.8.2.48"

0 comments on commit 0db7f91

Please sign in to comment.