Closed adavis628 closed 4 months ago
Hello,
As Limine follows the System V ABI, the stack is 16-aligned + 8 at entry (as the 8 are, as you said, required to hold the return address for the caller, which in Limine's case is set to 0, as per spec).
Likewise for other architectures.
Currently, the Limine boot protocol doesn't specify the alignment of the stack pointer on entry. On x86_64, the System V ABI requires it to be 16-byte aligned before calling a function. I don't know the required alignments for other architectures, but I'd assume they'd have similar requirements.