[LLVMdev] [lld] Modeling ELF FileNodes/ControlNodes (Group's) in lld
ruiu at google.com
Wed Sep 4 14:10:57 PDT 2013
On Wed, Sep 4, 2013 at 2:03 PM, Shankar Easwaran <shankare at codeaurora.org>wrote:
> Yes, the Group is to represent --start-group,--end-group.
> So the group here will be contained in the linker Input as a vector of
> lld::files (foo.a, bar.a).
It seems you dropped --as-needed attribute... ?
By lld::files, what class are you pointing to, lld::File or lld::InputFiles?
> Shankar Easwaran
> On 9/4/2013 3:59 PM, Rui Ueyama wrote:
>> The first question is that Group is to represent
>> If I understand your proposal correctly, here's the thing: if file is not
>> in group, each individual file is wrapped with LinkerInput, but if it's in
>> a group, it's not -- instead the entire group is wrapped with a
>> LinkerInput. This asymmetry is a bit concerning. If we don't need a
>> LinkerInput for each individual input file, we could get rid of it from
>> former case. Otherwise, I'd think we need LinkerInput in the latter case.
>> For example, if the following command line options are given, how it's
>> represented with LinkerInput, Group and File?
>> --start-group foo.a --as-needed bar.a --no-as-needed --end-group
>> On Wed, Sep 4, 2013 at 1:42 PM, Shankar Easwaran <shankare at codeaurora.org
>>> With the inputGraph now, lld models command line options, input files as
>>> nodes in the InputGraph called InputElements.
>>> In the current approach, each InputElement is converted to a LinkerInput,
>>> which works if all lld deals with individual files.
>>> Dealing with ControlNodes (Groups), have a problem with it, on how to
>>> model that as a LinkerInput.
>>> Joerg/Me were chatting on the IRC about this and we came up with the
>>> following approach.
>>> - LinkerInput will contain a single file(lld::File), if the node that its
>>> pointing to appears to be a FileNode
>>> - LinkerInput will contain a vector(lld::Group) of files(lld::Files) , if
>>> the node that its pointing appears to be a Group
>>> The resolver would need to be modified to consider lld::Groups in
>>> to lld::File.
>>> Does this sound like the approach we want to take ?
>>> Shankar Easwaran
>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
>>> by the Linux Foundation
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by the Linux Foundation
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev