[cfe-dev] Win64 exception handling

Reid Kleckner rnk at google.com
Thu Sep 4 15:21:08 PDT 2014


I committed my patch, it seems to work OK when self-hosting clang for win64
and for building Chromium. I don't actually know if the unwind info is 100%
accurate, though, so please try it out and file bugs if the unwinder gets
off track in LLVM code.


On Wed, Sep 3, 2014 at 4:57 PM, Reid Kleckner <rnk at google.com> wrote:

> I think this patch works, but it needs additional testing to be confident:
> http://reviews.llvm.org/D5181
>
> You also need to change this code in Clang to get unwind info emitted:
>
> bool Windows::IsUnwindTablesDefault() const {
>   // FIXME: LLVM's lowering of Win64 data is broken right now.  MSVC's
> linker
>   // says that our object files provide invalid .pdata contributions.
>  Until
>   // that is fixed, don't ask for unwind tables.
>   return false;
>   //return getArch() == llvm::Triple::x86_64;
> }
>
>
>
> On Wed, Sep 3, 2014 at 1:19 PM, Reid Kleckner <rnk at google.com> wrote:
>
>> I intend to take care of this. It's been on my plate for some time, but
>> not as high priority as 32-bit x86 ABI compatibility with MSVC.
>>
>>
>> On Wed, Sep 3, 2014 at 12:44 PM, <hoganmeier at gmail.com> wrote:
>>
>>> Some time ago the patch for Win64 exception handling was finally merged.
>>> There are still serious bugs though and Twobit attached a preliminary
>>> patch to that review.
>>> http://reviews.llvm.org/D4081#52
>>>
>>> But nothing happened since then.
>>>
>>> I tried to fix it according to rnk's comment "the individual .pdata
>>> sections should be comdat associative with the individual .text sections"
>>> but don't know enough about the respective llvm internals.
>>>
>>> Could anybody finalize that patch and get this in?
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140904/0009c163/attachment.html>


More information about the cfe-dev mailing list