<div dir="ltr">Dead-stripping is enabled by default for PE/COFF because MSVC link.exe does it by default.<div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 27, 2014 at 2:38 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>I understand your usecase, but what I
meant is, dead-strip is only a option available in core. <br>
<br>
Removing kindLayoutBefore completely should not affect anything
because we dont dead strip in flavors [link, gnu, ld64] <br>
<br>
Thanks<span><font color="#888888"><br>
<br>
Shankar Easwaran</font></span><div><div><br>
<br>
On 3/27/2014 4:31 PM, Rui Ueyama wrote:<br>
</div></div></div><div><div>
<blockquote type="cite">
<div dir="ltr">
<div>Can you elaborate a bit? I don't understand what you mean.</div>
<div><br>
</div>
<div>Removing kindLayoutBefore will affect dead stripping
because it would lost back references for kindLayoutAfter, so
it would collect live atoms.</div>
<div><br>
</div>
I'm not removing kindLayoutBefore in this patch. This patch is
just to stop using kindLayoutBefore in the layout pass. The dead
stripping pass is still using it. Removing kindLayoutBefore
entirety is the last step, after modifying the dead stripping
pass so that the pass works without kindLayoutBefore (only with
kindLayoutAfter and kindInGroup).<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Mar 27, 2014 at 12:45 PM,
Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>
<div>On 3/27/2014 2:33 PM, Rui Ueyama wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div style="font-family:arial,sans-serif;font-size:13px">(I
accidentally hit "reply" instead of "reply all",
so sending it again.)</div>
<div style="font-family:arial,sans-serif;font-size:13px">
<br>
</div>
<div style="font-family:arial,sans-serif;font-size:13px">I'll
add "alias" references if no objections from other
reviewers. I'll probably add ELF symbol aliasing
support with it, so hold on.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br>
</div>
<div style="font-family:arial,sans-serif;font-size:13px">We
cannot remove kindLayoutBefore because doing it
would break dead stripping pass. We still need it
for GC as GC needs backward references.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br>
</div>
<div style="font-family:arial,sans-serif;font-size:13px">To
remove kindLayoutBefore, we have to modify dead
striping pass so that it creates back references
internally from forward references and use it
while collecting dead objects. I think I'm going
to make such change, but it's going a bit large.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br>
</div>
<div style="font-family:arial,sans-serif;font-size:13px">Submitting
this change first and then doing the next step in
a following patch would be better than merging the
two together. Incremental change is easier to
bisect in case it would breaks omething, and it's
easy to understand for reviewers, too.</div>
</div>
<div class="gmail_extra"><br>
</div>
</blockquote>
</div>
<div> Do we have a flag to garbage collect atoms
with lld in the current implementation ? If not removing
kindLayoutBefore wouldnot affect anything right ?<br>
<br>
</div>
<div> Shankar Easwaran<br>
<br>
<pre cols="72">--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<br>
<pre cols="72">--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
</div></div></div>
</blockquote></div><br></div></div>