[llvm-dev] x86-64 unwind additions

James Y Knight via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 15 13:16:57 PST 2017


The referenced commit and discussion thread was:
r317579 - Reland "Correct dwarf unwind information in function epilogue for
X86" (November 7, last updated last week)

On Fri, Dec 15, 2017 at 2:53 PM, Reid Kleckner via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Personally, I support the goal of emitting DWARF CFI that is correct at
> every instruction. Recently there was work on emitting accurate CFI for
> epilogues, but it had to be reverted due to some conflicts with MachO
> compact CFI. Eventually, our DWARF CFI should probably look more like the
> .seh_pushreg instructions we emit for win64.
>
> I think "isAsynchronousEHPersonality" has a different meaning than what
> you have in mind, and should be renamed. A better name might be
> "mayCatchNonCallExceptions".
>
> On Thu, Dec 14, 2017 at 7:22 AM, John Reagan via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hi all,
>>
>> We're at the point in our port of OpenVMS to x86-64 that we're working
>> on the unwind code.  The current ABI and the current codebase doesn't
>> have enough support for true asynchronous unwinding from any point (most
>> notably in the prologue/epilogue) in the code that OpenVMS needs.  We're
>> working on a set of changes to the compact unwind information to handle
>> the additional cases (and some clearly OpenVMS-specific needs that
>> others won't care about).
>>
>> We've noted that gcc seems to generate better asynchronous unwind info
>> and has the companion -fasynchronous-unwind-tables.  clang just maps it
>> to -funwind-tables.
>>
>> We've also noted that Reid and company have nicely added
>> Analysis/EHPersonalities.h along with a "isAsynchronousEHPersonality"
>> function for MSVC personality routines.
>>
>> I'll post an RFC in January to get some feedback, but wanted to know if
>> others have out-of-tree unwind changes in this area.  Perhaps they might
>> be helpful to us.
>>
>> John
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171215/9c1af5e3/attachment.html>


More information about the llvm-dev mailing list