[LLVMbugs] [Bug 20953] New: MCJIT EH fails when more than one instance used during program

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Sep 15 15:41:44 PDT 2014


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

            Bug ID: 20953
           Summary: MCJIT EH fails when more than one instance used during
                    program
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: MC
          Assignee: unassignedbugs at nondot.org
          Reporter: wolfeinstein at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

When MCJIT is executed during a program, if MCJIT is executed again, the EH
fails. This is targetting i686-pc-windows-itanium-elf, linking in dynamically
libstdc++ 4.6.3 with mingw-w64-dw2. I'm running Windows 7 x64, but the host is
x86 MSVC 2013 ABI and not Itanium.

Specifically, in my current frontend, the JIT is used to evaluate certain
constructs during compilation time, in the sample case a simple function
returning a constant integer, and then invoked again later to run the resulting
program. The resulting program doesn't appear to have correct EH mechanisms-
when __cxa_throw is invoked, the process terminates as if there were no
handlers, even if a catch-all landingpad is used. 

If a fast-path for a constant integer is included that avoids invoking MCJIT,
the resulting program executes correctly. I've verified that the IR generated
for the fast path and the MCJIT path is identical.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140915/f9c1cffc/attachment.html>


More information about the llvm-bugs mailing list