This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Proposal for STT_GNU_IFUNC and R_*_IRELATIVE
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: ia32-abi at googlegroups dot com
- Cc: Generic System V Application Binary Interface <generic-abi at googlegroups dot com>, GNU C Library <libc-alpha at sourceware dot org>, discuss at x86-64 dot org, Binutils <binutils at sourceware dot org>, Nick Clifton <nickc at redhat dot com>, Ulrich Drepper <drepper at redhat dot com>
- Date: Mon, 1 Jun 2009 13:12:44 -0700
- Subject: Re: Proposal for STT_GNU_IFUNC and R_*_IRELATIVE
- References: <6dc9ffc80905251156p1ab274aey8e52be086fd88749@mail.gmail.com> <6dc9ffc80906011246v3681460are7c2a0de5209a1e4@mail.gmail.com> <m34ouz7m6c.fsf@google.com>
On Mon, Jun 1, 2009 at 1:07 PM, Ian Lance Taylor
<ianlancetaylor@gmail.com> wrote:
>
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>> R_*_IRELATIVE
>>
>> ? ? ? This relocation is similar to R_*_RELATIVE except that the
>> ? ? ? value used in this relocation is the program address returned
>> ? ? ? by the function, which takes no arguments, at the address of
>> ? ? ? the result of the corresponding R_*_RELATIVE relocation.
>>
>> ? ? ? The purpose of this relocation to avoid name lookup for locally
>> ? ? ? defined STT_GNU_IFUNC symbols at load-time.
>
> How is the "corresponding R_*_RELATIVE relocation" determined?
I added "as specified in the processor-specific ABI":
R_*_IRELATIVE
This relocation is similar to R_*_RELATIVE except that the
value used in this relocation is the program address returned
by the function, which takes no arguments, at the address of
the result of the corresponding R_*_RELATIVE relocation as
specified in the processor-specific ABI.
--
H.J.