summaryrefslogtreecommitdiffstats
path: root/src/socket_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket_wrapper.c')
-rw-r--r--src/socket_wrapper.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c
index 70bfb11..f7f5654 100644
--- a/src/socket_wrapper.c
+++ b/src/socket_wrapper.c
@@ -219,6 +219,11 @@ static void *libc_hnd;
static int libc_dlopen(void)
{
unsigned int i;
+ int flags = RTLD_LAZY;
+
+#ifdef RTLD_DEEPBIND
+ flags |= RTLD_DEEPBIND;
+#endif
if (libc_hnd != NULL) {
return 0;
@@ -228,7 +233,7 @@ static int libc_dlopen(void)
char soname[256] = {0};
snprintf(soname, sizeof(soname), "%s.%u", LIBC_NAME, i);
- libc_hnd = dlopen(soname, RTLD_LAZY);
+ libc_hnd = dlopen(soname, flags);
}
if (libc_hnd == NULL) {