summaryrefslogtreecommitdiffstats
path: root/unix/tclLoadDl.c
diff options
context:
space:
mode:
Diffstat (limited to 'unix/tclLoadDl.c')
-rw-r--r--unix/tclLoadDl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/unix/tclLoadDl.c b/unix/tclLoadDl.c
index 24a546b..e38c280 100644
--- a/unix/tclLoadDl.c
+++ b/unix/tclLoadDl.c
@@ -73,6 +73,9 @@ TclpDlopen(
*/
native = Tcl_FSGetNativePath(pathPtr);
+ /*
+ * Use (RTLD_NOW|RTLD_LOCAL) always, see [Bug #3216070]
+ */
handle = dlopen(native, RTLD_NOW | RTLD_LOCAL);
if (handle == NULL) {
/*
@@ -85,6 +88,9 @@ TclpDlopen(
char *fileName = Tcl_GetString(pathPtr);
native = Tcl_UtfToExternalDString(NULL, fileName, -1, &ds);
+ /*
+ * Use (RTLD_NOW|RTLD_LOCAL) always, see [Bug #3216070]
+ */
handle = dlopen(native, RTLD_NOW | RTLD_LOCAL);
Tcl_DStringFree(&ds);
}