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

r6832 - in glibc-package/branches/glibc-2.22/debian: . patches patches/any



Author: sthibault
Date: 2015-12-22 13:49:09 +0000 (Tue, 22 Dec 2015)
New Revision: 6832

Added:
   glibc-package/branches/glibc-2.22/debian/patches/any/cvs-stdio-lock.diff
Removed:
   glibc-package/branches/glibc-2.22/debian/patches/any/local-stdio-lock.diff
Modified:
   glibc-package/branches/glibc-2.22/debian/changelog
   glibc-package/branches/glibc-2.22/debian/patches/series
Log:
merge my trunk commits

Modified: glibc-package/branches/glibc-2.22/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.22/debian/changelog	2015-12-22 13:47:58 UTC (rev 6831)
+++ glibc-package/branches/glibc-2.22/debian/changelog	2015-12-22 13:49:09 UTC (rev 6832)
@@ -196,6 +196,8 @@
   [ Samuel Thibault ]
   * patches/hurd-i386/cvs-libpthread-api.diff: Update patch, add missing throw
     specifications.
+  * patches/any/local-stdio-lock.diff: Update to git commit, and
+    rename into patches/any/cvs-stdio-lock.diff.
 
  -- Aurelien Jarno <aurel32@debian.org>  Thu, 10 Dec 2015 23:25:07 +0100
 

Copied: glibc-package/branches/glibc-2.22/debian/patches/any/cvs-stdio-lock.diff (from rev 6831, glibc-package/trunk/debian/patches/any/cvs-stdio-lock.diff)
===================================================================
--- glibc-package/branches/glibc-2.22/debian/patches/any/cvs-stdio-lock.diff	                        (rev 0)
+++ glibc-package/branches/glibc-2.22/debian/patches/any/cvs-stdio-lock.diff	2015-12-22 13:49:09 UTC (rev 6832)
@@ -0,0 +1,56 @@
+commit 2cf3e1aa7477b813ca3ebb901003a7d44f970218
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Tue Dec 22 14:39:19 2015 +0100
+
+    Harmonize generic stdio-lock support with nptl
+    
+        This fixes build when _IO_funlockfile is a macro, fixes build where
+        _IO_acquire_lock_clear_flags2 is used, and fixes unlocking on unexpected
+        stack unwind.
+    
+        * sysdeps/generic/stdio-lock.h [__EXCEPTIONS] (_IO_acquire_lock,
+        _IO_release_lock ): Use cleanup attribute on new
+        _IO_acquire_lock_file variable instead of assuming that
+        _IO_release_lock will be called.
+        [!__EXCEPTIONS] (_IO_acquire_lock): Define to non-existing
+        _IO_acquire_lock_needs_exceptions_enabled.
+        (_IO_acquire_lock_clear_flags2): New macro.
+
+---
+ stdio-lock.h |   23 ++++++++++++++++++-----
+ 1 file changed, 18 insertions(+), 5 deletions(-)
+
+--- a/bits/stdio-lock.h
++++ b/bits/stdio-lock.h
+@@ -45,13 +45,26 @@ __libc_lock_define_recursive (typedef, _IO_lock_t)
+   __libc_cleanup_region_end (_doit)
+ 
+ #if defined _LIBC && IS_IN (libc)
++
++# ifdef __EXCEPTIONS
+ # define _IO_acquire_lock(_fp) \
+-  _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp));      \
+-  _IO_flockfile (_fp)
++  do {									      \
++    _IO_FILE *_IO_acquire_lock_file					      \
++	__attribute__((cleanup (_IO_acquire_lock_fct)))			      \
++	= (_fp);							      \
++    _IO_flockfile (_IO_acquire_lock_file);
++#  define _IO_acquire_lock_clear_flags2(_fp) \
++  do {									      \
++    _IO_FILE *_IO_acquire_lock_file					      \
++	__attribute__((cleanup (_IO_acquire_lock_clear_flags2_fct)))	      \
++	= (_fp);							      \
++    _IO_flockfile (_IO_acquire_lock_file);
++# else
++#  define _IO_acquire_lock(_fp) _IO_acquire_lock_needs_exceptions_enabled
++#  define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
++# endif
++# define _IO_release_lock(_fp) ; } while (0)
+ 
+-# define _IO_release_lock(_fp) \
+-  _IO_funlockfile (_fp);						      \
+-  _IO_cleanup_region_end (0)
+ #endif
+ 
+ #endif /* bits/stdio-lock.h */

Deleted: glibc-package/branches/glibc-2.22/debian/patches/any/local-stdio-lock.diff
===================================================================
--- glibc-package/branches/glibc-2.22/debian/patches/any/local-stdio-lock.diff	2015-12-22 13:47:58 UTC (rev 6831)
+++ glibc-package/branches/glibc-2.22/debian/patches/any/local-stdio-lock.diff	2015-12-22 13:49:09 UTC (rev 6832)
@@ -1,33 +0,0 @@
-This patch is need for Hurd.
----
- bits/stdio-lock.h |   17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
---- a/bits/stdio-lock.h
-+++ b/bits/stdio-lock.h
-@@ -46,12 +46,21 @@
- 
- #if defined _LIBC && IS_IN (libc)
- # define _IO_acquire_lock(_fp) \
--  _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp));      \
--  _IO_flockfile (_fp)
-+  { \
-+  _IO_FILE *_IO_acquire_lock_file = _fp; \
-+  __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_fct, &_IO_acquire_lock_file); \
-+  _IO_flockfile (_IO_acquire_lock_file)
-+
-+# define _IO_acquire_lock_clear_flags2(_fp) \
-+  { \
-+  _IO_FILE *_IO_acquire_lock_file = _fp; \
-+  __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_clear_flags2_fct, &_IO_acquire_lock_file); \
-+  _IO_flockfile (_IO_acquire_lock_file)
- 
- # define _IO_release_lock(_fp) \
--  _IO_funlockfile (_fp);						      \
--  _IO_cleanup_region_end (0)
-+  __libc_cleanup_region_end (1); \
-+   }
-+
- #endif
- 
- #endif /* bits/stdio-lock.h */

Modified: glibc-package/branches/glibc-2.22/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.22/debian/patches/series	2015-12-22 13:47:58 UTC (rev 6831)
+++ glibc-package/branches/glibc-2.22/debian/patches/series	2015-12-22 13:49:09 UTC (rev 6832)
@@ -204,7 +204,7 @@
 any/local-no-pagesize.diff
 any/local-nss-upgrade.diff
 any/local-stubs_h.diff
-any/local-stdio-lock.diff
+any/cvs-stdio-lock.diff
 any/local-tcsetaddr.diff
 any/local-tst-mktime2.diff
 any/submitted-nis-netgrp.diff


Reply to: