Displaying 5 results from an estimated 5 matches for "gc_cleanup".
Did you mean:
do_cleanup
2011 Apr 12
2
[LLVMdev] gcroot + `section not found for addresss ...' ???
...0
%gc_newhead = getelementptr %gc_stackentry.main* %gc_frame, i32 0, i32 0
store %gc_stackentry* %gc_currhead, %gc_stackentry** %gc_frame.next
store %gc_stackentry* %gc_newhead, %gc_stackentry** @llvm_gc_root_chain
%1 = invoke i8* @malloc(i64 1)
to label %entry.cont unwind label %gc_cleanup
entry.cont: ; preds = %entry
store i8* %1, i8** %0
%gc_frame.next1 = getelementptr %gc_stackentry.main* %gc_frame, i32 0, i32 0, i32 0
%gc_savedhead = load %gc_stackentry** %gc_frame.next1
store %gc_stackentry* %gc_savedhead, %gc_stackentry** @llvm_gc_...
2011 Apr 11
0
[LLVMdev] gcroot + `section not found for addresss ...' ???
The linker is going off in the weeds trying to parse the dwarf unwind info. The CIE has:
Leh_frame_common_begin0:
.long 0 ## CIE Identifier Tag
.byte 1 ## DW_CIE_VERSION
.asciz "zLR" ## CIE Augmentation
.byte 1 ## CIE Code Alignment Factor
.byte 120 ## CIE Data Alignment
2011 Apr 10
2
[LLVMdev] gcroot + `section not found for addresss ...' ???
Hi,
If I type
define i32 @main() gc "shadow-stack" {
entry:
%0 = alloca i8*
%1 = call i8* @malloc(i64 1)
store i8* %1, i8** %0
call void @llvm.gcroot(i8** %0, i8* null)
ret i32 0
}
declare i8* @malloc(i64)
declare void @llvm.gcroot(i8**, i8*) nounwind
in test.ll
and then do
> llc test.ll
> gcc test.s
I get the error
ld: in
2011 Apr 12
0
[LLVMdev] gcroot + `section not found for addresss ...' ???
...GCC recently added support for this, i.e. a situation in which there are only
cleanups to be run: it uses the C personality function even if the language
being compiled is not C.
> I don't know enough about GC stuff to say what should happen here. Though it looks like we at least need the gc_cleanup to generate an llvm.eh.selector call at the very least...The question becomes which personality function it should call, because that's language-specific.
One reason I added lowering for "unwind" in DwarfEHPrepare was to help handle
this situation: an invoke followed by some cleanup...
2011 Apr 12
2
[LLVMdev] gcroot + `section not found for addresss ...' ???
...d support for this, i.e. a situation in which there are only
> cleanups to be run: it uses the C personality function even if the language
> being compiled is not C.
>
>> I don't know enough about GC stuff to say what should happen here. Though it looks like we at least need the gc_cleanup to generate an llvm.eh.selector call at the very least...The question becomes which personality function it should call, because that's language-specific.
>
> One reason I added lowering for "unwind" in DwarfEHPrepare was to help handle
> this situation: an invoke followed b...