RFC: x86: Fall back to lazy binding for unrelocated IFUNC symbol [BZ #23240]
Florian Weimer
fweimer@redhat.com
Sat May 26 21:02:00 GMT 2018
On 05/26/2018 03:52 PM, H.J. Lu wrote:
> + /* NB: The symbol reference is resolved to IFUNC symbol
> + from a shared object which hasn't been relocated yet.
> + Relocate the GOT entry to enable lazy binding. */
> + value = map->l_addr + *reloc_addr;
> + /* Disable RELRO so that the GOT entry can updated by lazy
> + binding later. */
> + if (map->l_info[DT_BIND_NOW] != NULL)
> + map->l_relro_size = 0;
People perceive BIND_NOW as a security feature. Silently disabling it
in this way, perhaps due to an implementation change in another shared
object, looks very wrong to me.
Maybe you could share the *concrete* problem you are actually trying to
solve?
Thanks,
Florian
More information about the Libc-alpha
mailing list