patches/glibc/2.6/210-lll_lock_t.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
     1 Patch provided bu Ioannis E. VENETIS
     2 
     3 Using:
     4 
     5 typedef int lll_lock_t;
     6 
     7 creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and
     8 uses directly 'int', we do the same here.
     9 
    10 diff -Naur glibc-2.6/nptl/allocatestack.c glibc-2.6.new/nptl/allocatestack.c
    11 --- glibc-2.6/nptl/allocatestack.c	2006-08-23 20:39:47.000000000 +0300
    12 +++ glibc-2.6.new/nptl/allocatestack.c	2008-07-27 20:56:19.000000000 +0300
    13 @@ -103,7 +103,7 @@
    14  static size_t stack_cache_actsize;
    15  
    16  /* Mutex protecting this variable.  */
    17 -static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER;
    18 +static int stack_cache_lock = LLL_LOCK_INITIALIZER;
    19  
    20  /* List of queued stack frames.  */
    21  static LIST_HEAD (stack_cache);
    22 diff -Naur glibc-2.6/nptl/descr.h glibc-2.6.new/nptl/descr.h
    23 --- glibc-2.6/nptl/descr.h	2006-09-24 20:10:55.000000000 +0300
    24 +++ glibc-2.6.new/nptl/descr.h	2008-07-27 20:54:41.000000000 +0300
    25 @@ -304,10 +304,10 @@
    26    int parent_cancelhandling;
    27  
    28    /* Lock to synchronize access to the descriptor.  */
    29 -  lll_lock_t lock;
    30 +  int lock;
    31  
    32    /* Lock for synchronizing setxid calls.  */
    33 -  lll_lock_t setxid_futex;
    34 +  int setxid_futex;
    35  
    36  #if HP_TIMING_AVAIL
    37    /* Offset of the CPU clock at start thread start time.  */
    38 diff -Naur glibc-2.6/nptl/pthread_attr_init.c glibc-2.6.new/nptl/pthread_attr_init.c
    39 --- glibc-2.6/nptl/pthread_attr_init.c	2004-03-19 01:56:31.000000000 +0200
    40 +++ glibc-2.6.new/nptl/pthread_attr_init.c	2008-07-27 20:55:03.000000000 +0300
    41 @@ -27,7 +27,7 @@
    42  
    43  
    44  struct pthread_attr *__attr_list;
    45 -lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER;
    46 +int __attr_list_lock = LLL_LOCK_INITIALIZER;
    47  
    48  
    49  int
    50 diff -Naur glibc-2.6/nptl/pthreadP.h glibc-2.6.new/nptl/pthreadP.h
    51 --- glibc-2.6/nptl/pthreadP.h	2006-08-23 20:42:52.000000000 +0300
    52 +++ glibc-2.6.new/nptl/pthreadP.h	2008-07-27 20:56:40.000000000 +0300
    53 @@ -143,7 +143,7 @@
    54  
    55  /* Attribute handling.  */
    56  extern struct pthread_attr *__attr_list attribute_hidden;
    57 -extern lll_lock_t __attr_list_lock attribute_hidden;
    58 +extern int __attr_list_lock attribute_hidden;
    59  
    60  /* First available RT signal.  */
    61  extern int __current_sigrtmin attribute_hidden;
    62 diff -Naur glibc-2.6/nptl/semaphoreP.h glibc-2.6.new/nptl/semaphoreP.h
    63 --- glibc-2.6/nptl/semaphoreP.h	2006-05-11 20:08:37.000000000 +0300
    64 +++ glibc-2.6.new/nptl/semaphoreP.h	2008-07-27 20:55:42.000000000 +0300
    65 @@ -48,7 +48,7 @@
    66  extern void *__sem_mappings attribute_hidden;
    67  
    68  /* Lock to protect the search tree.  */
    69 -extern lll_lock_t __sem_mappings_lock attribute_hidden;
    70 +extern int __sem_mappings_lock attribute_hidden;
    71  
    72  
    73  /* Initializer for mountpoint.  */
    74 diff -Naur glibc-2.6/nptl/sem_open.c glibc-2.6.new/nptl/sem_open.c
    75 --- glibc-2.6/nptl/sem_open.c	2006-05-11 20:09:43.000000000 +0300
    76 +++ glibc-2.6.new/nptl/sem_open.c	2008-07-27 20:55:22.000000000 +0300
    77 @@ -147,7 +147,7 @@
    78  void *__sem_mappings attribute_hidden;
    79  
    80  /* Lock to protect the search tree.  */
    81 -lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
    82 +int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
    83  
    84  
    85  /* Search for existing mapping and if possible add the one provided.  */
    86 diff -Naur glibc-2.6/nptl/pthread_once.c glibc-2.6.new/nptl/pthread_once.c
    87 --- glibc-2.6/nptl/pthread_once.c	2002-11-27 00:50:31.000000000 +0200
    88 +++ glibc-2.6.new/nptl/pthread_once.c	2008-07-27 20:57:12.000000000 +0300
    89 @@ -22,7 +22,7 @@
    90  
    91  
    92  
    93 -static lll_lock_t once_lock = LLL_LOCK_INITIALIZER;
    94 +static int once_lock = LLL_LOCK_INITIALIZER;
    95  
    96  
    97  int
    98 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
    99 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h	2006-07-29 08:06:07.000000000 +0300
   100 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h	2008-07-27 20:59:15.000000000 +0300
   101 @@ -230,9 +230,6 @@
   102  /* Our internal lock implementation is identical to the binary-compatible
   103     mutex implementation. */
   104  
   105 -/* Type for lock object.  */
   106 -typedef int lll_lock_t;
   107 -
   108  /* Initializers for lock.  */
   109  #define LLL_LOCK_INITIALIZER		(0)
   110  #define LLL_LOCK_INITIALIZER_LOCKED	(1)
   111 diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c
   112 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c	2003-12-21 01:37:13.000000000 +0200
   113 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c	2008-07-27 21:00:01.000000000 +0300
   114 @@ -183,7 +183,7 @@
   115  	}
   116  
   117        /* Initialize the fork lock.  */
   118 -      __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER;
   119 +      __fork_lock = (int) LLL_LOCK_INITIALIZER;
   120      }
   121    else
   122      {
   123 diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h
   124 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h	2006-05-15 23:19:43.000000000 +0300
   125 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h	2008-07-27 20:58:49.000000000 +0300
   126 @@ -26,7 +26,7 @@
   127  extern unsigned long int *__fork_generation_pointer attribute_hidden;
   128  
   129  /* Lock to protect allocation and deallocation of fork handlers.  */
   130 -extern lll_lock_t __fork_lock attribute_hidden;
   131 +extern int __fork_lock attribute_hidden;
   132  
   133  /* Elements of the fork handler lists.  */
   134  struct fork_handler
   135 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
   136 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h	2006-09-05 17:44:25.000000000 +0300
   137 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h	2008-07-27 21:00:19.000000000 +0300
   138 @@ -436,9 +436,6 @@
   139  /* We have a separate internal lock implementation which is not tied
   140     to binary compatibility.  */
   141  
   142 -/* Type for lock object.  */
   143 -typedef int lll_lock_t;
   144 -
   145  /* Initializers for lock.  */
   146  #define LLL_LOCK_INITIALIZER		(0)
   147  #define LLL_LOCK_INITIALIZER_LOCKED	(1)
   148 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
   149 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h	2006-07-29 08:06:07.000000000 +0300
   150 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h	2008-07-27 20:58:16.000000000 +0300
   151 @@ -223,9 +223,6 @@
   152  /* We have a separate internal lock implementation which is not tied
   153     to binary compatibility.  We can use the lll_mutex_*.  */
   154  
   155 -/* Type for lock object.  */
   156 -typedef int lll_lock_t;
   157 -
   158  extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
   159  
   160  /* Initializers for lock.  */
   161 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
   162 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h	2006-07-29 08:06:07.000000000 +0300
   163 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h	2008-07-27 21:00:36.000000000 +0300
   164 @@ -254,9 +254,6 @@
   165  /* Our internal lock implementation is identical to the binary-compatible
   166     mutex implementation. */
   167  
   168 -/* Type for lock object.  */
   169 -typedef int lll_lock_t;
   170 -
   171  /* Initializers for lock.  */
   172  #define LLL_LOCK_INITIALIZER		(0)
   173  #define LLL_LOCK_INITIALIZER_LOCKED	(1)
   174 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
   175 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c	2005-12-22 00:17:21.000000000 +0200
   176 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c	2008-07-27 21:00:55.000000000 +0300
   177 @@ -24,7 +24,7 @@
   178  
   179  
   180  /* Lock to protect allocation and deallocation of fork handlers.  */
   181 -lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER;
   182 +int __fork_lock = LLL_LOCK_INITIALIZER;
   183  
   184  
   185  /* Number of pre-allocated handler entries.  */
   186 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
   187 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h	2006-07-29 08:06:07.000000000 +0300
   188 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h	2008-07-27 21:01:14.000000000 +0300
   189 @@ -309,9 +309,6 @@
   190  /* We have a separate internal lock implementation which is not tied
   191     to binary compatibility.  We can use the lll_mutex_*.  */
   192  
   193 -/* Type for lock object.  */
   194 -typedef int lll_lock_t;
   195 -
   196  /* Initializers for lock.  */
   197  #define LLL_LOCK_INITIALIZER		(0)
   198  #define LLL_LOCK_INITIALIZER_LOCKED	(1)
   199 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
   200 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h	2006-07-29 08:06:06.000000000 +0300
   201 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h	2008-07-27 20:58:00.000000000 +0300
   202 @@ -278,9 +278,6 @@
   203  /* We have a separate internal lock implementation which is not tied
   204     to binary compatibility.  */
   205  
   206 -/* Type for lock object.  */
   207 -typedef int lll_lock_t;
   208 -
   209  /* Initializers for lock.  */
   210  #define LLL_LOCK_INITIALIZER		(0)
   211  #define LLL_LOCK_INITIALIZER_LOCKED	(1)
   212 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
   213 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h	2006-07-29 08:06:06.000000000 +0300
   214 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h	2008-07-27 20:59:39.000000000 +0300
   215 @@ -237,9 +237,6 @@
   216  /* We have a separate internal lock implementation which is not tied
   217     to binary compatibility.  We can use the lll_mutex_*.  */
   218  
   219 -/* Type for lock object.  */
   220 -typedef int lll_lock_t;
   221 -
   222  extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
   223  
   224  /* Initializers for lock.  */
   225 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
   226 --- glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h	2006-09-05 17:45:34.000000000 +0300
   227 +++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h	2008-07-27 20:58:33.000000000 +0300
   228 @@ -446,9 +446,6 @@
   229  /* We have a separate internal lock implementation which is not tied
   230     to binary compatibility.  */
   231  
   232 -/* Type for lock object.  */
   233 -typedef int lll_lock_t;
   234 -
   235  /* Initializers for lock.  */
   236  #define LLL_LOCK_INITIALIZER		(0)
   237  #define LLL_LOCK_INITIALIZER_LOCKED	(1)