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...