Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Unwind + lli"
2009 Jan 28
3
[LLVMdev] uses of unwind lead to crashes
I have what appears to be a bug in LLVM... I'm deeply hesitant to
label it a bug, given my lack of experience with LLVM, but the
behaviour of this fragment strongly suggests a bug.
In particular, compiling and running this fragment using a fresh SVN
build yields this stderr:
uccello:/tmp clements$ lli a.out.bc
0 lli 0x005e72b6 char const* std::find<char const*,
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,
2009 May 19
0
[LLVMdev] Getting exceptions to work?
Talin wrote:
> Nicolas Geoffray wrote:
>> Hi Talin,
>>
>> You're not using the llvm intrinsics for exception handling, so your
>> code won't work. Using _Unwind_RaiseException should be OK, but your
>> main function must at least use llvm.eh.exception,
>> llvm.eh.selector.i32/64 and probably __cxa_begin_catch and __cxa_end_catch.
>>
>
2012 May 22
2
[LLVMdev] How to get llvm bitcode executed
Thanks Duncan and Ashok,
As Duncan described, "lli -load=libstdc++.dylib ..." works. I,
however, encounted an "Illegal instruction" message, while I was
trying to interpret a large program. So, does lli have a debug switch
for dumping out the details for errors?
Using llc is not that simple, and I have not gotten through the
compilation process. For instance, "llc -o
2012 May 23
0
[LLVMdev] How to get llvm bitcode executed
Hi Xiaolong,
> As Duncan described, "lli -load=libstdc++.dylib ..." works. I,
> however, encounted an "Illegal instruction" message, while I was
> trying to interpret a large program.
are you using the interpreter or the JIT?
So, does lli have a debug switch
> for dumping out the details for errors?
>
> Using llc is not that simple, and I have not gotten
2012 May 22
0
[LLVMdev] How to get llvm bitcode executed
Hi Xialong,
> I have a program that uses C++ STL a lot. To have the source code for
> STL functions, I undefined "_GLIBCXX_EXTERN_TEMPLATE" in
> c++config.h. In spite of this, after compilation (via clang) and
> linking (via llvm-ld), the resulting bitcode contains a few declared
> functions (with no definitions).
>
> My question is: In the scenario where some
2009 May 18
4
[LLVMdev] Getting exceptions to work?
I've been struggling for several days, trying to get native exceptions
to work in my code. I managed to boil down the IR to the simplest
possible example that I can think of.
If anyone on this list can tell me what changes I need to make to the
following code to get it to work (i.e. return 0 instead of a bus error),
it would make my life immensely better.
; ModuleID =
2014 Feb 17
3
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
Hi all,
I feel that there are two problems with the existing infrastructure:
* The nounwind attribute is ambiguous for (1) not throwing exceptions and
(2) not performing stack unwinding. I feel that it will be better to
separate this in two different attributes
* There is some problem when the function has both uwtable and nounwind.
Although, I think it fine to keep the current definition of
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
2009 May 19
5
[LLVMdev] Getting exceptions to work?
Nicolas Geoffray wrote:
> Hi Talin,
>
> You're not using the llvm intrinsics for exception handling, so your
> code won't work. Using _Unwind_RaiseException should be OK, but your
> main function must at least use llvm.eh.exception,
> llvm.eh.selector.i32/64 and probably __cxa_begin_catch and __cxa_end_catch.
>
Let me ask a follow-up question then - if the
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
2009 May 18
0
[LLVMdev] Getting exceptions to work?
Hi Talin,
You're not using the llvm intrinsics for exception handling, so your
code won't work. Using _Unwind_RaiseException should be OK, but your
main function must at least use llvm.eh.exception,
llvm.eh.selector.i32/64 and probably __cxa_begin_catch and __cxa_end_catch.
Nicolas
Talin wrote:
> I've been struggling for several days, trying to get native exceptions
> to
2010 Aug 10
0
[LLVMdev] sqlite3 crashing jit
On Aug 10, 2010, at 4:09 PM, Reid Kleckner wrote:
> On Tue, Aug 10, 2010 at 1:35 PM, Eric Christopher <echristo at apple.com> wrote:
>>
>> On Aug 10, 2010, at 1:30 PM, Bueno, Denis wrote:
>>
>>> Running lli under gdb gives
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> [address] in ?? ()
>>> (gdb) bt
2008 Mar 13
5
[LLVMdev] exact semantics of 'nounwind'
Hi everyone,
Since I'm busy muddying the waters by changing how exception handling
works, I thought I should ask for clarification on the exact behaviour
of the current 'nounwind' attribute found on functions, calls and invokes.
I was thinking these would be similar to the AA analysis notes like
"doesNotAccessMemory" which is a provable property of the function or
call
2010 Aug 10
4
[LLVMdev] sqlite3 crashing jit
On Tue, Aug 10, 2010 at 1:35 PM, Eric Christopher <echristo at apple.com> wrote:
>
> On Aug 10, 2010, at 1:30 PM, Bueno, Denis wrote:
>
>> Running lli under gdb gives
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> [address] in ?? ()
>> (gdb) bt
>> #0 [address] in ?? ()
>> Cannot access memory at address [address2]
>>
2010 Jan 22
0
[LLVMdev] Exception handling question
Hi James,
Note that the wiki example is a manual JIT example that works directly with the C++ APIs. As you know, no LLVM tools are used,
just LLVM libraries. I say this to point out, that in the example, the exception mechanism is under the complete control of the
developer moded by the LLVM libraries. In my mind a different example/different doc. would be needed to explain how
a bit code
2010 Jan 22
2
[LLVMdev] Exception handling question
2010/1/22 Garrison Venn <gvenn.cfe.dev at gmail.com>
> Hi James,
>
> Note that the wiki example is a manual JIT example that works directly with
> the C++ APIs. As you know, no LLVM tools are used,
> just LLVM libraries. I say this to point out, that in the example, the
> exception mechanism is under the complete control of the
> developer moded by the LLVM libraries.
2009 Jun 15
2
[LLVMdev] unwind/invoke design
On Mon, Jun 15, 2009 at 9:40 PM, Duncan Sands<baldrick at free.fr> wrote:
> you can call the libgcc/libunwind routines directly. There was an
> example of this on the mailing list by Talin not long ago.
I'll look into this. Thanks.
> That said,
> it wouldn't be too hard to support "unwind" in the code generators.
> It would basically mean creating
2009 Jun 15
0
[LLVMdev] unwind/invoke design
Hi Wesley,
> The documentation of unwind/invoke is quite clear and does exactly
> what I need: unwinding the stack. I don't need it to carry an object
> back. I don't need it to figure out what the type of the object is or
> what catch() blocks it matches. I just need it to unwind the stack.
> The rest is my job as a part of the runtime. Unfortunately, I have
> learned
2012 May 22
4
[LLVMdev] How to get llvm bitcode executed
Hi All,
I have a program that uses C++ STL a lot. To have the source code for
STL functions, I undefined "_GLIBCXX_EXTERN_TEMPLATE" in
c++config.h. In spite of this, after compilation (via clang) and
linking (via llvm-ld), the resulting bitcode contains a few declared
functions (with no definitions).
My question is: In the scenario where some function definitions are
missing in a llvm