similar to: [LLVMdev] llvm-gcc4 and setjmp

Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] llvm-gcc4 and setjmp"

2007 Aug 24
1
[LLVMdev] llvm-gcc4 and setjmp
Hello, Jay. > the resulting bitcode doesn't use LLVM's exception handling > intrinsics, it just has a call to a function called "_setjmp". And > there doesn't seem to be any provision for returning the current value > of the volatile variable v if setjmp returns non-zero - the bitcode > always returns zero, whereas the spec for setjmp() says that f() >
2007 Aug 24
2
[LLVMdev] llvm-gcc4 and setjmp
Hi Anton, > > I would expect llvm-gcc to use LLVM's setjmp/longjmp intrinsics and > > then to run the LowerSetJmp pass to turn the intrinsic calls into uses > > of invoke and unwind. At that point, the control flow is explicit, > > isn't it? > Unfortunately, no. You can call setjmp/longjmp on the same jump buffer > multiple times. So, in general it's not
2013 May 08
1
[LLVMdev] Clarifying the state of setjmp/longjmp support in LLVM and Clang
I'm trying to make sense in the support for setjmp/longjmp in Clang and LLVM, with only partial success. I'll try to summarize my findings in the hope that someone can shed some light on why things are the way they are and what I'm missing. Clang. Clang recognizes two forms of setjmp (all I say here applies to longjmp similarly): * __builtin_setjmp: gets lowered to calling the
2017 Jun 02
2
setjmp in llvm
Hi,I'm trying to prevent llvm instruction motion around an intrinsic function call. Throughout my experimenting, I was told that setjmp could create fake entry points into a region of code and that might prevent code motion.What I found is something surprising, and probably is a misuse of setjmp but I couldn't find an explanation for it.Consider this:#include <csetjmp> std::jmp_buf
2005 Nov 25
0
[LLVMdev] Re: setjmp/longjmp interoperable between llvm and gcc?
On Mon, 21 Nov 2005 16:53:58 -0600 (CST), Chris wrote: >On Mon, 21 Nov 2005, Kurt Harriman wrote: >> I would like to build an x86 executable consisting of a number of >> subsystems (mostly legacy C code). One subsystem will be compiled >> to native code using llvm. It calls, and is called by, the other >> subsystems, many of which have to be compiled using gcc
2005 Apr 20
2
[LLVMdev] setjmp, longjmp and unwind
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
2005 Apr 20
0
[LLVMdev] setjmp, longjmp and unwind
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
2019 Jan 18
0
[klibc:master] mips: don't save floating point registers in setjmp / longjmp
Commit-ID: edf92a18d1f1725896c928cbcf580abc268f307c Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=edf92a18d1f1725896c928cbcf580abc268f307c Author: James Cowgill <james.cowgill at mips.com> AuthorDate: Fri, 2 Mar 2018 08:33:03 -0800 Committer: Ben Hutchings <ben at decadent.org.uk> CommitDate: Wed, 2 Jan 2019 03:08:04 +0000 [klibc] mips: don't save
2005 Apr 20
1
[LLVMdev] setjmp, longjmp and unwind
First I try it with bytecodes: ~/compiler/temp$ llvmgcc sjmp01.c -o sjmp01 ~/compiler/temp$ ./sjmp01 Hello World! Abort trap Same results for lli sjmp01.bc Now I try converting to native code: ~/compiler/temp$ llc sjmp01.bc -enable-correct-eh-support -o sjmp01.s ~/compiler/temp$ gcc sjmp01.s -o sjmp01.native ~/compiler/temp$ ./sjmp01.native Hello World! Bus error ~/compiler/temp$ On Apr 20,
2011 Apr 13
0
[LLVMdev] built-in longjmp and setjmp
It seems straightforward to implement, if it just needs to be functionally correct. I have another question about setjmp/longjmp. When the following program is compiled and run with argument 10 (./a.out 10), should it print 10 or 23? I am asking this question because it prints 23 when compiled with gcc and prints 10 when compiled with clang. If it is supposed to return 23, it seems to me that
2025 Apr 19
0
[PATCH] efi/main.c: include <efisetjmp.h>
On Tue Mar 24 03:57:51 PDT 2020, Thomas Petazzoni wrote: > Building syslinux against gnu-efi 3.0.10 currently fails with: > > syslinux/efi/main.c:33:8: error: unknown type name ?jmp_buf? >??? 33 | static jmp_buf load_error_buf; >?????? |??????? ^~~~~~~ > syslinux/efi/main.c: In function ?local_boot?: > syslinux/efi/main.c:189:5: warning: implicit declaration of
2011 Oct 05
0
[LLVMdev] setjmp - longjmp
That code should do it, but I realized you only detect setjmp functions by name. My code is calling "__sigsetjmp" not "segsetjmp". You only support these functions: static const char *ReturnsTwiceFns[] = { "_setjmp", "setjmp", "sigsetjmp", "setjmp_syscall", "savectx", "qsetjmp",
2011 Oct 05
1
[LLVMdev] setjmp - longjmp
Actually my problem is solved when I added "__sigsetjmp" to this list. Thanks, -Khaled On Tue, Oct 4, 2011 at 10:27 PM, Khaled ElWazeer <khalid.alwazeer at gmail.com>wrote: > > That code should do it, but I realized you only detect setjmp functions by > name. My code is calling "__sigsetjmp" not "segsetjmp". You only support > these functions:
2007 Aug 28
1
[LLVMdev] llvm-gcc4 and setjmp
Hello, Torvald > is there documentation about what happens to setjmp() et al, and how one > should handle the setjmp intrinsics? You shouldn't use them at all. > Are setjmp() function calls transformed to intrinsics, or are > the intrinsics only used for EH? Intrisincs are used for representing necessary EH code flow. User's setjmp() are just function calls. We fixed
2011 Apr 27
1
[LLVMdev] built-in longjmp and setjmp
Okay. Are you saying that you shouldn't use __builtin functions in general in your program or just __builtin_setjmp/longjmp? Also, are there any warnings issued by either clang or llvm if they are used in your program? On Wed, Apr 27, 2011 at 3:55 PM, Jim Grosbach <grosbach at apple.com> wrote: > The builtins are for internal compiler use in the context of SjLj exception >
2011 Apr 12
0
[LLVMdev] built-in longjmp and setjmp
If you want an automated method, then using the source code re-writer interfaces in clang is probably a reasonable starting place. Just modifying the source code manually is probably easier, though, to be honest. As a moderate caveat to all of this, there are some bits of code out there that use these builtins that are very tightly coupled to the compiler (the Linux kernel used to do this, I
2011 Apr 12
2
[LLVMdev] built-in longjmp and setjmp
What would be the best way to convert built-in setjmp and longjmp tp library calls? Should it be implemented in clang or in backends? On Tue, Apr 12, 2011 at 2:38 PM, Jim Grosbach <grosbach at apple.com> wrote: > ARM/Darwin implements them. I'm not aware of any others. > > That said, they are designed for internal use by the compiler for exception > handling. Calling them
2011 Apr 27
0
[LLVMdev] built-in longjmp and setjmp
The builtins are for internal compiler use in the context of SjLj exception handling. Any other use, including any direct calls of the builtins in user code, are a bad idea with no guaranteed behaviour. That they're exposed at all is, again, for historical purposes. Don't use them. -Jim On Apr 27, 2011, at 3:45 PM, Akira Hatanaka wrote: > Okay. I understand builtin functions do not
2018 Dec 18
1
efi config hang
On Mon, 2018-12-17 at 23:52 +0100, Lukas Schwaighofer wrote: > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. > > > Hi Joakim, > > On Wed, 12 Dec 2018 23:25:24 +0000 > Joakim Tjernlund via Syslinux <syslinux at zytor.com> wrote: > > > I
2006 May 11
0
[patch] klibc: merge s390 and s390x
Merge s390 and s390x into s390. Compiled and tested on s390/s390x and i386. Also cross compilation for s390/s390x tested. This patch shouldn't break the build of any architecture. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> --- Makefile | 1 scripts/Kbuild.install | 4 +- scripts/Kbuild.klibc