Help with an ABI peculiarity

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Tue Jan 11 11:57:32 GMT 2022



On 10/01/2022 08:38, Florian Weimer via Gcc wrote:
> * Jeff Law via Gcc:
> 
>> Most targets these days use registers for parameter passing and
>> obviously we can run out of registers on all of them.  The key
>> property is the size/alignment of the argument differs depending on if
>> it's pass in a register (get promoted) or passed in memory (not
>> promoted).  I'm not immediately aware of another ABI with that
>> feature.  Though I haven't really gone looking.
> 
> I think what AArch64 Darwin does is not compatible with a GCC extension
> that allows calling functions defined with a prototype without it (for
> pre-ISO-C compatibility).  Given that, anyone defining an ABI in
> parallel with a GCC implementation probably has paused, reconsidered
> what they were doing, and adjusted the ABI for K&R compatibility.
> 
> Thanks,
> Florian
> 

Not having a prototype was deprecated in C89.  One would hope that after 
33 years we could move on from that.

R.


More information about the Gcc mailing list