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: [Mips}Using DT tags for handling local ifuncs


> > > but the processing order would be:
> > >
> > >    local GOT
> > >    global GOT
> > >    .rel.dyn (including ER GOT)
> >
> > So what? It doesn't matter what the order is for processing. The locations matter
> > if we think that we might want to tap into the dynsym table later.
> 
> The order in which relocations are processed certainly does matter.
> ifunc resolver functions are called during relocation processing.  You
> don't want to call a resolver before relocations it needs (eg. got
> relocs to access a global var) have been applied.
> 
> It is possible to enforce this ordering in ld.so, but that means
> another pass over dynamic relocations..

We are arguing over the order in the got table not the order the relocations are processed.
I would assume that explicit relocations would be done at one time whereas the implicit
relocations are being done when they are currently done.

It doesn't matter which order in got the logical tables (local implicit, local explicit, global implicit)
are pysically located. We will have some way to know where one begins and end and we will
process them when needed as we do now.

Jack

> 
> --
> Alan Modra
> Australia Development Lab, IBM


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