ARM-software / abi-aa

Application Binary Interface for the Arm® Architecture
Other
938 stars 188 forks source link

[Morello] Change the PCS to pass memory arguments through C9 instead of passing them on the stack #205

Open sbaranga-arm opened 1 year ago

sbaranga-arm commented 1 year ago

In practice for non-compartment calls the arguments are still passed on the stack, although now there is no explicit requirement for this.

Variadic arguments are still passed through C9 in the same way, at the first 16-byte aligned location after the last non-variadic argument.

This is done is such a way that reading more variadic arguments than were passed is guaranteed to cause an out-of-bounds fault.

Implements https://github.com/ARM-software/abi-aa/issues/158.