<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Sat, Dec 16, 2017 at 11:40 AM George Rimar <<a href="mailto:grimar@accesssoftek.com">grimar@accesssoftek.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Or following workflow:<br>
</p>
<p>Split dwarf is used to make linker to proccess less, like relocations, right ?<br></p></div></blockquote><div>Partly, though the main motivation as far as I know, was to have to provide fewer bytes to the linker at all. That's why something like Apple's scheme (leave the debug info in the object files, but have the linker ignore them - then merge the debug info separately in dsymutil) wasn't applicable - because that still leaves large object files. For a distributed build system like Google's, with very large binaries, the presence of the bytes, even if they're ignored/not processed by the linker, was problematic. <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><p>
</p>
<p>What about (I think I heard this somewhere, not sure idea is mine, it was a year ago I think).<br>
</p>
<p>What about something that combines output to a linker output, so it could do optimizations<br></p></div></blockquote><div>Not sure I understand what you're suggesting here, sorry :/ </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><p>
</p>
<p>of DWARF data (probably no need to proccess relocations at all, so it would be fast probably). </p>
<p>And combine everything to a single file.<br>
</p>
<p>Some kind of mix. Not sure it makes sence. Just wondering.<br>
</p></div><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p><br>
</p>
<div id="m_-5637277538906467333Signature">
<div name="divtagdefaultwrapper">
<div class="m_-5637277538906467333BodyFragment"><font size="2">
<div class="m_-5637277538906467333PlainText">Best regards,<br>
George | Developer | <span style="background-color:rgb(255,255,255);color:rgb(33,33,33);font-family:Calibri,sans-serif;font-size:13.3333px">Access Softek, Inc</span></div>
</font></div>
</div>
</div>
</div><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<hr style="display:inline-block;width:98%">
<div id="m_-5637277538906467333divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>От:</b> George Rimar<br>
<b>Отправлено:</b> 16 декабря 2017 г. 22:27<br>
<b>Кому:</b> David Blaikie</font></div></div></div><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><div id="m_-5637277538906467333divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><br>
<b>Копия:</b> Sean Silva; <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>; Rui Ueyama; Rafael Espindola<br>
<b>Тема:</b> Re: [llvm-dev] [RFC] - Deduplication of debug information in linkers (LLD).</font></div></div></div><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif"><div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<div>
<p>​But could not we for example do split dwarf, but for example do dedup of types ?<br>
</p>
<p>I do not mean right now, but in a theory ?<br>
</p>
<p><br>
</p>
<div id="m_-5637277538906467333Signature">
<div name="divtagdefaultwrapper">
<div class="m_-5637277538906467333BodyFragment"><font size="2">
<div class="m_-5637277538906467333PlainText">Best regards,<br>
George | Developer | <span style="background-color:rgb(255,255,255);color:rgb(33,33,33);font-family:Calibri,sans-serif;font-size:13.3333px">Access Softek, Inc</span></div>
</font></div>
</div>
</div>
<div style="color:rgb(33,33,33)">
<hr style="display:inline-block;width:98%">
<div id="m_-5637277538906467333divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>От:</b> David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
<b>Отправлено:</b> 16 декабря 2017 г. 22:25<br>
<b>Кому:</b> George Rimar<br>
<b>Копия:</b> Sean Silva; <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>; Rui Ueyama; Rafael Espindola<br>
<b>Тема:</b> Re: [llvm-dev] [RFC] - Deduplication of debug information in linkers (LLD).</font>
<div> </div>
</div>
<div>
<div dir="ltr"><br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Sat, Dec 16, 2017 at 4:08 AM George Rimar <<a href="mailto:grimar@accesssoftek.com" target="_blank">grimar@accesssoftek.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p><span style="font-size:12pt;color:rgb(33,33,33)">></span><span style="font-size:12pt;color:rgb(33,33,33)">Wasn't our (lld/ELF's) position on debug info size that we should focus on providing a great split-dwarf workflow and not try go too far out of our
 way to deduplicate >or otherwise reduce debug info size inside LLD? I recall there being some patches that made linking of large debug binaries like 1.5GB+ clang faster, but we decided to >reject those changes because split-dwarf was the "right" solution.</span><br>
</p>
</div>
<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="color:rgb(33,33,33)">
<div>
<div dir="ltr">
<div>> </div>
<div>>Rafael, Rui?</div>
<div>> </div>
<div>>(I even recall Rafael saying at one point that a great split-dwarf workflow was one of the key things he considered as necessary for him to consider LLD "done")</div>
<div>> </div>
<div>>-- Sean Silva</div>
</div>
<div class="gmail_extra"><br>
</div>
</div>
</div>
</div>
<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="color:rgb(33,33,33)">
<div>
<div class="gmail_extra">I probably not the right person to suggest (still mostly learning here for now, so would like to be on a fence in general), </div>
<div class="gmail_extra">but it looks for me that splitting <span style="color:rgb(33,33,33);font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
DWARF </span>and deduplicating DWARF is a bit othogonal things.<br>
</div>
<div class="gmail_extra">It feels for me that there is a room to do both things and have a benefit from combinatiion ?<br>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
The two features/directions don't really compose - if the DWARF is split, then the linker never sees the DWARF (it's not in the object files), so has no deduplication to do. (llvm-dwp might see it, so the deduplication can happen there)<br>
 </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="color:rgb(33,33,33)">
<div>
<div class="gmail_extra"></div>
</div>
</div>
</div>
<div dir="ltr" style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="color:rgb(33,33,33)">
<div>
<div class="gmail_extra"><span style="font-size:12pt"><br>
</span></div>
<div class="gmail_extra">George.<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div></div></blockquote></div></div>