This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: Proposal for STT_GNU_IFUNC and R_*_IRELATIVE


On Tue, May 26, 2009 at 09:30:42AM -0700, Ian Lance Taylor wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
> 
> > I don't see the fundamental difference between the new relocation and
> > the new DT_* tags. The end result is the same. If your OS doesn't support
> > them, the application will crash if they are used. I will propose a new
> > x86-64 psABI extension, which will be optional. If an OS supports
> > STT_GNU_IFUNC, it must support R_X86_64_IRELATIVE.
> 
> One difference is that a new relocation has to be defined for every
> processor ABI separately.  New DT_* tags can be defined once.

The new relocation types aren't useful just for hidden/local
STT_GNU_IFUNC, but also for prelink, which in .gnu.conflict section
needs to preresolve a normal relocation against STT_GNU_IFUNC symbol
into some kind of relocation which ensures that a function is called
and result returned.


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