[PATCH] D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed

David Kreitzer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 17 14:32:03 PST 2017


DavidKreitzer added a comment.

Amjad pointed out to me that the incoming alignment to an interrupt handler is only guaranteed to be 0 mod 8, not 8 mod 16 as is the case with the normal x86-64 ABI. HJ mentions this in 26477 <https://bugs.llvm.org//show_bug.cgi?id=26477>.

So this fix is insufficient. We need to dynamically realign the stack as in HJ's 32-bit example.

Also, I added notes to 26413 <https://bugs.llvm.org//show_bug.cgi?id=26413> explaining the issues with attempting to save & restore XMM/YMM/ZMM register state in an interrupt handler.


https://reviews.llvm.org/D30049





More information about the llvm-commits mailing list