summaryrefslogtreecommitdiffstats
path: root/apr-0.9.7-deepbind.patch
diff options
context:
space:
mode:
Diffstat (limited to 'apr-0.9.7-deepbind.patch')
-rw-r--r--apr-0.9.7-deepbind.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/apr-0.9.7-deepbind.patch b/apr-0.9.7-deepbind.patch
new file mode 100644
index 0000000..a19acb7
--- /dev/null
+++ b/apr-0.9.7-deepbind.patch
@@ -0,0 +1,16 @@
+
+Use RTLD_DEEPBIND by default. Should really be done with a
+new function and a caller-specified flag but that got vetoed
+upstream, and DEEPBIND is a good default.
+
+--- apr-0.9.7/dso/unix/dso.c.deepbind
++++ apr-0.9.7/dso/unix/dso.c
+@@ -122,7 +122,7 @@
+ void *os_handle = dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL);
+
+ #else
+- int flags = RTLD_NOW | RTLD_GLOBAL;
++ int flags = RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND;
+ void *os_handle;
+ #ifdef _AIX
+ if (strchr(path + 1, '(') && path[strlen(path) - 1] == ')')