I've read the parts "6 The Base Procedure Call Standard"
and "7 The Standard Variants"
of Procedure Call Standard for the Arm® Architecture aapcs32 - Github
The Base Procedure Call Standard specifies that r0-r3
in processor can be used to pass parameters. And the Standard Variants introduced in part 7 specifies s0-s15
in VFP-v2 co-processor can be used to do so.
However, I cannot find aapcs specifying the reflection between arguments list in C and parameters passing registers. What else, the sequence for stacking arguments is unspecified.
So how can I know the implementation defined behaviour by arm-linux-gnueabihf-gcc
?