This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000, 4.8/4.9] Fix alignment of non-Altivec vector struct fields
- From: pinskia at gmail dot com
- To: Alan Modra <amodra at gmail dot com>
- Cc: Matthias Klose <doko at ubuntu dot com>, Ulrich Weigand <uweigand at de dot ibm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "dje dot gcc at gmail dot com" <dje dot gcc at gmail dot com>
- Date: Sun, 27 Jul 2014 04:59:33 -0700
- Subject: Re: [PATCH, rs6000, 4.8/4.9] Fix alignment of non-Altivec vector struct fields
- Authentication-results: sourceware.org; auth=none
- References: <201407170041 dot s6H0fe1G024910 at d06av02 dot portsmouth dot uk dot ibm dot com> <53D394C8 dot 4000803 at ubuntu dot com> <20140727094607 dot GF15767 at bubble dot grove dot modra dot org> <20140727115329 dot GG15767 at bubble dot grove dot modra dot org>
> On Jul 27, 2014, at 4:53 AM, Alan Modra <amodra@gmail.com> wrote:
>
>> On Sun, Jul 27, 2014 at 07:16:07PM +0930, Alan Modra wrote:
>>> On Sat, Jul 26, 2014 at 01:45:12PM +0200, Matthias Klose wrote:
>>> Am 17.07.2014 02:41, schrieb Ulrich Weigand:
>>>> Hello,
>>>>
>>>> this is the variant intended for the 4.8/4.9 branches of the patch:
>>>> https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01072.html
>>>>
>>>> As discussed, it does *not* actually change ABI, but only warn when
>>>> encountering a situation where the ABI will change in a future GCC.
>>>> (Avoiding the specific term "GCC 4.10" here since I'm not certain
>>>> whether the next GCC release will in fact be called that ...)
>>>>
>>>> Tested on powerpc64-linux and powerpc64le-linux; also verified using
>>>> the ABI compat suite (against an unpatched GCC) that this patch does
>>>> not change the ABI.
>>>
>>> this causes PR libobjc/61920, link failures with -lobjc.
>>
>> Try this.
>>
>> Index: libobjc/encoding.c
>> ===================================================================
>> --- libobjc/encoding.c (revision 213090)
>> +++ libobjc/encoding.c (working copy)
>> @@ -192,6 +192,7 @@
>> ? MAX (MAX (COMPUTED, SPECIFIED), 64) \
>> : MAX (COMPUTED, SPECIFIED));})
>>
>> +#define rs6000_special_adjust_field_align_p false
>>
>> /* Skip a variable name, enclosed in quotes ("). */
>> static inline
>
> Blah, that won't work of course. The macro needs to take two
> parameters.
>
> #define rs6000_special_adjust_field_align_p(FIELD, COMPUTED) false
This is pre-approved if it works. I really should finish off the branch I started years ago :).
Thanks,
Andrew
>
> --
> Alan Modra
> Australia Development Lab, IBM