aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man3/dlopen.319
1 files changed, 13 insertions, 6 deletions
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index 2328831641..18801ec5da 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -202,14 +202,21 @@ and then all shared objects loaded by
with the flag
.BR RTLD_GLOBAL .
.PP
-External references in the shared object are resolved using the
-shared objects in that object's dependency list and any other
-objects previously opened with the
-.B RTLD_GLOBAL
-flag.
+Symbol references in the shared object are resolved using (in order):
+symbols in the link map of objects loaded for the main program and its
+dependencies;
+symbols in shared objects (and their dependencies)
+that were previously opened with
+.BR dlopen ()
+using the
+.BR RTLD_GLOBAL
+flag;
+and definitions in the shared object itself
+(and any dependencies that were loaded for that object).
+.PP
If the executable was linked with the flag "\-rdynamic"
(or, synonymously, "\-\-export\-dynamic"),
-then the global symbols in the executable will also be used
+then global symbols in the executable will also be used
to resolve references in a dynamically loaded shared object.
.PP
If the same shared object is opened again with