Patchwork [RFA,wwwdocs] Re: [PATCH v2] Target-specific limits on vector alignment

login
register
mail settings
Submitter Ulrich Weigand
Date Aug. 10, 2012, 1:44 p.m.
Message ID <201208101344.q7ADi0je009507@d06av02.portsmouth.uk.ibm.com>
Download mbox | patch
Permalink /patch/176499/
State New
Headers show

Comments

Ulrich Weigand - Aug. 10, 2012, 1:44 p.m.
Ramana Radhakrishnan wrote:

>  In addition I'd like this documented in changes.html for each of the
> release branches.

Richard Earnshaw wrote:

> However, it does need to be release-noted.

Would the following htdocs patch be OK with you?   Feel free to suggest
a more appropriate wording  ...

Bye,
Ulrich
Richard Earnshaw - Aug. 10, 2012, 2:57 p.m.
On 10/08/12 14:44, Ulrich Weigand wrote:
> Ramana Radhakrishnan wrote:
> 
>>  In addition I'd like this documented in changes.html for each of the
>> release branches.
> 
> Richard Earnshaw wrote:
> 
>> However, it does need to be release-noted.
> 
> Would the following htdocs patch be OK with you?   Feel free to suggest
> a more appropriate wording  ...
> 

I think we need to make it clear that this also fixes a bug in the
compiler that could lead to a run-time error.  Otherwise, people will be
asking why an abi-breaking change was made mid-cycle.

R.

> Bye,
> Ulrich
> 
> Index: gcc-4.6/changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/changes.html,v
> retrieving revision 1.141
> diff -u -p -r1.141 changes.html
> --- gcc-4.6/changes.html	12 Jun 2012 10:43:41 -0000	1.141
> +++ gcc-4.6/changes.html	10 Aug 2012 13:40:57 -0000
> @@ -68,6 +68,12 @@
>      default by <code>-Wall</code> flag and <code>-Wunused-but-set-parameter</code>
>      by <code>-Wall -Wextra</code> flags.</li>
>  
> +    <li>In GCC version 4.6.4 the default alignment of vector types on ARM EABI
> +    targets has been changed to 8 bytes (for types larger than 8 bytes in size),
> +    to comply with the AAPCS.  This is an ABI change that affects e.g. layout of
> +    structures having a member of vector type.  Code using such types may be
> +    incompatible with binary objects built with older versions of GCC.</li>
> +
>      <li><p>Support for a number of older systems and recently
>      unmaintained or untested target ports of GCC has been declared
>      obsolete in GCC 4.6.  Unless there is activity to revive them, the
> Index: gcc-4.7/changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v
> retrieving revision 1.123
> diff -u -p -r1.123 changes.html
> --- gcc-4.7/changes.html	23 Jul 2012 05:58:05 -0000	1.123
> +++ gcc-4.7/changes.html	10 Aug 2012 13:40:57 -0000
> @@ -121,6 +121,12 @@
>      different GCC versions and with C++98/C++03 code compiled with any version.
>      </li>
>  
> +    <li>In GCC version 4.7.2 the default alignment of vector types on ARM EABI
> +    targets has been changed to 8 bytes (for types larger than 8 bytes in size),
> +    to comply with the AAPCS.  This is an ABI change that affects e.g. layout of
> +    structures having a member of vector type.  Code using such types may be
> +    incompatible with binary objects built with older versions of GCC.</li>
> +
>      <li>More information on porting to GCC 4.7 from previous versions
>      of GCC can be found in
>      the <a href="http://gcc.gnu.org/gcc-4.7/porting_to.html">porting
> Index: gcc-4.8/changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
> retrieving revision 1.9
> diff -u -p -r1.9 changes.html
> --- gcc-4.8/changes.html	31 Jul 2012 12:13:01 -0000	1.9
> +++ gcc-4.8/changes.html	10 Aug 2012 13:40:57 -0000
> @@ -24,6 +24,12 @@ more information about requirements to b
>  <p>The G++ namespace association extension, <code>__attribute ((strong))</code>,
>  has been deprecated. Inline namespaces should be used instead.</p>
>  
> +<p>The default alignment of vector types on ARM EABI targets has been changed
> +to 8 bytes (for types larger than 8 bytes in size), to comply with the AAPCS.
> +This is an ABI change that affects e.g. layout of structures having a member
> +of vector type.  Code using such types may be incompatible with binary objects
> +built with older versions of GCC.</p>
> +
>  <h2>General Optimizer Improvements</h2>
>  
>    <ul>
> 
>

Patch

Index: gcc-4.6/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/changes.html,v
retrieving revision 1.141
diff -u -p -r1.141 changes.html
--- gcc-4.6/changes.html	12 Jun 2012 10:43:41 -0000	1.141
+++ gcc-4.6/changes.html	10 Aug 2012 13:40:57 -0000
@@ -68,6 +68,12 @@ 
     default by <code>-Wall</code> flag and <code>-Wunused-but-set-parameter</code>
     by <code>-Wall -Wextra</code> flags.</li>
 
+    <li>In GCC version 4.6.4 the default alignment of vector types on ARM EABI
+    targets has been changed to 8 bytes (for types larger than 8 bytes in size),
+    to comply with the AAPCS.  This is an ABI change that affects e.g. layout of
+    structures having a member of vector type.  Code using such types may be
+    incompatible with binary objects built with older versions of GCC.</li>
+
     <li><p>Support for a number of older systems and recently
     unmaintained or untested target ports of GCC has been declared
     obsolete in GCC 4.6.  Unless there is activity to revive them, the
Index: gcc-4.7/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v
retrieving revision 1.123
diff -u -p -r1.123 changes.html
--- gcc-4.7/changes.html	23 Jul 2012 05:58:05 -0000	1.123
+++ gcc-4.7/changes.html	10 Aug 2012 13:40:57 -0000
@@ -121,6 +121,12 @@ 
     different GCC versions and with C++98/C++03 code compiled with any version.
     </li>
 
+    <li>In GCC version 4.7.2 the default alignment of vector types on ARM EABI
+    targets has been changed to 8 bytes (for types larger than 8 bytes in size),
+    to comply with the AAPCS.  This is an ABI change that affects e.g. layout of
+    structures having a member of vector type.  Code using such types may be
+    incompatible with binary objects built with older versions of GCC.</li>
+
     <li>More information on porting to GCC 4.7 from previous versions
     of GCC can be found in
     the <a href="http://gcc.gnu.org/gcc-4.7/porting_to.html">porting
Index: gcc-4.8/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.9
diff -u -p -r1.9 changes.html
--- gcc-4.8/changes.html	31 Jul 2012 12:13:01 -0000	1.9
+++ gcc-4.8/changes.html	10 Aug 2012 13:40:57 -0000
@@ -24,6 +24,12 @@  more information about requirements to b
 <p>The G++ namespace association extension, <code>__attribute ((strong))</code>,
 has been deprecated. Inline namespaces should be used instead.</p>
 
+<p>The default alignment of vector types on ARM EABI targets has been changed
+to 8 bytes (for types larger than 8 bytes in size), to comply with the AAPCS.
+This is an ABI change that affects e.g. layout of structures having a member
+of vector type.  Code using such types may be incompatible with binary objects
+built with older versions of GCC.</p>
+
 <h2>General Optimizer Improvements</h2>
 
   <ul>