[LLVMbugs] [Bug 4497] New: dwarf exception information broken with -disable-fp-elim

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jul 2 08:50:22 PDT 2009


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

           Summary: dwarf exception information broken with -disable-fp-elim
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: miscompilation, regression
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: kamm-removethis at incasoftware.de
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=3145)
 --> (http://llvm.org/bugs/attachment.cgi?id=3145)
bytecode and assembly files

LLVM change 73465 broke exception handling with debug info for LDC
(http://www.dsource.org/projects/ldc/ticket/333). 

We disable frame pointer elimination in debug builds and since the given
revision that makes _Unwind_RaiseException segfault at runtime. (I've tried
debugging the function and it seems the exception function argument is
overwritten with 0 while evaluating the cfa information.)

The D code is 
void main() { try { throw new Object; } catch(Object e) {} }
and I've attached (simplified) bytecode as well as working and broken assembly
files. The diff of the assembly files is very small and seems to contain mostly
the reordering of EH and stack adjustment information.

Unfortunately, you can't link and test these without a copy of the D exception
runtime (which I can provide, if desired). I hope the same bug can be found by
compiling equivalent C++ code with llvm-g++ and no frame pointer elimination.


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