<div dir="ltr">On Wed, Sep 4, 2013 at 2:13 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The --as-needed attribute is preserved and is contained within the ELF FileNode.<br></blockquote><div><br></div><div>I'm not really get your point. If each input file don't need LinkerInput, why it needs LinkerInput only when an input file is not within --start-group/end-group? I really agree with Nick's point that we have too many classes.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
By lld::files, I am referring to lld::File.<br>
<br>
Thanks<br>
<br>
Shankar Easwaran<div class="im"><br>
<br>
On 9/4/2013 4:10 PM, Rui Ueyama wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On Wed, Sep 4, 2013 at 2:03 PM, Shankar Easwaran <<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>><u></u>wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, the Group is to represent --start-group,--end-group.<br>
<br>
So the group here will be contained in the linker Input as a vector of<br>
lld::files (foo.a, bar.a).<br>
</blockquote>
<br>
It seems you dropped --as-needed attribute... ?<br>
<br>
By lld::files, what class are you pointing to, lld::File or lld::InputFiles?<br>
<br>
<br>
thanks<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Shankar Easwaran<br>
<br>
<br>
On 9/4/2013 3:59 PM, Rui Ueyama wrote:<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
The first question is that Group is to represent<br>
--start-group/--end-group?<br>
<br>
If I understand your proposal correctly, here's the thing: if file is not<br>
in group, each individual file is wrapped with LinkerInput, but if it's in<br>
a group, it's not -- instead the entire group is wrapped with a<br>
LinkerInput. This asymmetry is a bit concerning. If we don't need a<br>
LinkerInput for each individual input file, we could get rid of it from<br>
the<br>
former case. Otherwise, I'd think we need LinkerInput in the latter case.<br>
<br>
For example, if the following command line options are given, how it's<br>
represented with LinkerInput, Group and File?<br>
<br>
   --start-group foo.a --as-needed bar.a --no-as-needed --end-group<br>
<br>
On Wed, Sep 4, 2013 at 1:42 PM, Shankar Easwaran <<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a><br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
**wrote:<br>
</blockquote><div><div class="h5">
  Hi,<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
With the inputGraph now, lld models command line options, input files as<br>
nodes in the InputGraph called InputElements.<br>
<br>
In the current approach, each InputElement is converted to a LinkerInput,<br>
which works if all lld deals with individual files.<br>
<br>
Dealing with ControlNodes (Groups), have a problem with it, on how to<br>
model that as a LinkerInput.<br>
<br>
Joerg/Me were chatting on the IRC about this and we came up with the<br>
following approach.<br>
<br>
- LinkerInput will contain a single file(lld::File), if the node that its<br>
pointing to appears to be a FileNode<br>
- LinkerInput will contain a vector(lld::Group) of files(lld::Files) , if<br>
the node that its pointing appears to be a Group<br>
<br>
The resolver would need to be modified to consider lld::Groups in<br>
addition<br>
to lld::File.<br>
<br>
Does this sound like the approach we want to take ?<br>
<br>
Thanks<br>
<br>
Shankar Easwaran<br>
<br>
--<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted<br>
by the Linux Foundation<br>
<br>
<br>
<br>
</blockquote></div></div></blockquote><div><div class="h5">
--<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted<br>
by the Linux Foundation<br>
<br>
<br>
</div></div></blockquote></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</div></div></blockquote></div><br></div></div>