yann@748: Patch provided bu Ioannis E. VENETIS yann@748: yann@748: Using: yann@748: yann@748: typedef int lll_lock_t; yann@748: yann@748: creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and yann@748: uses directly 'int', we do the same here. yann@748: yann@748: diff -Naur glibc-2.6/nptl/allocatestack.c glibc-2.6.new/nptl/allocatestack.c yann@748: --- glibc-2.6/nptl/allocatestack.c 2006-08-23 20:39:47.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/allocatestack.c 2008-07-27 20:56:19.000000000 +0300 yann@748: @@ -103,7 +103,7 @@ yann@748: static size_t stack_cache_actsize; yann@748: yann@748: /* Mutex protecting this variable. */ yann@748: -static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER; yann@748: +static int stack_cache_lock = LLL_LOCK_INITIALIZER; yann@748: yann@748: /* List of queued stack frames. */ yann@748: static LIST_HEAD (stack_cache); yann@748: diff -Naur glibc-2.6/nptl/descr.h glibc-2.6.new/nptl/descr.h yann@748: --- glibc-2.6/nptl/descr.h 2006-09-24 20:10:55.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/descr.h 2008-07-27 20:54:41.000000000 +0300 yann@748: @@ -304,10 +304,10 @@ yann@748: int parent_cancelhandling; yann@748: yann@748: /* Lock to synchronize access to the descriptor. */ yann@748: - lll_lock_t lock; yann@748: + int lock; yann@748: yann@748: /* Lock for synchronizing setxid calls. */ yann@748: - lll_lock_t setxid_futex; yann@748: + int setxid_futex; yann@748: yann@748: #if HP_TIMING_AVAIL yann@748: /* Offset of the CPU clock at start thread start time. */ yann@748: diff -Naur glibc-2.6/nptl/pthread_attr_init.c glibc-2.6.new/nptl/pthread_attr_init.c yann@748: --- glibc-2.6/nptl/pthread_attr_init.c 2004-03-19 01:56:31.000000000 +0200 yann@748: +++ glibc-2.6.new/nptl/pthread_attr_init.c 2008-07-27 20:55:03.000000000 +0300 yann@748: @@ -27,7 +27,7 @@ yann@748: yann@748: yann@748: struct pthread_attr *__attr_list; yann@748: -lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER; yann@748: +int __attr_list_lock = LLL_LOCK_INITIALIZER; yann@748: yann@748: yann@748: int yann@748: diff -Naur glibc-2.6/nptl/pthreadP.h glibc-2.6.new/nptl/pthreadP.h yann@748: --- glibc-2.6/nptl/pthreadP.h 2006-08-23 20:42:52.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/pthreadP.h 2008-07-27 20:56:40.000000000 +0300 yann@748: @@ -143,7 +143,7 @@ yann@748: yann@748: /* Attribute handling. */ yann@748: extern struct pthread_attr *__attr_list attribute_hidden; yann@748: -extern lll_lock_t __attr_list_lock attribute_hidden; yann@748: +extern int __attr_list_lock attribute_hidden; yann@748: yann@748: /* First available RT signal. */ yann@748: extern int __current_sigrtmin attribute_hidden; yann@748: diff -Naur glibc-2.6/nptl/semaphoreP.h glibc-2.6.new/nptl/semaphoreP.h yann@748: --- glibc-2.6/nptl/semaphoreP.h 2006-05-11 20:08:37.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/semaphoreP.h 2008-07-27 20:55:42.000000000 +0300 yann@748: @@ -48,7 +48,7 @@ yann@748: extern void *__sem_mappings attribute_hidden; yann@748: yann@748: /* Lock to protect the search tree. */ yann@748: -extern lll_lock_t __sem_mappings_lock attribute_hidden; yann@748: +extern int __sem_mappings_lock attribute_hidden; yann@748: yann@748: yann@748: /* Initializer for mountpoint. */ yann@748: diff -Naur glibc-2.6/nptl/sem_open.c glibc-2.6.new/nptl/sem_open.c yann@748: --- glibc-2.6/nptl/sem_open.c 2006-05-11 20:09:43.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sem_open.c 2008-07-27 20:55:22.000000000 +0300 yann@748: @@ -147,7 +147,7 @@ yann@748: void *__sem_mappings attribute_hidden; yann@748: yann@748: /* Lock to protect the search tree. */ yann@748: -lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; yann@748: +int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER; yann@748: yann@748: yann@748: /* Search for existing mapping and if possible add the one provided. */ yann@748: diff -Naur glibc-2.6/nptl/pthread_once.c glibc-2.6.new/nptl/pthread_once.c yann@748: --- glibc-2.6/nptl/pthread_once.c 2002-11-27 00:50:31.000000000 +0200 yann@748: +++ glibc-2.6.new/nptl/pthread_once.c 2008-07-27 20:57:12.000000000 +0300 yann@748: @@ -22,7 +22,7 @@ yann@748: yann@748: yann@748: yann@748: -static lll_lock_t once_lock = LLL_LOCK_INITIALIZER; yann@748: +static int once_lock = LLL_LOCK_INITIALIZER; yann@748: yann@748: yann@748: int yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2008-07-27 20:59:15.000000000 +0300 yann@748: @@ -230,9 +230,6 @@ yann@748: /* Our internal lock implementation is identical to the binary-compatible yann@748: mutex implementation. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1) yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c 2003-12-21 01:37:13.000000000 +0200 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c 2008-07-27 21:00:01.000000000 +0300 yann@748: @@ -183,7 +183,7 @@ yann@748: } yann@748: yann@748: /* Initialize the fork lock. */ yann@748: - __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER; yann@748: + __fork_lock = (int) LLL_LOCK_INITIALIZER; yann@748: } yann@748: else yann@748: { yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h 2006-05-15 23:19:43.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h 2008-07-27 20:58:49.000000000 +0300 yann@748: @@ -26,7 +26,7 @@ yann@748: extern unsigned long int *__fork_generation_pointer attribute_hidden; yann@748: yann@748: /* Lock to protect allocation and deallocation of fork handlers. */ yann@748: -extern lll_lock_t __fork_lock attribute_hidden; yann@748: +extern int __fork_lock attribute_hidden; yann@748: yann@748: /* Elements of the fork handler lists. */ yann@748: struct fork_handler yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2006-09-05 17:44:25.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-07-27 21:00:19.000000000 +0300 yann@748: @@ -436,9 +436,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1) yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2008-07-27 20:58:16.000000000 +0300 yann@748: @@ -223,9 +223,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. We can use the lll_mutex_*. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; yann@748: yann@748: /* Initializers for lock. */ yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2008-07-27 21:00:36.000000000 +0300 yann@748: @@ -254,9 +254,6 @@ yann@748: /* Our internal lock implementation is identical to the binary-compatible yann@748: mutex implementation. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1) yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2005-12-22 00:17:21.000000000 +0200 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2008-07-27 21:00:55.000000000 +0300 yann@748: @@ -24,7 +24,7 @@ yann@748: yann@748: yann@748: /* Lock to protect allocation and deallocation of fork handlers. */ yann@748: -lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER; yann@748: +int __fork_lock = LLL_LOCK_INITIALIZER; yann@748: yann@748: yann@748: /* Number of pre-allocated handler entries. */ yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2008-07-27 21:01:14.000000000 +0300 yann@748: @@ -309,9 +309,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. We can use the lll_mutex_*. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1) yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2008-07-27 20:58:00.000000000 +0300 yann@748: @@ -278,9 +278,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1) yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2008-07-27 20:59:39.000000000 +0300 yann@748: @@ -237,9 +237,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. We can use the lll_mutex_*. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; yann@748: yann@748: /* Initializers for lock. */ yann@748: diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h yann@748: --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2006-09-05 17:45:34.000000000 +0300 yann@748: +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2008-07-27 20:58:33.000000000 +0300 yann@748: @@ -446,9 +446,6 @@ yann@748: /* We have a separate internal lock implementation which is not tied yann@748: to binary compatibility. */ yann@748: yann@748: -/* Type for lock object. */ yann@748: -typedef int lll_lock_t; yann@748: - yann@748: /* Initializers for lock. */ yann@748: #define LLL_LOCK_INITIALIZER (0) yann@748: #define LLL_LOCK_INITIALIZER_LOCKED (1)