anchor.diff:      (:unsigned-short (%get-unsigned-word ptr offset))
       (:int (%get-signed-long ptr offset))
       (:unsigned-int (%get-unsigned-long ptr offset))
  -    (:long (%get-signed-long ptr offset))
  -    (:unsigned-long (%get-unsigned-long ptr offset))
  +    (:long #+ppc32-target (%get-signed-long ptr offset)
  +           #+ppc64-target (ccl::%%get-signed-longlong ptr offset))
  +    (:unsigned-long #+ppc32-target (%get-unsigned-long ptr offset)
  +                    #+ppc64-target (ccl::%%get-unsigned-longlong ptr offset))
       (:float (%get-single-float ptr offset))
       (:double (%get-double-float ptr offset))
       (:pointer (%get-ptr ptr offset))))
  
positive.code:   (let ((natural-alignment (/ (ccl::foreign-type-alignment
                                 (ccl::parse-foreign-type
                                  (convert-foreign-type type-keyword))) 8)))
      (min 4 natural-alignment)))
  
  (defun convert-foreign-funcall-types (args)
    "Convert foreign types for a call to FOREIGN-FUNCALL."
  
negative.code:           (:unsigned-short `(%get-unsigned-word ,ptr ,offset))
            (:int `(%get-signed-long ,ptr ,offset))
            (:unsigned-int `(%get-unsigned-long ,ptr ,offset))
            (:long
             #+ppc32-target `(%get-signed-long ,ptr ,offset)
             #+ppc64-target `(ccl::%%get-signed-longlong  ,ptr ,offset))
            (:unsigned-long
             #+ppc32-target `(%get-unsigned-long ,ptr ,offset)
             #+ppc64-target `(ccl::%%get-unsigned-longlong ,ptr ,offset))
            (:float `(%get-single-float ,ptr ,offset))
            (:double `(%get-double-float ,ptr ,offset))
            (:pointer `(%get-ptr ,ptr ,offset))))
  