[Bug target/79793] New: Incorrect stack alignment for interrupt handler in 64-bit
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Mar 1 21:28:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79793
Bug ID: 79793
Summary: Incorrect stack alignment for interrupt handler in
64-bit
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: julia.koval at intel dot com
Target Milestone: ---
Target: x86-64
Section I6.14.2 64-Bit Mode Stack Frame in Intel SDM Vol 3 has
In IA-32e mode, the RSP is aligned to a 16-byte boundary before pushing the
stack
frame. The stack frame itself is aligned on a 16-byte boundary when the
interrupt
handler is called.
static unsigned int
ix86_minimum_incoming_stack_boundary (bool sibcall)
{
unsigned int incoming_stack_boundary;
/* Stack of interrupt handler is always aligned to MIN_STACK_BOUNDARY.
*/
if (cfun->machine->func_type != TYPE_NORMAL)
incoming_stack_boundary = MIN_STACK_BOUNDARY;
is incorrect for 64-bit mode.
More information about the Gcc-bugs
mailing list