This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: [Mips}Using DT tags for handling local ifuncs
- From: Jack Carter <Jack dot Carter at imgtec dot com>
- To: Alan Modra <amodra at gmail dot com>
- Cc: Richard Sandiford <rdsandiford at googlemail dot com>, "Maciej W. Rozycki" <macro at codesourcery dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>, Doug Gilmore <Doug dot Gilmore at imgtec dot com>
- Date: Thu, 12 Dec 2013 03:01:38 +0000
- Subject: RE: [Mips}Using DT tags for handling local ifuncs
- Authentication-results: sourceware.org; auth=none
- References: <4CEFBC1BE64A8048869F799EF2D2EEEE4C6DDFC3 at BADAG02 dot ba dot imgtec dot org> <87ob4p6qdt dot fsf at talisman dot default> <87k3fd6owc dot fsf at talisman dot default> <4CEFBC1BE64A8048869F799EF2D2EEEE4C6DE23E at BADAG02 dot ba dot imgtec dot org> <87txef6a07 dot fsf at talisman dot default> <4CEFBC1BE64A8048869F799EF2D2EEEE4C6DE3B8 at BADAG02 dot ba dot imgtec dot org> <87haaf5hbg dot fsf at talisman dot default> <4CEFBC1BE64A8048869F799EF2D2EEEE4C6DE50C at BADAG02 dot ba dot imgtec dot org> <877gbb5c2k dot fsf at talisman dot default> <4CEFBC1BE64A8048869F799EF2D2EEEE4C6DE59A at BADAG02 dot ba dot imgtec dot org>,<20131212015048 dot GC16770 at bubble dot grove dot modra dot org>
> > > 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