Dibyendu Majumdar
2015-Jul-23 00:53 UTC
[LLVMdev] longjmp and JIT compiled code on Windows
Hi In my project I am still getting crashes on Windows - these seem to occur intermittently when there is a longjmp that crosses the boundary from C code over JITed code. I posted regarding this issue previously: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-April/084919.html I was wondering if the support for stack unwinding on Win64 is now improved in LLVM - and if there are any particular guidelines I need to follow. Thanks and Regards Dibyendu
There's two parts to make this work, and we only have one. The first part is being able to emit the Win64 call-frame information (CFI) at all. Normally this is described by .pdata and .xdata sections in your object file. Today, this all works for ahead-of-time compilations, but not JIT compilations. The second part is, in a JIT context, registering that unwind information with the operating system (Windows). This would mean calling RtlInstallFunctionTableCallback, but MCJIT doesn't have any references to that symbol today. So we are stuck in the same place. I filed a PR for this, feel free to add yourself to it: https://llvm.org/bugs/show_bug.cgi?id=24233 On Wed, Jul 22, 2015 at 5:53 PM, Dibyendu Majumdar <mobile at majumdar.org.uk> wrote:> Hi > > In my project I am still getting crashes on Windows - these seem to > occur intermittently when there is a longjmp that crosses the boundary > from C code over JITed code. I posted regarding this issue previously: > > http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-April/084919.html > > I was wondering if the support for stack unwinding on Win64 is now > improved in LLVM - and if there are any particular guidelines I need > to follow. > > Thanks and Regards > Dibyendu > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150723/5c23a150/attachment.html>
Maybe Matching Threads
- [LLVMdev] MCJIT longjmp failure on Win64 - was Invalid or unaligned stack exception on Windows
- [LLVMdev] Invalid or unaligned stack exception on Windows
- Can JIT be targeted to 32-bit in a 64-bit Wndows environment?
- Can JIT be targeted to 32-bit in a 64-bit Wndows environment?
- [LLVMdev] Invalid or unaligned stack