search for: unwindinfo

Displaying 9 results from an estimated 9 matches for "unwindinfo".

2009 May 18
4
[LLVMdev] Getting exceptions to work?
...ossible 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 = 'ExceptionTest' %Object = type {} %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 } %Throwable = type { %Object, %UnwindInfo } define i32 @main(i32, i8**) nounwind { entry: invoke fastcc void @throwSomething() to label %nounwind unwind label %catch catch: ret i32 0 nounwind:...
2009 May 18
0
[LLVMdev] Getting exceptions to work?
.... > > 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 = 'ExceptionTest' > %Object = type {} > %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 } > %Throwable = type { %Object, %UnwindInfo } > > define i32 @main(i32, i8**) nounwind { > entry: > invoke fastcc void @throwSomething() to label %nounwind unwind > label %catch > > catch: >...
2009 May 19
5
[LLVMdev] Getting exceptions to work?
...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 = 'ExceptionTest' >> %Object = type {} >> %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 } >> %Throwable = type { %Object, %UnwindInfo } >> >> define i32 @main(i32, i8**) nounwind { >> entry: >> invoke fastcc void @throwSomething() to label %nounwind unwind >> label %catch >...
2009 May 19
0
[LLVMdev] Getting exceptions to work?
...hat 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 = 'ExceptionTest' >>> %Object = type {} >>> %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 } >>> %Throwable = type { %Object, %UnwindInfo } >>> >>> define i32 @main(i32, i8**) nounwind { >>> entry: >>> invoke fastcc void @throwSomething() to label %nounwind unwind >>&...
2009 May 21
0
[LLVMdev] Getting exceptions to work?
...ing so that it prints a message if the _Unwind_RaiseException call returns, then you will see that it does in fact return. define internal fastcc void @throwSomething() { entry: %throwable = malloc %Throwable call fastcc void @Throwable.construct(%Throwable* %throwable) %unwindInfo = getelementptr %Throwable* %throwable, i32 0, i32 1 call void @print(i8* bitcast ([6 x i8]* @str_throw to i8 *)) %throw = call i32 @_Unwind_RaiseException(%UnwindInfo* %unwindInfo) call void @print(i8* bitcast ([6 x i8]* @str_abort to i8 *)) ret void } This is...
2009 May 20
3
[LLVMdev] Getting exceptions to work?
Duncan Sands wrote: > Hi Talin, > >> So I tried what you suggested, and it just gives me a bus error: >> >> %eh_select34 = call i32 (i8*, i8*, ...)* >> @llvm.eh.selector.i32 ( >> i8* %eh_ptr, >> i8* bitcast (i32 (i32, i32, i64, i8*, %UnwindContext*)* >> @__gcc_personality_v0 to i8*), >>
2009 May 24
1
[LLVMdev] Getting exceptions to work?
...the _Unwind_RaiseException call returns, then you will see that > it does in fact return. > > define internal fastcc void @throwSomething() { > entry: > %throwable = malloc %Throwable > call fastcc void @Throwable.construct(%Throwable* %throwable) > %unwindInfo = getelementptr %Throwable* %throwable, i32 0, i32 1 > call void @print(i8* bitcast ([6 x i8]* @str_throw to i8 *)) > %throw = call i32 @_Unwind_RaiseException(%UnwindInfo* %unwindInfo) > call void @print(i8* bitcast ([6 x i8]* @str_abort to i8 *)) >...
2013 Mar 10
0
[LLVMdev] [lld] Atom and its unwind information
...8/2013 5:44 PM, Nick Kledzik wrote: >> On Mar 8, 2013, at 2:52 PM, Shankar Easwaran <shankare at codeaurora.org> wrote: >>> Hi Nick, >>> >>> I was looking at ld64 source code and the atom deals with additional information such as >>> >>> a) UnwindInfo >> If you are using dwarf unwind info, the dwarf FDE is just another atom (in .eh_frame section). We'll need a special reference in function atoms to their FDE atom, so that they get dead stripped or coalesced as a group (that is what ld64 does). > Do you mean typeCode atoms here ? Ye...
2016 Jul 04
3
Status of stack walking in LLVM on Win64?
 > These is metadata for epilogues (UWOP_EPILOG) but it is only available on Windows 8.1 and newer. I'm aware of this. I believe it is so sampling profilers can walk the kernel stack including through paged code -- i.e. the epilogue data is not paged, while the related epilogue code might be. Do you see it used, i.e. in usermode?  (where the pdata/xdata/code are all equally paged). It