<p dir="ltr"><br>
On Nov 5, 2015 2:04 AM, "Kuperstein, Michael M" <<a href="mailto:michael.m.kuperstein@intel.com">michael.m.kuperstein@intel.com</a>> wrote:<br>
><br>
> It looks like this flag doesn’t behave exactly like one may expect.<br>
><br>
> Playing around with gcc, I got:<br>
><br>
> <br>
><br>
> 1) With –fexceptions, specifying –fno-asynchronous-unwind-tables has no effect.<br>
><br>
> 2) With –fno-exceptions but with -g, specifying –fno-asynchronous-unwind-tables also has no effect<br>
><br>
> 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.<br>
><br>
> <br>
><br>
> 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.<br>
><br>
> It doesn’t claim to be fully compatible though, see <a href="https://llvm.org/bugs/show_bug.cgi?id=4932">https://llvm.org/bugs/show_bug.cgi?id=4932</a> .<br>
><br>
> <br>
><br>
> 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.<br>
></p>
<p dir="ltr">Please don't. Every time I have seen that flag used the intention was to omit the eh_frame section completely. </p>
<p dir="ltr">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.</p>
<p dir="ltr">Cheers, <br>
Rafael </p>