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