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: