search for: __gxx_personality_v0

Displaying 20 results from an estimated 174 matches for "__gxx_personality_v0".

2008 Nov 12
1
[LLVMdev] python: Symbol `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation
linux fedora f9 x86_64 llvm-2.4 I tried building a bunch of my python modules (which compile to shared libraries) using llvm-c++ instead of gnu c++. When the program runs, I see these messages: python: Symbol `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation Ideas?
2007 Dec 09
0
[LLVMdev] Darwin vs exceptions
...... invoke void @__cxa_throw( something ) noreturn to label %somewhere unwind label %lpad ... lpad: %eh_ptr = tail call i8* @llvm.eh.exception( ) %eh_select8 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)) tail call i32 (...)* @_Unwind_Resume( i8* %eh_ptr ) unreachable ... } define i32 @main() { entry: invoke void @_Z1fv( ) to label %somewhere2 unwind label %lpad2 ... lpad2: ; preds = %entry %eh_ptr = tail call i8* @llvm.eh.e...
2009 May 28
1
how to compile
<BEGINNER i am begginer> i try to use winegcc all link, include, lib paths are ok but i got linker error Main-z6Kx8u.o : (.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' and i don't know to which library it belong
2007 Dec 09
3
[LLVMdev] Darwin vs exceptions
(Mail system seems to have eaten this, sorry if it's a repeat) On Dec 8, 2007, at 12:48 AM, Duncan Sands wrote: > Hi Dale, > >> - Why was C++ claiming that every selector has a catch-all handler? > > this is easy: because the semantics of invoke require it. Yes, > really. > If unwinding reaches an invoke then control is required to jump to the > unwind basic
2015 Mar 25
2
[LLVMdev] Instruction::mayThrow not handling invoke's?
...(i8*) readnone define i32 @test() { ; invoke of pure function should not be deleted! invoke i32 @strlen( i8* null ) readnone to label %Cont unwind label %Other ; <i32>:1 [#uses=0] Cont: ; preds = %0 ret i32 0 Other: ; preds = %0 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 cleanup ret i32 1 } declare i32 @__gxx_personality_v0(...) Instruction:: mayThrow returns false for the invoke. This is because ... bool Instruction::mayThrow() const { if (const CallInst *CI = dyn_cast<CallInst>(this)) return !CI->doesNotThrow(); return...
2014 May 11
2
[LLVMdev] [cfe-dev] Code generation for noexcept functions
...t(fp); > } > > The code generated by GCC (ToT, -O3, Linux x64) is: > > .LHOTB0: > .p2align 4,,15 > .globl _Z5test2PFvvE > .type _Z5test2PFvvE, @function > _Z5test2PFvvE: > .LFB1: > .cfi_startproc > .cfi_personality 0x3,__gxx_personality_v0 > .cfi_lsda 0x3,.LLSDA1 > pushq %rbx > .cfi_def_cfa_offset 16 > .cfi_offset 3, -16 > movq %rdi, %rbx > call *%rdi > movq %rbx, %rax > popq %rbx > .cfi_def_cfa_offset 8 > jmp...
2009 May 12
2
[LLVMdev] catch all
Hi, that's right ! catch(all) has extra null arg, eh_select = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %eh_ptr, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* null) ; <i32> [#uses=0] I have doubt that : the llvm-IR like above are all translated from catch(all) statement . zhangzw
2012 Apr 08
0
[LLVMdev] Catching C++ exceptions, cleaning up, rethrowing
...; preds = %entry > %4 = bitcast %item* %y to void* > invoke void @thunk_item_M_new_i(void* %4, i32 2) > to label %normal1 unwind label %unwind2 > > unwind: ; preds = %entry > %5 = landingpad %0 personality i32 (...)* @__gxx_personality_v0 > cleanup > store %0 %5, %0* %caught_result_storage, align 8 > store i8 1, i8* %exception_caught_flag, align 1 > br label %exit > > dtor: ; preds = %unwind2, %dtor3 > %6 = phi %0 [ %9, %unwind2 ], [ %10, %dtor3 ] &g...
2007 Dec 12
0
[LLVMdev] Darwin vs exceptions
...ompiles to something like: define void @_Z1gv() { entry: invoke void @_Z1fv( ) to label %UnifiedReturnBlock unwind label %lpad ... lpad: ; preds = %entry %eh_ptr = tail call i8* @llvm.eh.exception( ) %eh_select = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr, i32 (...)* @__gxx_personality_v0, i8* A) %eh_typeid = tail call i32 @llvm.eh.typeid.for.i32( i8* A ) %tmp15 = icmp eq i32 %eh_select, %eh_typeid br i1 %tmp15, label %bb, label %Unwind ... Unwind: ; preds = %lpad tail call i32 (...)* @_Unwind_Resume( i8* %eh_ptr ) unreachable ... } define void @_Z1hv() { entry: invoke void...
2012 Apr 08
2
[LLVMdev] Catching C++ exceptions, cleaning up, rethrowing
On Apr 4, 2012, at 9:32 PM, Paul J. Lucas wrote: > On Mar 23, 2012, at 4:46 PM, Bill Wendling wrote: [...] > This all seems to work just fine. I can throw a C++ exception either in a C++ object's constructor or in an ordinary member function and the stack unwinds correctly (the object's destructors are called) and the exception is propagated back up the C++ code that called the
2010 Dec 01
8
[LLVMdev] Alternative exception handling proposal
...A possible syntax: <catch info> = [personality <ptr>] [cleanup] [catches <list of catches and filters>] Here's an example where there is no cleanup and there are two handlers: invoke void @_Z3foov() to label %invcont unwind label %catch.handlers personality @__gxx_personality_v0 catches %struct.__fundamental_type_info_pseudo* @_ZTIi, %struct.__pointer_type_info_pseudo* @_ZTIPKc Note that unlike in Bill's proposal there isn't a label for each catch object, just one global label (the existing unwind label). The semantics of the invoke instruction are slightly modi...
2007 Dec 10
3
[LLVMdev] Darwin vs exceptions
...( something ) noreturn > to label %somewhere unwind label %lpad > ... > lpad: > %eh_ptr = tail call i8* @llvm.eh.exception( ) > %eh_select8 = tail call i32 (i8*, i8*, ...)* > @llvm.eh.selector.i32( i8* %eh_ptr, i8* bitcast (i32 (...)* > @__gxx_personality_v0 to i8*)) I wasn't advocating this; agree it is wrong. > tail call i32 (...)* @_Unwind_Resume( i8* %eh_ptr ) > unreachable > ... > } > > define i32 @main() { > entry: > invoke void @_Z1fv( ) > to label %somewhere2 unwind la...
2015 Feb 02
4
[LLVMdev] Compiling via bitcode on Windows
...rogram optimization of the bitcode). When I use clang.exe, even with -D_HAS_EXCEPTIONS=0 -fms-compatibility -fms-extensions, I get errors: main-621e97.o : error LNK2019: unresolved external symbol _Unwind_Resume referenced in function main main-621e97.o : error LNK2001: unresolved external symbol __gxx_personality_v0 main-621e97.o : error LNK2019: unresolved external symbol __cxa_call_unexpected referenced in function "public: class std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char...
2010 Jun 18
4
C Interface
...t <- function(t){ .Call("test",t) } dyn.load("./OrthoFunctions.dll") test(0) dyn.unload("./OrthoFunctions.dll") then R crashes. If I compile with the default flags (no extern "C", no __cdecl) I get an error message about an undefined reference to "__gxx_personality_v0": C:\...>R CMD SHLIB OrthoFunctions.c C:/Programme/R/R-2.10.1/etc/Makeconf:151: warning: overriding commands for target `.c.o' C:/Programme/R/R-2.10.1/etc/Makeconf:142: warning: ignoring old commands for target `.c.o' C:/Programme/R/R-2.10.1/etc/Makeconf:159: warning: overriding co...
2007 Dec 10
3
[LLVMdev] Darwin vs exceptions
On Dec 10, 2007, at 11:38 AM, Duncan Sands wrote: >>> ... If you force a "cleanup" by changing the selector call to: >>> %eh_select8.i = tail call i32 (i8*, i8*, ...)* >>> @llvm.eh.selector.i32( i8* %eh_ptr.i, i8* bitcast (i32 (...)* >>> @__gxx_personality_v0 to i8*), i32 0) >>> then it doesn't work either: the unwinder observes that there is >>> only a cleanup, and >>> using some special logic (bogus in this case) deduces that the >>> exception will be rethrown >>> after running the cleanup code (and thu...
2016 Jul 28
2
[ThinLTO] assert(GS != DefinedGlobals.end()) failed in FunctionImport.cpp
...d twice during the single invocation of IRLinker::run, once with GlobalValueMaterializer and once with LocalValueMaterializer. First, the global value ; Materializable ; Function Attrs: nounwind uwtable define weak_odr void @foo(%1*) unnamed_addr #7 comdat($comdat1) align 2 personality i32 (...)* @__gxx_personality_v0 {} (I renamed the function and comdat) is materialized with GlobalValueMaterializer, (so the IRLinker::materialize function is called with ForAlias == false), and the materialized value is ; Function Attrs: nounwind uwtable declare void @foo(%"type1"*) unnamed_addr #2 align 2 Then, lat...
2010 Jan 13
1
[LLVMdev] invoke/unwind
On 01/13/2010 02:07 AM, Duncan Sands wrote: > Hi Dustin, the code generators do not support unwind, only the > interpreter does. Ah, the secret is not to even try to frob the gnorts. Manual unwinding, here I come. :-( I was going to say the interpreter doesn't either, but then I recalled it JITs when it can. I don't know how to call into libc from the interpreter to test that.
2009 May 12
0
[LLVMdev] catch all
> that's right ! catch(all) has extra null arg, > > eh_select = tail call i32 (i8*, i8*, ...)* > @llvm.eh.selector.i32(i8* %eh_ptr, i8* bitcast (i32 (...)* > @__gxx_personality_v0 to i8*), i8* null) ; <i32> [#uses=0] > > I have doubt that : > the llvm-IR like above are all translated from catch(all) statement . I'm not sure what you are saying... Ciao, Duncan.
2009 May 12
1
[LLVMdev] catch all
2009/5/12 Duncan Sands <baldrick at free.fr>: >>  that's  right !  catch(all) has extra null arg, >> >> eh_select = tail call i32 (i8*, i8*, ...)* >> @llvm.eh.selector.i32(i8* %eh_ptr, i8* bitcast (i32 (...)* >> @__gxx_personality_v0 to i8*), i8* null)        ; <i32> [#uses=0] >> >> I have doubt  that  : >> the llvm-IR like above are  all translated from catch(all) statement . > > I'm not sure what you are saying... > > Ciao, > > Duncan. > Hi, sorry for my terible english ! I...
2007 Apr 06
1
[LLVMdev] Integrating LLVM in an existing project
...} -#endif +#else new UnwindInst(UnwindBB); +#endif This avoid generating an unwind instruction straight after an unreachable instruction, i.e. two terminators in a row. (2) - FuncCPPPersonality = cast<Function>( + FuncCPPPersonality = TheModule->getOrInsertFunction("__gxx_personality_v0", Type::getPrimitiveType(Type::VoidTyID), - NULL)); - FuncCPPPersonality->setLinkage(Function::ExternalLinkage); - FuncCPPPersonality->setCallingConv(CallingConv::C); + NULL); - F...