<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 2/23/2015 10:02 AM, Rafael Espíndola
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAG3jReKidBMQ2F9X5yMmLn1BtFu6rz3amQCyxfoC+g5y9L3xug@mail.gmail.com"
      type="cite">
      <pre wrap="">On 22 February 2015 at 19:04, Shankar Easwaran <a class="moz-txt-link-rfc2396E" href="mailto:shankare@codeaurora.org"><shankare@codeaurora.org></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Author: shankare
Date: Sun Feb 22 18:04:49 2015
New Revision: 230194

URL: <a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project?rev=230194&view=rev">http://llvm.org/viewvc/llvm-project?rev=230194&view=rev</a>
Log:
[ELF] Add .gnu.linkonce support.

When the GNU linker sees two input sections with the same name, and the name
starts with ".gnu.linkonce.", the linker will only keep one copy and discard the
other. Any section whose name starts with “.gnu.linkonce.” is a COMDAT section.

Some architectures like Hexagon use this section to store floating point constants,
that need be deduped.
</pre>
      </blockquote>
      <pre wrap="">
Why not use SHF_MERGE sections?</pre>
    </blockquote>
    I have seen SHF_MERGE only works with readonly, I may be wrong.<br>
    <br>
    SHF_MERGE does not work as there are specific signatures that are
    used with .gnu.linkonce to store hot code too (.gnu.linkonce.t) and
    we also use TLS floating point <b>data </b>in gnu linkonce too.<br>
    <br>
    Shankar Easwaran<br>
    <pre class="moz-signature" cols="72">-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
  </body>
</html>