You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We learned in debugging for #28, that without extern "C", Rust does not abide the aarch32 calling convention but instead, puts the parameters on the stack and a pointer to them in r0. With that in mind, consider one of the subtleties of aarch64's calling convention: If a "composite type" is greater or equal to 16 bytes (2 words) in size, then it shall go into the stack and a pointer to it into x0, otherwise, it can go into x0 and x1. Without extern "C", does Rust follow these rules? Or does it always do the pointer-into-the-stack method?
The text was updated successfully, but these errors were encountered:
We learned in debugging for #28, that without
extern "C"
, Rust does not abide the aarch32 calling convention but instead, puts the parameters on the stack and a pointer to them inr0
. With that in mind, consider one of the subtleties of aarch64's calling convention: If a "composite type" is greater or equal to 16 bytes (2 words) in size, then it shall go into the stack and a pointer to it intox0
, otherwise, it can go intox0
andx1
. Withoutextern "C"
, does Rust follow these rules? Or does it always do the pointer-into-the-stack method?The text was updated successfully, but these errors were encountered: