aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwoglinde <heinold@inf.fu-berlin.de>2009-01-11 01:48:38 +0100
committerwoglinde <heinold@inf.fu-berlin.de>2009-01-11 01:50:14 +0100
commit095aeec3dd2fde0ee309eab0914529dd7637181f (patch)
tree478e11c4f8ee285856cbb8c9ba7f18aa0dcfd121
parent1ca0d99090f3ee489b79eba5f94ec7c216af7834 (diff)
downloadopenembedded-095aeec3dd2fde0ee309eab0914529dd7637181f.tar.gz
uclibc: correct pthread_atfork function for linuxthread
* bump PR
-rw-r--r--packages/uclibc/uclibc-0.9.30/pthread_atfork.patch42
-rw-r--r--packages/uclibc/uclibc_0.9.30.bb3
2 files changed, 44 insertions, 1 deletions
diff --git a/packages/uclibc/uclibc-0.9.30/pthread_atfork.patch b/packages/uclibc/uclibc-0.9.30/pthread_atfork.patch
new file mode 100644
index 0000000000..92accc2a1a
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.30/pthread_atfork.patch
@@ -0,0 +1,42 @@
+Index: uClibc-0.9.30/libpthread/linuxthreads/Makefile.in
+===================================================================
+--- uClibc-0.9.30.orig/libpthread/linuxthreads/Makefile.in 2009-01-11 01:09:27.008515954 +0100
++++ uClibc-0.9.30/libpthread/linuxthreads/Makefile.in 2009-01-11 01:09:35.295181636 +0100
+@@ -45,7 +45,7 @@
+ pthread_SRC := \
+ attr barrier cancel condvar errno events join pthread \
+ lockfile manager mutex pt-machine ptcleanup \
+- ptclock_gettime ptclock_settime ptfork pthandles \
++ ptclock_gettime ptclock_settime ptfork pthandles pthread_atfork \
+ pthread_setegid pthread_seteuid pthread_setgid pthread_setregid \
+ pthread_setresgid pthread_setresuid pthread_setreuid pthread_setuid \
+ rwlock semaphore sighandler signals specific spinlock
+Index: uClibc-0.9.30/libpthread/linuxthreads/pthread_atfork.c
+===================================================================
+--- uClibc-0.9.30.orig/libpthread/linuxthreads/pthread_atfork.c 2009-01-11 01:09:44.931848926 +0100
++++ uClibc-0.9.30/libpthread/linuxthreads/pthread_atfork.c 2009-01-11 01:12:49.926539743 +0100
+@@ -43,12 +43,8 @@
+
+ /* 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 (prepare, parent, child)
++
++int attribute_hidden __pthread_atfork (prepare, parent, child)
+ void (*prepare) (void);
+ void (*parent) (void);
+ void (*child) (void);
+@@ -56,8 +52,5 @@
+ 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
diff --git a/packages/uclibc/uclibc_0.9.30.bb b/packages/uclibc/uclibc_0.9.30.bb
index 7420c47cfc..b3e3c15c0f 100644
--- a/packages/uclibc/uclibc_0.9.30.bb
+++ b/packages/uclibc/uclibc_0.9.30.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.30"
-PR = "r4"
+PR = "r5"
DEFAULT_PREFERENCE = "1"
require uclibc.inc
@@ -17,6 +17,7 @@ PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
SRC_URI += "file://uClibc.machine file://uClibc.distro \
file://arm-linuxthreads.patch;patch=1 \
file://linuxthreads-changes.patch;patch=1 \
+ file://pthread_atfork.patch;patch=1 \
"
#recent versions uclibc require real kernel headers
PACKAGE_ARCH = "${MACHINE_ARCH}"