diff options
| -rw-r--r-- | man3/dlopen.3 | 19 |
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 |
