[LLVMdev] gcroot + `section not found for addresss ...' ???
wendling at apple.com
Tue Apr 12 00:55:50 PDT 2011
On Apr 11, 2011, at 11:27 PM, Duncan Sands wrote:
> Hi Bill,
>> However, there isn't a personality function associated here. This conflicts with the fact that there's an LSDA associated with the function. It's not really feasible that there would be an LSDA but no personality function.
> 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 code followed by unwind. I
> had GC lowering in mind. I think the only thing missing is having the code
> generators use the C personality function by default if there is no personality
> function, but as I didn't work on this for a while I don't recall exactly how
> far I got.
If it's a matter of defaulting to the C personality function, then that should be a fairly easy change to make. I'll look into it, though it may take a backseat to other things that I have to do right now unless someone else wants to.
Could you file a PR for this?
More information about the llvm-dev