<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Sep 13, 2014 at 11:26 PM, Shankar Kalpathi Easwaran <span dir="ltr"><<a href="mailto:shankarke@gmail.com" target="_blank">shankarke@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">a) The undefined symbol could very well be in a shared library or a regular ELF object, which is already parsed by a thread.<br>
b) There might be more than one archive library or a .o that would have the same symbol name.<br>
c) Weak symbol resolution has to be taken care as well, as the symbol name would be the same, and symbols may be picked up from a different archive on how the weak symbol was resolved.<br>
d) The inputGraph is agnostic to what input in the graph contains the symbol name.<br></blockquote><div><br></div><div>All the above points make sense but they would be handled well in my approach. I guess you just pointed out the things that we have to consider?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We could have a background thread, that could be designated to **only parse archive** files by looking at undefined symbols.<br></blockquote><div><br></div><div>That's what I'm proposing.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What do you think ?<br>
<br>
================<br>
Comment at: include/lld/Core/InputGraph.h:85<br>
@@ +84,3 @@<br>
+  /// file is requested from the core linker we can respond to it quickly.<br>
+  /// It does not change the meaining of the code. In particualr this<br>
+  /// function should not have any observable side effect.<br>
----------------<br>
spell errors.<br>
<br>
<a href="http://reviews.llvm.org/D5340" target="_blank">http://reviews.llvm.org/D5340</a><br>
<br>
<br>
</blockquote></div><br></div></div>