This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: rtld: resolve incoming STT_GNU_IFUNC only after DT_INIT
* John Reiser:
> However, a relocation from some other module to a STT_GNU_IFUNC symbol
> in the current shared library cannot be intercepted like that.
> That's why DT_INIT should be called before such a relocation is resolved,
> so that the IFUNC code can be de-compressed into the right place
> before it gets called.
I don't think it's safe at all to call DT_INIT during relocation
processing. You need to explain why you think it is.
I really don't see how we can make this happen. As I said, DT_INIT
may need the relocations which result from IFUNC processing.