summaryrefslogtreecommitdiff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-09-12 00:06:34 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-09-12 00:06:34 +0200
commit5b6b6eb6276af8acb40bd62d28f18b1c3003e5a1 (patch)
treea3ca4fba1cf8ff7b5daf577b6c314e39b4a4523e /sysdeps/generic
parent7a4df0aacf25654e5baed2ef3559d961a5c538d7 (diff)
parentdf664a147963b28f53eb8f62ba79d98c1739fb74 (diff)
Merge branch 'master-glibc-2.21' into master-glibc-2.22
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/pt-atfork.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/generic/pt-atfork.c b/sysdeps/generic/pt-atfork.c
index ce72e10..304d7ef 100644
--- a/sysdeps/generic/pt-atfork.c
+++ b/sysdeps/generic/pt-atfork.c
@@ -20,10 +20,14 @@
#include <pthread.h>
#include <pt-internal.h>
+/* This is defined by newer gcc version unique for each module. */
+extern void *__dso_handle __attribute__ ((__weak__,
+ __visibility__ ("hidden")));
+
int
pthread_atfork (void (*prepare) (void),
void (*parent) (void),
void (*child) (void))
{
- return __register_atfork (prepare, parent, child);
+ return __register_atfork (prepare, parent, child, &__dso_handle == NULL ? NULL : __dso_handle);
}