This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.24
in repository glibc.

commit e0e645e1fdb7cbe5f3e8ceefd4b2a3b5194a7f2d
Author: Aurelien Jarno <aurel...@aurel32.net>
Date:   Wed Jul 6 23:38:32 2016 +0200

    debian/patches/kfreebsd/local-sysdeps.diff, local-fbtl.diff: update to 
revision 6083 (from glibc-bsd).
---
 debian/changelog                           |  2 +
 debian/patches/kfreebsd/local-fbtl.diff    | 67 +++++++++++++-----------------
 debian/patches/kfreebsd/local-sysdeps.diff | 44 ++++++++++++++------
 3 files changed, 62 insertions(+), 51 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index af6ef7b..9acc43b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,8 @@ glibc (2.23.90+20160507.87523e9-2) UNRELEASED; urgency=medium
     and an explanation.
   * debian/testsuite-xfail-debian.mk: do not allow math/test-fenv to
     fail now that we do not have Loongson 2 buildds anymore.
+  * debian/patches/kfreebsd/local-sysdeps.diff, local-fbtl.diff:
+    update to revision 6083 (from glibc-bsd).
 
  -- Aurelien Jarno <aure...@debian.org>  Tue, 05 Jul 2016 20:50:17 +0200
 
diff --git a/debian/patches/kfreebsd/local-fbtl.diff 
b/debian/patches/kfreebsd/local-fbtl.diff
index 173c3ac..01a6eb6 100644
--- a/debian/patches/kfreebsd/local-fbtl.diff
+++ b/debian/patches/kfreebsd/local-fbtl.diff
@@ -25799,7 +25799,7 @@
 +strong_alias (__pthread_mutex_trylock, pthread_mutex_trylock)
 --- /dev/null
 +++ b/fbtl/pthread_mutex_unlock.c
-@@ -0,0 +1,301 @@
+@@ -0,0 +1,312 @@
 +/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +   Contributed by Ulrich Drepper <drep...@redhat.com>, 2002.
@@ -26018,20 +26018,31 @@
 +      /* One less user.  */
 +      --mutex->__data.__nusers;
 +
-+      /* Unlock.  */
-+      if ((mutex->__data.__lock & FUTEX_WAITERS) != 0
-+        || atomic_compare_and_exchange_bool_rel (&mutex->__data.__lock, 0,
-+                                                 THREAD_GETMEM (THREAD_SELF,
-+                                                                tid)))
++      /* Unlock.  Load all necessary mutex data before releasing the mutex
++       to not violate the mutex destruction requirements (see
++       lll_unlock).  */
++      int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
++      int private = (robust
++                   ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
++                   : PTHREAD_MUTEX_PSHARED (mutex));
++      /* Unlock the mutex using a CAS unless there are futex waiters or our
++       TID is not the value of __lock anymore, in which case we let the
++       kernel take care of the situation.  Use release MO in the CAS to
++       synchronize with acquire MO in lock acquisitions.  */
++      int l = atomic_load_relaxed (&mutex->__data.__lock);
++      do
 +      {
-+        int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
-+        int private = (robust
-+                       ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
-+                       : PTHREAD_MUTEX_PSHARED (mutex));
-+        INTERNAL_SYSCALL_DECL (__err);
-+        INTERNAL_SYSCALL (futex, __err, 2, &mutex->__data.__lock,
-+                          __lll_private_flag (FUTEX_UNLOCK_PI, private));
++        if (((l & FUTEX_WAITERS) != 0)
++            || (l != THREAD_GETMEM (THREAD_SELF, tid)))
++          {
++            INTERNAL_SYSCALL_DECL (__err);
++            INTERNAL_SYSCALL (futex, __err, 2, &mutex->__data.__lock,
++                              __lll_private_flag (FUTEX_UNLOCK_PI, private));
++            break;
++          }
 +      }
++      while (!atomic_compare_exchange_weak_release (&mutex->__data.__lock,
++                                                  &l, 0));
 +
 +      THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
 +      break;
@@ -30410,7 +30421,7 @@
 +#endif
 --- /dev/null
 +++ b/fbtl/sysdeps/i386/tls.h
-@@ -0,0 +1,471 @@
+@@ -0,0 +1,459 @@
 +/* Definition for thread-local data handling.  nptl/i386 version.
 +   Copyright (C) 2002-2013 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -30441,19 +30452,7 @@
 +# include <sysdep.h>
 +# include <libc-internal.h>
 +# include <kernel-features.h>
-+
-+
-+/* Type for the dtv.  */
-+typedef union dtv
-+{
-+  size_t counter;
-+  struct
-+  {
-+    void *val;
-+    bool is_static;
-+  } pointer;
-+} dtv_t;
-+
++# include <dl-dtv.h>
 +
 +typedef struct
 +{
@@ -35944,7 +35943,7 @@
 +TCB_PTHREAD_CANCELED   PTHREAD_CANCELED
 --- /dev/null
 +++ b/fbtl/sysdeps/x86_64/tls.h
-@@ -0,0 +1,389 @@
+@@ -0,0 +1,379 @@
 +/* Definition for thread-local data handling.  nptl/x86_64 version.
 +   Copyright (C) 2002-2013 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -35975,6 +35974,7 @@
 +# include <sysdep.h>
 +# include <libc-internal.h>
 +# include <kernel-features.h>
++# include <dl-dtv.h>
 +
 +/* Replacement type for __m128 since this file is included by ld.so,
 +   which is compiled with -mno-sse.  It must not change the alignment
@@ -35985,17 +35985,6 @@
 +} __128bits;
 +
 +
-+/* Type for the dtv.  */
-+typedef union dtv
-+{
-+  size_t counter;
-+  struct
-+  {
-+    void *val;
-+    bool is_static;
-+  } pointer;
-+} dtv_t;
-+
 +
 +typedef struct
 +{
diff --git a/debian/patches/kfreebsd/local-sysdeps.diff 
b/debian/patches/kfreebsd/local-sysdeps.diff
index ebd77a4..9d8a6d4 100644
--- a/debian/patches/kfreebsd/local-sysdeps.diff
+++ b/debian/patches/kfreebsd/local-sysdeps.diff
@@ -1200,7 +1200,7 @@
 +#endif
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/in.h
-@@ -0,0 +1,308 @@
+@@ -0,0 +1,310 @@
 +/* Copyright (C) 1997, 2000, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -1225,6 +1225,8 @@
 +# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
 +#endif
 +
++/* This is the FreeBSD version, do not assume a linux-based kernel.  */
++#define __USE_KERNEL_IPV6_DEFS 0
 +
 +/* Link numbers.  */
 +#define       IMPLINK_IP              155
@@ -9252,7 +9254,7 @@
 +#endif
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/lowlevellock.h
-@@ -0,0 +1,167 @@
+@@ -0,0 +1,168 @@
 +/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -9383,9 +9385,10 @@
 +#define __lll_unlock(futex, private) \
 +  (void)                                                      \
 +    ({ int *__futex = (futex);                                        \
++       int __private = (private);                             \
 +       int __oldval = atomic_exchange_rel (__futex, 0);               \
 +       if (__builtin_expect (__oldval > 1, 0))                        \
-+       lll_futex_wake (__futex, 1, private);                  \
++       lll_futex_wake (__futex, 1, __private);                \
 +    })
 +    
 +#define lll_unlock(futex, private) __lll_unlock(&(futex), private)
@@ -10671,7 +10674,7 @@
 +}
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/sem_post.c
-@@ -0,0 +1,80 @@
+@@ -0,0 +1,79 @@
 +/* sem_post -- post to a POSIX semaphore.  Generic futex-using version.
 +   Copyright (C) 2003-2013 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -10705,17 +10708,16 @@
 +{
 +  struct new_sem *isem = (struct new_sem *) sem;
 +
-+  __typeof (isem->value) cur;
++  __typeof (isem->value) cur = atomic_load_relaxed(&isem->value);
 +  do
 +    {
-+      cur = isem->value;
-+      if (isem->value == SEM_VALUE_MAX)
++      if (cur == SEM_VALUE_MAX)
 +      {
 +        __set_errno (EOVERFLOW);
 +        return -1;
 +      }
 +    }
-+  while (atomic_compare_and_exchange_bool_rel (&isem->value, cur + 1, cur));
++  while (!atomic_compare_exchange_weak_release(&isem->value, &cur, cur + 1));
 +
 +  atomic_full_barrier ();
 +  if (isem->nwaiters > 0)
@@ -15408,7 +15410,7 @@
 +GLIBC_2.3 getaddrinfo_a F
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/libc.abilist
-@@ -0,0 +1,2194 @@
+@@ -0,0 +1,2196 @@
 +GLIBC_2.10 GLIBC_2.10 A
 +GLIBC_2.10 __cxa_at_quick_exit F
 +GLIBC_2.10 __posix_getopt F
@@ -15505,6 +15507,8 @@
 +GLIBC_2.23 fts64_open F
 +GLIBC_2.23 fts64_read F
 +GLIBC_2.23 fts64_set F
++GLIBC_2.24 GLIBC_2.24 A
++GLIBC_2.24 quick_exit F
 +GLIBC_2.3 GLIBC_2.3 A
 +GLIBC_2.3 _Exit F
 +GLIBC_2.3 _IO_2_1_stderr_ D 0x9c
@@ -17631,7 +17635,7 @@
 +GLIBC_2.3.4 dlmopen F
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/libm.abilist
-@@ -0,0 +1,409 @@
+@@ -0,0 +1,416 @@
 +GLIBC_2.15 GLIBC_2.15 A
 +GLIBC_2.15 __acos_finite F
 +GLIBC_2.15 __acosf_finite F
@@ -17723,6 +17727,13 @@
 +GLIBC_2.23 lgamma F
 +GLIBC_2.23 lgammaf F
 +GLIBC_2.23 lgammal F
++GLIBC_2.24 GLIBC_2.24 A
++GLIBC_2.24 nextdown F
++GLIBC_2.24 nextdownf F
++GLIBC_2.24 nextdownl F
++GLIBC_2.24 nextup F
++GLIBC_2.24 nextupf F
++GLIBC_2.24 nextupl F
 +GLIBC_2.3 GLIBC_2.3 A
 +GLIBC_2.3 _LIB_VERSION D 0x4
 +GLIBC_2.3 __clog10 F
@@ -32798,7 +32809,7 @@
 +GLIBC_2.3 getaddrinfo_a F
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/libc.abilist
-@@ -0,0 +1,2142 @@
+@@ -0,0 +1,2144 @@
 +GLIBC_2.10 GLIBC_2.10 A
 +GLIBC_2.10 __cxa_at_quick_exit F
 +GLIBC_2.10 __posix_getopt F
@@ -32897,6 +32908,8 @@
 +GLIBC_2.23 fts64_open F
 +GLIBC_2.23 fts64_read F
 +GLIBC_2.23 fts64_set F
++GLIBC_2.24 GLIBC_2.24 A
++GLIBC_2.24 quick_exit F
 +GLIBC_2.3 GLIBC_2.3 A
 +GLIBC_2.3 _Exit F
 +GLIBC_2.3 _IO_2_1_stderr_ D 0xe0
@@ -34969,7 +34982,7 @@
 +GLIBC_2.3.4 dlmopen F
 --- /dev/null
 +++ b/sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/libm.abilist
-@@ -0,0 +1,407 @@
+@@ -0,0 +1,414 @@
 +GLIBC_2.15 GLIBC_2.15 A
 +GLIBC_2.15 __acos_finite F
 +GLIBC_2.15 __acosf_finite F
@@ -35061,6 +35074,13 @@
 +GLIBC_2.23 lgamma F
 +GLIBC_2.23 lgammaf F
 +GLIBC_2.23 lgammal F
++GLIBC_2.24 GLIBC_2.24 A
++GLIBC_2.24 nextdown F
++GLIBC_2.24 nextdownf F
++GLIBC_2.24 nextdownl F
++GLIBC_2.24 nextup F
++GLIBC_2.24 nextupf F
++GLIBC_2.24 nextupl F
 +GLIBC_2.3 GLIBC_2.3 A
 +GLIBC_2.3 _LIB_VERSION D 0x4
 +GLIBC_2.3 __clog10 F

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-glibc/glibc.git

Reply via email to