This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] ld/ld.texinfo: Do not constrain dynamic linker lazy binding behaviour.
On 07/08/2016 02:28 PM, Andreas Schwab wrote:
Florian Weimer <email@example.com> writes:
On 07/08/2016 03:44 AM, Carlos O'Donell wrote:
When generating an executable or shared library, mark it to tell the
-dynamic linker to defer function call resolution to the point when
-the function is called (lazy binding), rather than at load time.
-Lazy binding is the default.
+dynamic linker to defer function call resolution to a future time
+which may be as late as when the function is called (lazy binding),
+rather than at load time. Resolution functions for GNU indirect
+functions (STT_GNU_IFUNC) may be called one or more times during
+function call resolution. Lazy binding is the default.
This implies that IFUNC resolver invocations are delayed as late as
possible (right until a function call which needs the relocation). Is
this something we want to guarantee?
The text says "may", so I don't see any guarantee.
The “during function call resolution” part concerns me.