[llvm-dev] Exception handling support for a target

陳韋任 via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 17 06:34:25 PST 2018


Time, David and Nemanja, I add you as the reviewer for
https://reviews.llvm.org/D42178 , feel free to comment on it.

Alex, could you add D42178 into your review corner? I hope someone who has
more exception handling experience can review on it as well.

Thanks.

2018-01-17 3:41 GMT+08:00 Tim Northover <t.p.northover at gmail.com>:

> On 16 January 2018 at 13:41, 陳韋任 <chenwj.cs97g at g2.nctu.edu.tw> wrote:
> > bar:
> >
> >     .cfi_def_cfa_offset 16
> >     epilogue
> >
> >     _Unwind_Resume
> >
> >
> >
> > The lookup phase of exception handling is fine. However, something goes
> > wrong in cleanup phase. The reason is the unwinder evaluates CFI
> directives
> > until _Unwind_Resume, and `.cfi_def_cfa_offset 16` is the culprit. I
> think
> > this is what you were saying "have an epilogue in the middle of a
> function",
> > right?
>
> I think so, though the assembly isn't really complete enough to tell.
> In this case if the .cfi_def_cfa_offset is describing the epilogue it
> would mean that all code in what you've labelled _Unwind_Resume
> (assuming that's actually a cleanup landing pad or something) will use
> the wrong SP to load the saved registers from. The unwinder will think
> it's executing directly after the epilogue since it's later on in the
> function.
>
> Cheers.
>
> Tim.
>



-- 
Wei-Ren Chen (陳韋任)
Homepage: https://people.cs.nctu.edu.tw/~chenwj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180117/6ab3a042/attachment.html>


More information about the llvm-dev mailing list