<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 7, 2016 at 7:23 AM, Rafael Espíndola <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">David and I discussed a bit on IRC, but looks like it never got logged. Sorry.<br>
<br>
So, from the discussion:<br>
<br>
* dwp is not really a linker (no relocations if I remember correctly)<br></blockquote><div><br></div><div>That's correct - it has some context-sensitive/domain-specific stuff in place of relocations, essentially (strings are indirected through str_offsets, and sections are indirected through the cu_index and tu_index). I'd say the nearest model is "linker with a different relocation system" (& indeed binutils dwp was implemented using gold's APIs)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* dwp is not really an assembler (no relaxations)<br></blockquote><div><br></div><div>Right (I just started with MC cargo-culting in from llvm-dsymutil to work up a prototype, but the more I poke at it, the more linker-ish it feels)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
So it seems that what needs to happen is that instead of dwp using MC,<br>
lib/MC/ELFObjectWriter.cpp should be refactored into a small library<br>
that bot MC and dwp can use.<br></blockquote><div><br></div><div>Yeah. Likely - I've been looking at the code in that direction for the last couple of days. Not sure what I'll be able to make of it (& whether the generalization will apply to non-ELF as well, hopefully it does - there's nothing really about the DWP format that's ELF-specific. It's just sections with bytes, no relocs, etc)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Rafael<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div></div>