[PATCH] D39532: [ARM] Use dwarf exception handling on MinGW

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 2 13:46:49 PDT 2017


mstorsjo added a comment.

In https://reviews.llvm.org/D39532#914461, @compnerd wrote:

> We really do not want to use EHABI on Windows ARM.  We should be emitting the Windows exception tables, which would allow zero cost exceptions that can work across the boundary.  The information for that model is fully documented and decodable in the LLVM sources (I added all the necessary structures and the decoder for that a while ago).  I haven't had a chance to implement the necessary assembler support to enable the generation of the `.pdata` and `.xdata` sections.


That's probably the best target in general, yes. That also requires a matching personality function in libcxxabi (as discussed on irc some weeks ago), right? I chose trying to implement this with dwarf initially since it seemed to be very simple to get working, although it's probably not the intended permanent solution. But I can understand if you don't want such a non-final thing committed.



================
Comment at: lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp:111
 
-  UseIntegratedAssembler = false;
-  DwarfRegNumForCFI = true;
+  UseIntegratedAssembler = true;
+  DwarfRegNumForCFI = false;
----------------
compnerd wrote:
> Why was this `false`?  Please tell me I didn't screw that up.
I have no idea why it was false, but apparently it hasn't caused any other issues so far. I only noticed when I wanted to change `DwarfRegNumForCFI` when I tried to add a testcase for this.


https://reviews.llvm.org/D39532





More information about the llvm-commits mailing list