Displaying 5 results from an estimated 5 matches for "builtin_setjmp".
Did you mean:
__builtin_setjmp
2013 May 22
1
[LLVMdev] x86 frame pointer and __builtin_setjmp/__builtin_longjmp
Hi,
I'm trying to understand how __builtin_setjmp/longjmp are supposed to interact with the frame pointer on x86_64. In particular, what is the expected behavior when the compiler chooses not to use rsp or rbp to address local variables?
When built with Clang, the following program will segfault, but it is fine when built with GCC. The target i...
2011 Apr 13
4
[LLVMdev] built-in longjmp and setjmp
...ing that you (or anyone else) particularly needs to do them, but is there more to them than clobbering all registers and then lowering to a quick series of instructions which save/restore the current IP, SP, and (maybe?) FP? Something seems very wrong if rewriting a custom refactoring tool to turn builtin_setjmp/longjmp into library calls could possibly be simpler than just adding support for these intrinsics to one or two more targets.
John.
2011 Apr 13
0
[LLVMdev] built-in longjmp and setjmp
...one else) particularly needs to do them, but is
> there more to them than clobbering all registers and then lowering to a
> quick series of instructions which save/restore the current IP, SP, and
> (maybe?) FP? Something seems very wrong if rewriting a custom refactoring
> tool to turn builtin_setjmp/longjmp into library calls could possibly be
> simpler than just adding support for these intrinsics to one or two more
> targets.
>
> John.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/2011...
2011 Apr 12
0
[LLVMdev] built-in longjmp and setjmp
...lling them directly like this is very much not recommended. Using the system library setjmp()/longjmp() functions is preferred.
>
> -Jim
>
> On Apr 12, 2011, at 1:56 PM, Akira Hatanaka wrote:
>
> > Does the X86 backend (or any other backend) correctly implement support for __builtin_setjmp and __builtin_longjmp?
> > I don't get the correct result when I compile and run the following code with clang.
> >
> > # clang foo.c -O3; ./a.out
> >
> > #include <stdio.h>
> > void *buf[20];
> > void __attribute__((noinline))
> > foo (void...
2011 Apr 12
2
[LLVMdev] built-in longjmp and setjmp
...hem directly like this is very much not recommended.
> Using the system library setjmp()/longjmp() functions is preferred.
>
> -Jim
>
> On Apr 12, 2011, at 1:56 PM, Akira Hatanaka wrote:
>
> > Does the X86 backend (or any other backend) correctly implement support
> for __builtin_setjmp and __builtin_longjmp?
> > I don't get the correct result when I compile and run the following code
> with clang.
> >
> > # clang foo.c -O3; ./a.out
> >
> > #include <stdio.h>
> > void *buf[20];
> > void __attribute__((noinline))
> > foo...