aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch')
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
new file mode 100644
index 0000000000..297a40bd04
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
@@ -0,0 +1,74 @@
+From d021e6252b33e779857846714fb1899a25c9965d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Jun 2012 15:59:01 -0700
+Subject: [PATCH] nptl/atfork: Hide pthread_atfork in shared versions
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+---
+ libpthread/nptl/Makefile.in | 4 +++-
+ libpthread/nptl/pthread_atfork.c | 12 ++++++++++--
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
+index 158bcae..3ef7175 100644
+--- a/libpthread/nptl/Makefile.in
++++ b/libpthread/nptl/Makefile.in
+@@ -16,6 +16,7 @@ libc-shared-routines-y = forward.c libc-cancellation.c
+ libc-static-routines-y = alloca_cutoff.c libc-cancellation.c
+ libpthread-shared-only-routines-y = version.c
+ libpthread-static-only-routines-y = pthread_atfork.c
++
+ libpthread-routines- += $(notdir $(wildcard $(libpthread_DIR)/gen_*.c)) # dummy generated files
+ libpthread-routines- += allocatestack.c # dummy included by pthread_create.c
+ libpthread-routines- += pthread_mutex_getprioceiling.c pthread_mutex_setprioceiling.c # XXX: delete those or use them!
+@@ -208,7 +209,7 @@ CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables
+ CFLAGS-tcdrain.c = -fexceptions -fasynchronous-unwind-tables
+
+ CFLAGS-pt-system.c = -fexceptions -I$(top_srcdir)libc/stdlib
+-
++CFLAGS-pthread_atfork.c = -DNOT_IN_libc
+ #
+ # The rest of this file is uClibc specific.
+ #
+@@ -224,3 +225,4 @@ CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-nptl)
+ CFLAGS-OMIT-forward.c = $(CFLAGS-nptl)
+ CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-nptl)
+ CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-nptl)
++
+diff --git a/libpthread/nptl/pthread_atfork.c b/libpthread/nptl/pthread_atfork.c
+index e607d49..6224c17 100644
+--- a/libpthread/nptl/pthread_atfork.c
++++ b/libpthread/nptl/pthread_atfork.c
+@@ -38,13 +38,17 @@
+ #include <fork.h>
+
+ /* This is defined by newer gcc version unique for each module. */
+-extern void *__dso_handle __attribute__ ((__weak__));
+- //,__visibility__ ("hidden")));
++extern void *__dso_handle __attribute__ ((__weak__,
++ __visibility__ ("hidden")));
+
+
+ /* Hide the symbol so that no definition but the one locally in the
+ executable or DSO is used. */
+ int
++#ifndef __pthread_atfork
++/* Don't mark the compatibility function as hidden. */
++attribute_hidden
++#endif
+ __pthread_atfork (
+ void (*prepare) (void),
+ void (*parent) (void),
+@@ -53,4 +57,8 @@ __pthread_atfork (
+ return __register_atfork (prepare, parent, child,
+ &__dso_handle == NULL ? NULL : __dso_handle);
+ }
++#ifndef __pthread_atfork
++extern int pthread_atfork (void (*prepare) (void), void (*parent) (void),
++ void (*child) (void)) attribute_hidden;
+ strong_alias (__pthread_atfork, pthread_atfork)
++#endif
+--
+1.7.9.5
+