diff options
| author | dgp <dgp@users.sourceforge.net> | 2011-05-10 16:05:48 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2011-05-10 16:05:48 (GMT) |
| commit | f9dece7738d140a66ebb5d47ee85c4d57249258a (patch) | |
| tree | 1ca2feda250662282a8e77080fef123d9256b839 /unix/tclLoadDyld.c | |
| parent | b1c2f2c9c6fcb329f1e23f9f5f1ef53c84b01bae (diff) | |
| download | tcl-f9dece7738d140a66ebb5d47ee85c4d57249258a.zip tcl-f9dece7738d140a66ebb5d47ee85c4d57249258a.tar.gz tcl-f9dece7738d140a66ebb5d47ee85c4d57249258a.tar.bz2 | |
Completed patch with mucho comments. Merge 8.5.bug_3173086
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"); |
