[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#283461: new patch glibc232-nptl-pthread to build g++/libsupc++ with nptl headers



Package: glibc

diff -u glibc-2.3.2.ds1/debian/changelog glibc-2.3.2.ds1/debian/changelog
--- glibc-2.3.2.ds1/debian/changelog
+++ glibc-2.3.2.ds1/debian/changelog
@@ -1,3 +1,10 @@
+glibc (2.3.2.ds1-18ubuntu3) hoary; urgency=low
+
+  * glibc232-nptl-pthread: New patch, taken from upstream CVS: Do not
+    use C99 designators, as C++ does not have support for them.
+
+ -- Matthias Klose <m@klose.in-berlin.de>  Mon, 29 Nov 2004 00:11:44 +0100


diff -u glibc-2.3.2.ds1/debian/patches/00list glibc-2.3.2.ds1/debian/patches/00list
--- glibc-2.3.2.ds1/debian/patches/00list
+++ glibc-2.3.2.ds1/debian/patches/00list
@@ -115 +115 @@
-
+glibc232-nptl-pthread
--- glibc-2.3.2.ds1.orig/debian/patches/glibc232-nptl-pthread.dpatch
+++ glibc-2.3.2.ds1/debian/patches/glibc232-nptl-pthread.dpatch
@@ -0,0 +1,90 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: nptl/pthread.h: Don't use C99 designators.
+# DP: Dpatch author: Matthias Klose <doko@debian.org>
+# DP: Upstream status: Taken from upstream
+# DP: Date: 2004-11-28
+
+PATCHLEVEL=1
+
+if [ $# -ne 2 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;;
+    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+    *)
+	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+	exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
+(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Make safe for C++.
+(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise.
+(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise.
+(PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Likewise.
+
+===================================================================
+RCS file: /cvs/glibc/libc/nptl/sysdeps/pthread/pthread.h,v
+retrieving revision 1.24
+retrieving revision 1.25
+diff -u -r1.24 -r1.25
+--- libc/nptl/sysdeps/pthread/pthread.h	2004/09/07 20:49:32	1.24
++++ libc/nptl/sysdeps/pthread/pthread.h	2004/09/09 04:58:00	1.25
+@@ -27,6 +27,7 @@
+ #include <signal.h>
+ #include <bits/pthreadtypes.h>
+ #include <bits/setjmp.h>
++#include <bits/wordsize.h>
+ 
+ 
+ /* Detach state.  */
+@@ -63,12 +64,21 @@
+ #define PTHREAD_MUTEX_INITIALIZER \
+   { }
+ #ifdef __USE_GNU
+-# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
+-  { .__data = { .__kind = PTHREAD_MUTEX_RECURSIVE_NP } }
+-# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
+-  { .__data = { .__kind = PTHREAD_MUTEX_ERRORCHECK_NP } }
+-# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
+-  { .__data = { .__kind = PTHREAD_MUTEX_ADAPTIVE_NP } }
++# if __WORDSIZE == 64
++#  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
++#  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
++#  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
++# else
++#  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
++#  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
++#  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
++  { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
++# endif
+ #endif
+ 
+ 
+@@ -87,8 +97,14 @@
+ #define PTHREAD_RWLOCK_INITIALIZER \
+   { }
+ #ifdef __USE_GNU
+-# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
+-  { .__data = { .__flags = PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
++# if __WORDSIZE == 64
++#  define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
++  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,					      \
++      PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
++# else
++#  define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
++  { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
++# endif
+ #endif
+ 
+ 



Reply to: