Bill Wendling
2011-Apr-12 07:55 UTC
[LLVMdev] gcroot + `section not found for addresss ...' ???
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. >Hi Duncan, 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. Nicolas, Could you file a PR for this? -bw
Duncan Sands
2011-Apr-12 07:57 UTC
[LLVMdev] gcroot + `section not found for addresss ...' ???
Hi Bill,> 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.I'll add this to the list of exception handling problems: it should be possible to write this level of simple eh code without a selector, personality etc. Ciao, Duncan.
Bill Wendling
2011-Apr-12 20:11 UTC
[LLVMdev] gcroot + `section not found for addresss ...' ???
On Apr 12, 2011, at 12:57 AM, Duncan Sands wrote:> Hi Bill, > >> 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. > > I'll add this to the list of exception handling problems: it should be possible > to write this level of simple eh code without a selector, personality etc. >Definitely agree. :) -bw
Possibly Parallel Threads
- [LLVMdev] gcroot + `section not found for addresss ...' ???
- [LLVMdev] gcroot + `section not found for addresss ...' ???
- [LLVMdev] gcroot + `section not found for addresss ...' ???
- [LLVMdev] gcroot + `section not found for addresss ...' ???
- [LLVMdev] gcroot + `section not found for addresss ...' ???