-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Labels
Description
| Bugzilla Link | 8969 |
| Resolution | FIXED |
| Resolved on | Jan 23, 2011 15:38 |
| Version | trunk |
| OS | Linux |
| Attachments | testcase |
| Reporter | LLVM Bugzilla Contributor |
| CC | @asl,@echristo,@sunfishcode |
Extended Description
On 32-bit Linux, the stack is supposed to be 16-byte aligned. LLVM doesn't actually do that by default.
The attached .bc file demonstrates:
nlewycky@ducttape:~$ llvm/Debug+Asserts/bin/llc -O0 pp.bc -o -
.file "pp.bc"
.text
.hidden prologProcessor
.globl prologProcessor
.align 16, 0x90
.type prologProcessor,@function
prologProcessor: # @prologProcessor
BB#0:
pushl %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $68, %esp
which is 8-byte aligned, not 16-byte aligned. This isn't ABI compliant.