[llvm] r251904 - [X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments

Rafael Espíndola via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 04:22:59 PST 2015


On Nov 5, 2015 2:04 AM, "Kuperstein, Michael M" <
michael.m.kuperstein at intel.com> wrote:
>
> It looks like this flag doesn’t behave exactly like one may expect.
>
> Playing around with gcc, I got:
>
>
>
> 1) With –fexceptions, specifying –fno-asynchronous-unwind-tables has no
effect.
>
> 2) With –fno-exceptions but with -g, specifying
–fno-asynchronous-unwind-tables also has no effect
>
> 3) With –fno-excpetions and without –g, –fno-asynchronous-unwind-tables
doesn’t make CFI imprecise in the sense we’re talking about – rather, it
makes it disappear entirely.
>
>
>
> The current clang interpretation seems to be close to that too -
–fno-asynchronous-unwind-tables controls the default behavior of passing
–munwind-tables to –cc1.
>
> It doesn’t claim to be fully compatible though, see
https://llvm.org/bugs/show_bug.cgi?id=4932 .
>
>
>
> In any case, I think using it as Dave suggested is fine – it sounds
consistent with the documented semantics, and we’re not really compatible
with GCC on this to begin with.
>

Please don't. Every time I have seen that flag used the intention was to
omit the eh_frame section completely.

I think the two reasonable solutions are to always emit precise info
(modulo bugs) or to have a *new* command line to enable imprecise mode.

Cheers,
Rafael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151105/85638075/attachment.html>


More information about the llvm-commits mailing list