This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: RFC: x86: Fall back to lazy binding for unrelocated IFUNC symbol [BZ #23240]
- From: Florian Weimer <fweimer at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, Carlos O'Donell <carlos at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 5 Jun 2018 21:24:46 +0200
- Subject: Re: RFC: x86: Fall back to lazy binding for unrelocated IFUNC symbol [BZ #23240]
- References: <20180526135209.GA23818@intel.com> <fbaa5916-fc89-0ab9-72ed-883a408eaad4@redhat.com> <CAMe9rOrKtM2t3khHZonNw_xpZ22Nj2BU1A-6_7eAa6nNaQGDDA@mail.gmail.com> <a34107c3-880e-c40b-98b2-8026e9e29acf@redhat.com> <d476f562-1f99-3817-7b86-788e3540a42a@redhat.com> <CAMe9rOoKECiA-0ZHFazLzzBtvHVmCdMzYaBfqsJwh0q2Qch07w@mail.gmail.com>
On 05/28/2018 09:51 PM, H.J. Lu wrote:
Here is the updated patch. It fails to back lazy binding only
if GOT is writable.
I think this still sets a wrong incentive, as in “you need to have a
writable GOT for full forwards compatibility with future library evolution”.
I think if we detect an IFUNC-based relocation against a
not-yet-fully-relocated object, we need to delay this relocation
processing and perform a second pass of all delayed relocations. I have
a patch which needs a little bit of work, but looks quite promising (to
me at least).
Thanks,
Florian