This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: linker plugin api limitation


On Mon, Feb 22, 2016 at 8:40 AM, Rafael EspÃndola
<rafael.espindola@gmail.com> wrote:
>>> I don't think it is implemented in BFD ld. The idea is that using
>>>
>>> $ ld ... --start-lib <objs> --end-lib
>>>
>>> should be equivalent to
>>> $ ar rc foo.a <objs>
>>> $ ld ... foo.a
>>>
>>> ar is normally very fast, but when doing a fully distributed build one
>>> would still need to copy <objs> to a node just to create foo.a. Using
>>> --start-lib/--end-lib saves that step.
>>>
>>
>> Have you tried the AR equivalent with gold?
>
> I did not, but I am pretty sure what happens: The plugin is never even
> asked to look at the member since gold only needs the archive index to
> know the member is not used.
>
> The difference with --start-lib/--end-lib is that gold has to use the
> plugin to find out the symbols defined by a file to know if it is
> needed in the link or not.

The plugin API does support it as shown by

ar rc foo.a <objs>
gold ... foo.a

Gold just fails to handle it properly.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]