For the 20th anniversary of https://gcc.gnu.org/gcc-3.4/sparc-abi.html, a new calling convention incompatibility with the vendor compiler (and the ABI) has been discovered in 64-bit mode, affecting small structures containing arrays of floating-point components. The decision has been made to fix it on Solaris only at this point. Bootstrapped/regtested on SPARC/Solaris 11.4 and SPARC64/Linux by Rainer (many thanks again) and applied on the mainline. 2024-04-25 Eric Botcazou PR target/114416 * config/sparc/sparc.h (SUN_V9_ABI_COMPATIBILITY): New macro. * config/sparc/sol2.h (SUN_V9_ABI_COMPATIBILITY): Redefine it. * config/sparc/sparc.cc (fp_type_for_abi): New predicate. (traverse_record_type): Use it to spot floating-point types. (compute_fp_layout): Also deal with array types. 2024-04-25 Eric Botcazou * gcc.target/sparc/small-struct-1.c: New test. -- Eric Botcazou