This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] ld/ld.texinfo: Do not constrain dynamic linker lazy binding behaviour.

The resolution of function symbols under lazy binding should
not be constrained by the binutils documentation.

The lazy binding can theoretically happen at any time between
load of the shared object and the function call. Under some
conditions it may be desirable to have it happen earlier than
the function call time.

For the sake of the argument consider a future optimization where
we might be able to do a bulk resolution of all symbols in a given
shared object, and so lazy resolution of _all_ symbols for a given
shared object happens at the first call to a function from the
shared object rather than at each call.

No regressions on x86_64, and pdf of the manual looks good.

OK to checkin?


2016-07-07  Carlos O'Donell  <>

	* ld.texinfo (Command Line Options,lazy): Lazy binding can
	happen at any time between load and function call.

diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index bc16764..4599b98 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1122,9 +1122,9 @@ but the primary executable.
 @item lazy
 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. Lazy binding is the default.
 @item loadfltr
 Marks  the object that its filters be processed immediately at


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]