[PATCH] D35693: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions

Akira Hatanaka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 28 16:17:59 PDT 2017


ahatanak added a comment.

In https://reviews.llvm.org/D35693#816994, @rjmccall wrote:

> Does the ARM64 ABI call for unwind tables to be emitted for all functions, like the x86-64 ABI does?
>
> Anyway, it seems pretty unfortunate that the default behavior breaks exceptions.


According to Nick Kledzik, the ARM64 ABI doesn't require unwind tables to be emitted for all functions, but the compiler has emitted the tables for all functions anyway. If I understood his explanation correctly, people often ran into problems when mixing C and C++ code because they forgot to use -fexceptions. Also, the compact unwind table is already small, so omitting it would most likely not make much difference in the size of the executable.

I'm also looking at r291172, which is the commit that directly caused this regression.


https://reviews.llvm.org/D35693





More information about the cfe-commits mailing list