[LLVMbugs] [Bug 8969] New: linux x86-32 stack not kept 16-byte aligned

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jan 12 18:43:45 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=8969

           Summary: linux x86-32 stack not kept 16-byte aligned
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nlewycky at google.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=6003)
 --> (http://llvm.org/bugs/attachment.cgi?id=6003)
testcase

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 at ducttape:~$ llvm/Debug+Asserts/bin/llc -O0 pp.bc -o -
          .file   "pp.bc"
          .text
          .hidden prologProcessor
          .globl  prologProcessor
          .align  16, 0x90
          .type   prologProcessor, at 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.

-- 
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