Skip to content

Commit

Permalink
1.0.25.43: alpha interrupt context fixes
Browse files Browse the repository at this point in the history
- interrupt contexts pointers are 64 bit

- add padding to DEFINE-PRIMITIVE-OBJECT THREAD, because the C
  compiler aligns interrupt_contexts on a double word boundary
  • Loading branch information
Gabor Melis committed Feb 16, 2009
1 parent 0d4c7a1 commit 816c50a
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 2 deletions.
1 change: 1 addition & 0 deletions NEWS
Expand Up @@ -18,6 +18,7 @@ changes in sbcl-1.0.26 relative to 1.0.25:
* bug fix: INTERRUPT-THREAD on a dying thread could produce memory
fault.
* bug fix: finalizers, gc hooks never run in a WITHOUT-INTERRUPTS
* bug fix: fix random memory faults related to interrupts on alpha
* bug fix: fix deadlocks related to starting threads

changes in sbcl-1.0.25 relative to 1.0.24:
Expand Down
4 changes: 3 additions & 1 deletion src/code/debug-int.lisp
Expand Up @@ -881,7 +881,9 @@
(declare (type (unsigned-byte 32) n)
(optimize (speed 3) (safety 0)))
(sb!alien:sap-alien (sb!vm::current-thread-offset-sap
(+ sb!vm::thread-interrupt-contexts-offset n))
(+ sb!vm::thread-interrupt-contexts-offset
#!-alpha n
#!+alpha (* 2 n)))
(* os-context-t)))

#!+(or x86 x86-64)
Expand Down
6 changes: 6 additions & 0 deletions src/compiler/generic/objdef.lisp
Expand Up @@ -403,4 +403,10 @@
(interrupt-data :c-type "struct interrupt_data *"
:length #!+alpha 2 #!-alpha 1)
(stepping)
;; KLUDGE: On alpha, until STEPPING we have been lucky and the 32
;; bit slots came in pairs. However the C compiler will align
;; interrupt_contexts on a double word boundary. This logic should
;; be handled by DEFINE-PRIMITIVE-OBJECT.
#!+alpha
(padding)
(interrupt-contexts :c-type "os_context_t *" :rest-p t))
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".)
"1.0.25.42"
"1.0.25.43"

0 comments on commit 816c50a

Please sign in to comment.