<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 2, 2013 at 9:28 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank" class="cremed">shankare@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 9/2/2013 11:09 PM, Chandler Carruth wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I really don't follow what you're saying. Not all linkers are capable of resolving cyclic references using start-group/end-group even for static links. Thus, I'm suggesting we shouldn't include such patterns in any art of our design. I don't know if it does today or not, I'm merely responding to your comment that cyclic dependencies could be handled with start-group/end-group to clarify that this isn't a viable solution on all platforms where LLVM projects are being built. <br>

</blockquote></div>
Sorry for being terse.<br>
<br>
I totally agree to your point that, we shouldnot be using --start-group/--end-group.<br>
<br>
What I was trying to mention here is :-<br>
<br>
a) Currently lld creates a shared library for each of the individual components when BUILD_SHARED_LIBS is turned on.<br>
The list of libraries are liblldYAML, liblldELF and so on.<br>
<br>
Inorder for utilities to link with lld libraries, doesnt llvm-config need to contain the list of lld libraries too, that the tools need inorder to link with ?</blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">
I see.</div><div class="gmail_extra"><br></div>Yes this seems true today, but I agree we're no where near the point that it makes sense for consumers to link against the LLD libraries. When we want to start supporting it, we will indeed have to design some way to list the correct set of libraries. Either with a config command, or by building a single shared library (distinct from the current collection of small, well factored libraries) that is the "external" interface. Anyways, this is a long way away. I just didn't want circularity to creep in within LLD itself.</div>
</div>