<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body 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>
<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>
<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>
<p><br>
</p>
<div id="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div class="BodyFragment"><font size="2">
<div class="PlainText">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 dir="ltr" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" 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<br>
<b>Копия:</b> Sean Silva; llvm-dev@lists.llvm.org; Rui Ueyama; Rafael Espindola<br>
<b>Тема:</b> Re: [llvm-dev] [RFC] - Deduplication of debug information in linkers (LLD).</font>
<div> </div>
</div>
<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="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div class="BodyFragment"><font size="2">
<div class="PlainText">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 tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>От:</b> David Blaikie <dblaikie@gmail.com><br>
<b>Отправлено:</b> 16 декабря 2017 г. 22:25<br>
<b>Кому:</b> George Rimar<br>
<b>Копия:</b> Sean Silva; llvm-dev@lists.llvm.org; 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">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>
</body>
</html>