[LLVMbugs] [Bug 3512] New: segfault with dynamic alloca+call combination

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Feb 7 19:12:25 PST 2009


           Summary: segfault with dynamic alloca+call combination
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: regression
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: tomas.l.olsen at gmail.com
                CC: llvmbugs at cs.uiuc.edu

To reproduce:

$ llc bar.bc

on a x86-32 linux machine with llvm release_25 branch rev 63833


The the attached bitcode is from a simple reduced testcase written in D:

private import tango.stdc.stdlib : alloca;
ubyte[] binaryDigest(ubyte[] buffer) { return null; }
void hexDigest (char[] buffer, uint ds) {
        ubyte[] buf = (cast(ubyte *) alloca(ds))[0..ds];
        ubyte[] ret = binaryDigest(buf);

the attached bitcode was generated by LDC.

This code works with LLVM 2.4, but with LLVM 2.5 it segfaults inside LLVM


Program received signal SIGSEGV, Segmentation fault.


#0  llvm::X86RegisterInfo::eliminateCallFramePseudoInstr (this=0xa617f58,
MF=@0xa656000, MBB=@0xa6570f0, I=
      {<bidirectional_iterator<llvm::MachineInstr, int>> =
{<std::iterator<std::bidirectional_iterator_tag, llvm::MachineInstr, int,
llvm::MachineInstr*, llvm::MachineInstr&>> = {<No data fields>}, <No data
fields>}, NodePtr = 0xa6574f8}) at
#1  0x08564b97 in calculateCalleeSavedRegisters (this=0xa64db60, Fn=@0xa656000)
at PrologEpilogInserter.cpp:173
#2  0x0856636e in runOnMachineFunction (this=0xa64db60, Fn=@0xa656000) at
#3  0x08864a51 in llvm::FPPassManager::runOnFunction (this=0xa63f0e0,
F=@0xa621ed8) at PassManager.cpp:1323
#4  0x08864e27 in llvm::FunctionPassManagerImpl::run (this=0xa63e8b8,
F=@0xa621ed8) at PassManager.cpp:1281
#5  0x08864fd5 in llvm::FunctionPassManager::run (this=0xbfc194a0,
F=@0xa621ed8) at PassManager.cpp:1226
#6  0x081fa409 in write_asm_to_file (Target=@0xa617e58, m=@0xa616e48,
    at /home/tomas/ldc/gen/toobj.cpp:312

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