<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Feb 5, 2018 at 6:19 PM Ryan Prichard via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Feb 5, 2018 at 5:12 PM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ryan Prichard via Phabricator via llvm-commits<br>
<span class="m_3979356491533683058gmail-"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> writes:<br>
<br>
> rprichard created this revision.<br>
> Herald added subscribers: llvm-commits, JDevlieghere, javed.absar, aprantl.<br>
><br>
> With this commit, LLVM emits a DWARF EH table using GCC-style assembly by<br>
> default. Offsets in the EH table (code offsets in the call site table,<br>
> the call site table size, and the offset to TTBase) are calculated in the<br>
> assembler rather than in the compiler. Doing so allows switching the<br>
> encoding of code offsets in the call site table from udata4 to uleb128,<br>
> which can reduce the size of the EH table by half.<br>
><br>
> This behavior is on by default. The old behavior can be restored with<br>
> -mllvm -layout-eh-table-in-assembler=0.<br>
<br>
</span>Do we really need to keep the old behavior around? What depends on it?<br></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>As far as I know, the old behavior isn't needed. I'd be happy to remove it.</div><div><br></div><div>One possibility: a combination of a new Clang and an old LLVM assembler could hit the infinite loop (PR35809).</div></div></div></div></blockquote><div><br></div><div>This is less of an issue because we release in lockstep here.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> This configuration seems rare to me: macOS is the only system I know of where '/usr/bin/as' is the LLVM assembler. As long as the macOS compiler and assembler are the same LLVM version, though, there's no problem. Clang also defaults to the integrated assembler, which avoids the problem.</div><div><br></div></div></div></div></blockquote><div><br></div><div>Agreed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>Otherwise, maybe there are esoteric assemblers that don't support uleb128 directives (or *do* support them, but hit the infinite loop problem)? I don't know of any in particular.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div></div></div></div></blockquote><div><br></div><div>Nothing comes to mind.</div><div><br></div><div>-eric</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>-Ryan</div><div><br></div></div></div></div>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div>