<div dir="ltr">Done.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 27, 2014 at 3:00 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>Wow, I was unaware of this change that
deadStrip was always enabled for PE/COFF with lld.<br>
<br>
LGTM then, Can we put a note in the code that kindLayoutBefore
will be removed and used only by Dead stripping code to prevent
atoms from being deadstripped.<br>
<br>
Thanks<span class="HOEnZb"><font color="#888888"><br>
<br>
Shankar Easwaran</font></span><div><div class="h5"><br>
<br>
On 3/27/2014 4:40 PM, Rui Ueyama wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<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>
</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>