==== //tools/python/2.6.2/src/base/Modules/_ctypes/libffi/src/sparc/ffi.c#1 - /home/build/clifford/gpdb/tools/python/2.6.2/src/base/Modules/_ctypes/libffi/src/sparc/ffi.c ==== Index: python/2.6.2/src/base/Modules/_ctypes/libffi/src/sparc/ffi.c --- python/2.6.2/src/base/Modules/_ctypes/libffi/src/sparc/ffi.c.~1~ Thu May 21 15:22:55 2009 +++ python/2.6.2/src/base/Modules/_ctypes/libffi/src/sparc/ffi.c Thu May 21 15:22:55 2009 @@ -586,6 +586,11 @@ } else { +#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE + /* SparcV9 long double is 16-byte aligned; skip arg if necessary */ + if (arg_types[i]->type == FFI_TYPE_LONGDOUBLE && (argn & 1)) + argn++; +#endif /* Right-justify. */ argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; End of Patch.