diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2011-03-22 10:14:00 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2011-03-22 10:14:00 (GMT) |
| commit | 57d1fe0d73253c8b49817591bf017989fb9f0a40 (patch) | |
| tree | bd799accde5a0badd4053c8b583bc496ce792682 /unix/tclLoadDyld.c | |
| parent | 4adb390e57830d740102d249668f5166e1382d54 (diff) | |
| parent | aedde081db82a639c7bace15c1903b1a483af286 (diff) | |
| download | tcl-57d1fe0d73253c8b49817591bf017989fb9f0a40.zip tcl-57d1fe0d73253c8b49817591bf017989fb9f0a40.tar.gz tcl-57d1fe0d73253c8b49817591bf017989fb9f0a40.tar.bz2 | |
[Bug #3216070] Loading extension libraries from embedded Tcl applications.
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 4fa1954..3fba3a5 100644 --- a/unix/tclLoadDyld.c +++ b/unix/tclLoadDyld.c @@ -207,7 +207,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 @@ -217,7 +220,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"); |
