[Mips}Using DT tags for handling local ifuncs

Jack Carter Jack.Carter@imgtec.com
Thu Dec 12 03:02:00 GMT 2013


> > > 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



More information about the Binutils mailing list