One year ago the compiler (gigi) was changed to align the RETURN structure generated for the Copy-In Copy-Out mechanism: http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00256.html This helps to generate better code, especially on 64-bit platforms. But this is not sufficient in some cases, i.e. when there are integer and fixed-point types involved. The attached patch improves the layout of the type. Tested on i586-suse-linux, applied on the mainline. 2011-04-08 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Set minimum alignment on fields of the RETURN type built for the Copy-In Copy-Out mechanism. -- Eric Botcazou