This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rs6000] Fix aggregate alignment ABI issue


On Jul 9, 2014, at 11:29 AM, Eric Christopher <echristo@gmail.com> wrote:
>>> - The change only affects rare cases: passing a struct by value that is
>>>   * not a float/vector special case, and
>>>   * has a size of 1, 2, 4, 8, or 16 bytes, and
>>>   * has an alignment requirement of 16 bytes or more

>> I copied the Darwin maintainers and active testers so that they are
>> explicitly aware of the ABI issue. They can decide if they want to fix
>> the ABI alignment issue on Darwin.

> Thanks David, In general I'd personally prefer to fix the ABI issues,
> but PPC darwin is beyond EoL by the original company and I don't have
> any hardware for it myself - in which case I'll leave it up to our
> more active testers or someone with hardware. (Mike? Have old ppc
> hardware sitting around?)

Well, I think from a safety perspective I think it is ok, as the system header files and most libraries I would expect not to align to 16 bytes or more.  The problem with this line of thinking, it only takes 1 structure, in one place that is used often (stat, X11) to completely kill things.  Normally I would do a world build with the change in it, and a fink build with it in it, and if no changes occur, the change is reasonably safe.  I don’t have the machines/system to do either unfortunately.  I had been testing ppc with emulation, so I can’t do much of that anymore either.

So, I think I will punt to the users that still have G5 darwin, they know who they are…  I’d say, lets leave it as is, and if they think it is a good idea as well (that would make it 3 of 3) and can do a test suite run at least with the change, then I’d approve it.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]