[LLVMbugs] [Bug 11019] New: ARM stack corruption due to byval parameter
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Sep 26 19:26:48 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=11019
Summary: ARM stack corruption due to byval parameter
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: pdox at google.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=7354)
--> (http://llvm.org/bugs/attachment.cgi?id=7354)
callsite_stack.ll
The attached example demonstrates how the presence of a byval argument at a
callsite can corrupt the caller's stack. The return value of main will be 0
instead of the correct value of 100.
This bug is caused by a disagreement between CCInfo and the ByVal handling code
about how large the call frame is going to be.
CCInfo.getNextStackOffset() is returning 4, thus 4 bytes are reserved on the
stack for the call sequence. However, the actual byval expansion writes 8 bytes
above SP.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list