anchor.diff:    (let ((natural-alignment (/ (ccl::foreign-type-alignment
                                  (ccl::parse-foreign-type
                                   (convert-foreign-type type-keyword))) 8)))
  -    (min 4 natural-alignment)))
  +    #+(and darwinppc-target ppc32-target)
  +    (min 4 natural-alignment)
  +    ;; PPC64 Darwin uses "natural" alignment, as do 32/64-bit LinuxPPC.
  +    #-(and darwinppc-target ppc32-target)
  +    natural-alignment))
   
   (defun convert-foreign-funcall-types (args)
     "Convert foreign types for a call to FOREIGN-FUNCALL."
  
positive.code:     (: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))
      (:float (%get-single-float ptr offset))
      (:double (%get-double-float ptr offset))
      (:pointer (%get-ptr ptr offset))))
  
negative.code:   #-darwinppc-target name)
  
  (defmacro %foreign-funcall (function-name &rest args)
    "Perform a foreign function call, document it more later."
    `(external-call
      ,(convert-external-name function-name)
      ,@(convert-foreign-funcall-types args)))
  