[LLVMdev] LLVM: to catch 'unwind' instruction from calling C++ code
Duncan Sands
baldrick at free.fr
Mon Nov 7 03:28:57 PST 2011
Hi Semion,
> oops... so how can unwind stack up to invoke call? Is there an alternative to
> establish a custom exception handling?
you can call a library routine, for example __cxa_throw (the C++ throw routine)
or the libgcc library routine _Unwind_RaiseException (which is what __cxa_throw
calls after setting up a C++ specific exception).
Ciao, Duncan.
>
> 2011/11/7 Duncan Sands <baldrick at free.fr <mailto:baldrick at free.fr>>
>
> Hi Semion, the unwind instruction has been removed from LLVM. Also, the JIT
> and code generators never supported it: it never unwound the stack, it just
> resulted in a nasty crash.
>
> Ciao, Duncan.
>
> > I have a little problem using LLVM and will be happy to get a
> solution. I need
> > to handle in C++ code an uncaught unwind instruction while calling
> JIT (now I
> > get segfault). I mean something like nonexistent
> ExecutionEngine::invokeFunction
> > instead of callFunction. Setting llvm::JITExceptionHandling to true
> > and enclosing the JIT-call within try/catch block does not help here,
> because
> > there is no C++ style exception thrown, but a simple unwind
> instruction. Thanks
> > in advance.
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
More information about the llvm-dev
mailing list