diff options
author | jan.nijtmans <jan.nijtmans@noemail.net> | 2011-03-22 10:10:05 (GMT) |
---|---|---|
committer | jan.nijtmans <jan.nijtmans@noemail.net> | 2011-03-22 10:10:05 (GMT) |
commit | ed9ebb8be190c46681b6d528335ca864be896729 (patch) | |
tree | fed1fb5e28145b501c3d3b462be3b590566e964a /unix/tclLoadDyld.c | |
parent | 9178c4ebb29308309eab36d0a37136b344d3dd8a (diff) | |
parent | e0fa50f309dbb05766f4769fbc9ef852038f1da4 (diff) | |
download | tcl-ed9ebb8be190c46681b6d528335ca864be896729.zip tcl-ed9ebb8be190c46681b6d528335ca864be896729.tar.gz tcl-ed9ebb8be190c46681b6d528335ca864be896729.tar.bz2 |
[Bug #3216070] Loading extension libraries from embedded Tcl applications.
FossilOrigin-Name: e18262f10e61ac8854f4758f4b2378d3ae61c1b4
Diffstat (limited to 'unix/tclLoadDyld.c')
-rw-r--r-- | unix/tclLoadDyld.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/unix/tclLoadDyld.c b/unix/tclLoadDyld.c index 08d651c..0a36215 100644 --- a/unix/tclLoadDyld.c +++ b/unix/tclLoadDyld.c @@ -196,7 +196,10 @@ TclpDlopen( if (tclMacOSXDarwinRelease >= 8) #endif { - dlHandle = dlopen(nativePath, RTLD_NOW | RTLD_GLOBAL); + /* + * Use (RTLD_NOW|RTLD_LOCAL) always, see [Bug #3216070] + */ + dlHandle = dlopen(nativePath, RTLD_NOW | RTLD_LOCAL); if (!dlHandle) { /* * Let the OS loader examine the binary search path for whatever @@ -206,7 +209,10 @@ TclpDlopen( fileName = Tcl_GetString(pathPtr); nativeFileName = Tcl_UtfToExternalDString(NULL, fileName, -1, &ds); - dlHandle = dlopen(nativeFileName, RTLD_NOW | RTLD_GLOBAL); + /* + * Use (RTLD_NOW|RTLD_LOCAL) always, see [Bug #3216070] + */ + dlHandle = dlopen(nativeFileName, RTLD_NOW | RTLD_LOCAL); } if (dlHandle) { TclLoadDbgMsg("dlopen() successful"); |