[PATCH] bfd: Add support for more than one plugin in lib/bfd-plugins
Alan Modra
amodra@gmail.com
Wed Sep 24 01:49:00 GMT 2014
On Tue, Sep 23, 2014 at 07:21:10PM +0200, Markus Trippelsdorf wrote:
> On 2014.09.23 at 23:31 +0930, Alan Modra wrote:
> > On Tue, Sep 23, 2014 at 03:07:29PM +0200, Markus Trippelsdorf wrote:
> > > On 2014.09.23 at 21:38 +0930, Alan Modra wrote:
> > > > A perhaps more serious issue is that after your patch we'll call
> > > > dlopen() and onload() on each lto input object file. Before, we
> > > > dlopen a plugin and call onload just once.
> > >
> > > That is the price to pay for handling mixed (LLVM/GCC/native) archives.
> >
> > No, you can still get by with one dlopen per plugin without
> > complicating matters too much. The idea is to load all the plugins
> > the first time you need any, storing their claim_file function
> > addresses in a dynamically allocated array or linked list. Then for
> > each object file, iterate over these claim_file functions until you
> > find one that claims the object.
>
> All this is already handled by Linux in the background. Just look at
> strace output. So I think implementing the above is not necessary.
Well, OK, since the bfd/plugin.c code is really only for ar, nm and
suchlike the extra time spent in glibc and the lto-plugin probably
doesn't matter. The patch is OK. I'll be coming back to you if
this needs fixing in the future!
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list