<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Dec 12, 2016 at 3:34 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Rui Ueyama via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> writes:<br>
> I think that my point is, if a section is written to output, it should<br>
> be marked as "live" whatever its type is.<br>
<br>
</span>Agreed.<br>
<span class=""><br>
> If non-alloc sections are copied to output unconditionally, they should be marked as "live" by default from the beginning.<br>
<br>
</span>I thought we did just that.<br>
<span class=""><br>
> Doing something "non-live sections are sometimes actually live under some condition, so handle that special case here" is not a good idea.<br>
<br>
</span>The only complication we have that is unfortunately necessary given how<br>
current debug info is implemented is that a non-alloc (and therefore<br>
live) section can have a relocation pointing to a dead alloc section.<br></blockquote><div><br></div><div>Does that mean we are keeping some debug sections although they can be gc'ed? </div></div></div></div>