-
- Downloads
Fix calling convention incompatibility with vendor compiler
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. gcc/ 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. gcc/testsuite/ * gcc.target/sparc/small-struct-1.c: New test. * gcc.target/sparc/pr105573.c: Rename to... * gcc.target/sparc/20230425-1.c: ...this. * gcc.target/sparc/pr109541.c: Rename to... * gcc.target/sparc/20230607-1.c: ...this
Showing
- gcc/config/sparc/sol2.h 3 additions, 0 deletionsgcc/config/sparc/sol2.h
- gcc/config/sparc/sparc.cc 24 additions, 2 deletionsgcc/config/sparc/sparc.cc
- gcc/config/sparc/sparc.h 3 additions, 0 deletionsgcc/config/sparc/sparc.h
- gcc/testsuite/gcc.target/sparc/20230425-1.c 3 additions, 0 deletionsgcc/testsuite/gcc.target/sparc/20230425-1.c
- gcc/testsuite/gcc.target/sparc/20230607-1.c 3 additions, 0 deletionsgcc/testsuite/gcc.target/sparc/20230607-1.c
- gcc/testsuite/gcc.target/sparc/small-struct-1.c 46 additions, 0 deletionsgcc/testsuite/gcc.target/sparc/small-struct-1.c
Loading
Please register or sign in to comment