[LLVMdev] setjmp, longjmp and unwind
Chris Lattner
sabre at nondot.org
Wed Apr 20 12:08:51 PDT 2005
On Wed, 20 Apr 2005, Greg Pettyjohn wrote:
> I'm trying to get unwind to work.
>
> I was unable to get an unwind example to work directly,
> so I decided to compile a c program that uses setjmp
> and longjmp and work backwards.
>
> I keep running into a "Abort trap" problem, whatever "Abort trap" is.
>
> Anyway, here's an example of a C program that compiles
> and works properly under normal gcc, but that fails with
> an "Abort trap" under LLVM:
>
> #include <setjmp.h>
>
> long (*g_pfunc) ();
> jmp_buf g_jbuf;
>
> long foo() {
> printf("Hello World!\n");
> longjmp(g_jbuf, 0);
> return 0;
> }
>
> main () {
> g_pfunc = foo;
>
> setjmp(g_jbuf);
> g_pfunc();
> }
>
> I'm using Mac OS X version 10.3.8
> I just installed and build LLVM yesterday from CVS.
How are you compiling and running this program?
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
More information about the llvm-dev
mailing list