This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [discuss] Proposal for STT_GNU_IFUNC and R_*_IRELATIVE
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Paul Brook <paul at codesourcery dot com>
- Cc: Administrator at x86-64 dot org, discuss at x86-64 dot org, GNU C Library <libc-alpha at sourceware dot org>, Nick Clifton <nickc at redhat dot com>, generic-abi at googlegroups dot com, Ulrich Drepper <drepper at redhat dot com>, ia32-abi at googlegroups dot com, Roland McGrath <roland at redhat dot com>
- Date: Mon, 8 Jun 2009 06:57:25 -0700
- Subject: Re: [discuss] Proposal for STT_GNU_IFUNC and R_*_IRELATIVE
- References: <6dc9ffc80905251156p1ab274aey8e52be086fd88749@mail.gmail.com> <6dc9ffc80906060511g53fda77r653cf2433dffc9f8@mail.gmail.com> <20090606125521.D747CFC3C3@magilla.sf.frob.com> <1EA35E77245F4416A658735C55D26242@Partis.local>
On Mon, Jun 8, 2009 at 6:30 AM, Paul Brook<paul@codesourcery.com> wrote:
>> The only other alternative to #1 that I see is some scheme whereby "&func"
>> will in all cases resolve to a PLT entry rather than the actual
>> STT_GNU_IFUNC symbol's st_value. ?i.e., the ifunc resolver is only called
>> for PLT resolution (and you can do all those last for BIND_NOW).
>
> This will break pointer comparisons across modules.
>
Please try the current binutils in CVS. I think I have fixed all
problems. If not,
please open a bug report with a testcase.
Thanks.
--
H.J.