> 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.
Documented by the attached patch, validated with W3C's Validator and applied.
--
Eric Botcazou
diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
index f0f0efe0..83b1016c 100644
--- a/htdocs/gcc-14/changes.html
+++ b/htdocs/gcc-14/changes.html
@@ -136,7 +136,7 @@ a work-in-progress.</p>
int foo (int n)
{
int res = 0;
- for (int i = 0; i < n; i++)
+ for (int i = 0; i < n; i++)
{
y[i] = x[i] * 2;
res += x[i] + y[i];
@@ -1212,7 +1212,17 @@ __asm (".global __flmap_lock" "\n\t"
<!-- <h3 id="sh">SH</h3> -->
-<!-- <h3 id="sparc">SPARC</h3> -->
+<h3 id="sparc">SPARC</h3>
+
+<ul>
+ <li>
+ The implementation of calling conventions for small structures containing
+ arrays of floating-point components has been changed in 64-bit mode for
+ the Solaris port to match the implementation of the vendor compiler (and
+ the ABI). As a result, the code generated will not be binary compatible
+ with earlier releases in these cases.
+ </li>
+</ul>
<!-- <h3 id="Tile">Tile</h3> -->