Changeset 6390


Ignore:
Timestamp:
May 1, 2007, 11:27:15 AM (14 years ago)
Author:
gb
Message:

Mis-align some fields in the darwin ppc64 thread state structure, just
like Apple does. Can I blame them for getting this wrong, please ?

Use the right argument names in ppc64 cmain callback; can't blame Apple.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/ppc-trap-support.lisp

    r6283 r6390  
    7878                   (:pad1 (:array (:unsigned 32) 4))))
    7979      (def-foreign-type nil
     80          ;; The real record type is defined with
     81          ;; #pragma pack(4) in effect.
     82          ;; The :struct parser should really accept
     83          ;; some option to deal with that, but Apple
     84          ;; should also stop mis-aligning things.
    8085          (:struct :darwin-ppc-thread-state64
    8186                   (:srr0 (:unsigned 64))
     
    114119                   (:r31  (:unsigned 64))
    115120                   (:cr   (:unsigned 32))
    116                    (:xer  (:unsigned 64))
    117                    (:lr   (:unsigned 64))
    118                    (:ctr  (:unsigned 64))
     121                   (:xer  (:unsigned 32))
     122                   (:xer-low (:unsigned 32))
     123                   (:lr   (:unsigned 32))
     124                   (:lr-low (:unsigned 32))
     125                   (:ctr  (:unsigned 32))
     126                   (:ctr-low (:unsigned 32))
    119127                   (:vrsave (:unsigned 32))))
    120128      (def-foreign-type nil
     
    743751              ((= the-trap #$SIGBUS)
    744752               (%error (make-condition 'invalid-memory-access
    745                                        :address arg-0
    746                                        :write-p (not (zerop arg-1)))
     753                                       :address arg0
     754                                       :write-p (not (zerop arg1)))
    747755                       ()
    748756                       frame-ptr))
Note: See TracChangeset for help on using the changeset viewer.