<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>