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

[Commits] r24149 - in /fsf/trunk/libc: ./ nptl/ ports/ ports/sysdeps/unix/alpha/ posix/



Author: eglibc
Date: Wed Oct  2 00:02:19 2013
New Revision: 24149

Log:
Import glibc-mainline for 2013-10-02

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/pthread_cond_broadcast.c
    fsf/trunk/libc/nptl/pthread_cond_signal.c
    fsf/trunk/libc/ports/ChangeLog.alpha
    fsf/trunk/libc/ports/sysdeps/unix/alpha/sysdep.h
    fsf/trunk/libc/posix/glob.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Oct  2 00:02:19 2013
@@ -431,6 +431,11 @@
 	on macro parameter name.
 	[!_SOFT_FLOAT && !__NO_FPRS__] (_FPU_SETCW): Likewise.  Use
 	parentheses around reference to macro parameter.
+
+2013-09-04  Eric Blake  <eblake@xxxxxxxxxx>
+
+	* posix/glob.c (next_brace_sub, prefix_array, collated_compare):
+	Use __THROWNL rather than __THROW on static functions.
 
 2013-09-13  Richard Sandiford  <richard@xxxxxxxxxxxxxxxx>
 

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Wed Oct  2 00:02:19 2013
@@ -10,10 +10,10 @@
 * The following bugs are resolved with this release:
 
   13985, 14155, 14547, 14699, 15048, 15400, 15427, 15522, 15531, 15532,
-  15608, 15609, 15610, 15640, 15681, 15736, 15748, 15749, 15754, 15797,
-  15844, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890,
-  15892, 15893, 15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939,
-  15963, 15966.
+  15608, 15609, 15610, 15640, 15681, 15736, 15748, 15749, 15754, 15760,
+  15797, 15844, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887,
+  15890, 15892, 15893, 15895, 15897, 15905, 15909, 15919, 15921, 15923,
+  15939, 15963, 15966, 15988.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Wed Oct  2 00:02:19 2013
@@ -1,3 +1,12 @@
+2013-10-01  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	[BZ #15988]
+	* pthread_cond_broadcast.c (__pthread_cond_broadcast)
+	[lll_futex_cmp_requeue_pi && __ASSUME_REQUEUE_PI]: Use
+	USE_REQUEUE_PI.
+	* pthread_cond_signal.c (__pthread_cond_signal)
+	[lll_futex_cmd_requeue_pi && __ASSUME_REQUEUE_PI]: Likewise.
+
 2013-09-27  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
 
 	* sysdeps/pthread/bits/libc-lock.h [_LIBC && (!NOT_IN_libc ||

Modified: fsf/trunk/libc/nptl/pthread_cond_broadcast.c
==============================================================================
--- fsf/trunk/libc/nptl/pthread_cond_broadcast.c (original)
+++ fsf/trunk/libc/nptl/pthread_cond_broadcast.c Wed Oct  2 00:02:19 2013
@@ -63,10 +63,7 @@
 
 #if (defined lll_futex_cmp_requeue_pi \
      && defined __ASSUME_REQUEUE_PI)
-      int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
-      pi_flag &= mut->__data.__kind;
-
-      if (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP)
+      if (USE_REQUEUE_PI (mut))
 	{
 	  if (lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, INT_MAX,
 					&mut->__data.__lock, futex_val,

Modified: fsf/trunk/libc/nptl/pthread_cond_signal.c
==============================================================================
--- fsf/trunk/libc/nptl/pthread_cond_signal.c (original)
+++ fsf/trunk/libc/nptl/pthread_cond_signal.c Wed Oct  2 00:02:19 2013
@@ -49,14 +49,9 @@
 
 #if (defined lll_futex_cmp_requeue_pi \
      && defined __ASSUME_REQUEUE_PI)
-      int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
       pthread_mutex_t *mut = cond->__data.__mutex;
 
-      /* Do not use requeue for pshared condvars.  */
-      if (mut != (void *) ~0l)
-	pi_flag &= mut->__data.__kind;
-
-      if (__builtin_expect (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP, 0)
+      if (USE_REQUEUE_PI (mut)
 	/* This can only really fail with a ENOSYS, since nobody can modify
 	   futex while we have the cond_lock.  */
 	  && lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, 0,

Modified: fsf/trunk/libc/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.alpha (original)
+++ fsf/trunk/libc/ports/ChangeLog.alpha Wed Oct  2 00:02:19 2013
@@ -1,3 +1,8 @@
+2013-10-01  Richard Henderson  <rth@xxxxxxxxxx>
+
+	* sysdeps/unix/alpha/sysdep.h (PTR_MANGLE): Improve conditions under
+	which it is defined.
+
 2013-09-20  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/alpha/alphaev67/ffs.S (__ffs): Define as hidden.

Modified: fsf/trunk/libc/ports/sysdeps/unix/alpha/sysdep.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/alpha/sysdep.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/alpha/sysdep.h Wed Oct  2 00:02:19 2013
@@ -343,53 +343,43 @@
 	   : : inline_syscall_clobbers);			\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
+#endif /* ASSEMBLER */
 
 /* Pointer mangling support.  Note that tls access is slow enough that
    we don't deoptimize things by placing the pointer check value there.  */
 
-#include <stdint.h>
-
-#if defined NOT_IN_libc && defined IS_IN_rtld
-# ifdef __ASSEMBLER__
+#ifdef __ASSEMBLER__
+# if defined NOT_IN_libc && defined IS_IN_rtld
 #  define PTR_MANGLE(dst, src, tmp)				\
 	ldah	tmp, __pointer_chk_guard_local($29) !gprelhigh;	\
 	ldq	tmp, __pointer_chk_guard_local(tmp) !gprellow;	\
 	xor	src, tmp, dst
 #  define PTR_MANGLE2(dst, src, tmp)				\
 	xor	src, tmp, dst
-#  define PTR_DEMANGLE(dst, tmp)   PTR_MANGLE(dst, dst, tmp)
-#  define PTR_DEMANGLE2(dst, tmp)  PTR_MANGLE2(dst, dst, tmp)
-# else
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
-#  define PTR_MANGLE(var)	\
-  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
-#  define PTR_DEMANGLE(var)  PTR_MANGLE(var)
-# endif
-#elif defined PIC
-# ifdef __ASSEMBLER__
+# elif defined SHARED
 #  define PTR_MANGLE(dst, src, tmp)		\
 	ldq	tmp, __pointer_chk_guard;	\
 	xor	src, tmp, dst
-#  define PTR_MANGLE2(dst, src, tmp)		\
-	xor	src, tmp, dst
-#  define PTR_DEMANGLE(dst, tmp)   PTR_MANGLE(dst, dst, tmp)
-#  define PTR_DEMANGLE2(dst, tmp)  PTR_MANGLE2(dst, dst, tmp)
+# else
+#  define PTR_MANGLE(dst, src, tmp)		\
+	ldq	tmp, __pointer_chk_guard_local;	\
+	xor	src, tmp, dst
+# endif
+# define PTR_MANGLE2(dst, src, tmp)		\
+	xor	src, tmp, dst
+# define PTR_DEMANGLE(dst, tmp)   PTR_MANGLE(dst, dst, tmp)
+# define PTR_DEMANGLE2(dst, tmp)  PTR_MANGLE2(dst, dst, tmp)
+#else
+# include <stdint.h>
+# if (defined NOT_IN_libc && defined IS_IN_rtld) \
+     || (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+#  define PTR_MANGLE(var) \
+	(var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
 # else
 extern const uintptr_t __pointer_chk_guard attribute_relro;
-#  define PTR_MANGLE(var)	\
+#  define PTR_MANGLE(var) \
 	(var) = (__typeof(var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
-#  define PTR_DEMANGLE(var)  PTR_MANGLE(var)
 # endif
-#else
-/* There exists generic C code that assumes that PTR_MANGLE is always
-   defined.  When generating code for the static libc, we don't have
-   __pointer_chk_guard defined.  Nor is there any place that would
-   initialize it if it were defined, so there's little point in doing
-   anything more than nothing.  */
-# ifndef __ASSEMBLER__
-#  define PTR_MANGLE(var)
-#  define PTR_DEMANGLE(var)
-# endif
-#endif
-
+# define PTR_DEMANGLE(var)  PTR_MANGLE(var)
 #endif /* ASSEMBLER */

Modified: fsf/trunk/libc/posix/glob.c
==============================================================================
--- fsf/trunk/libc/posix/glob.c (original)
+++ fsf/trunk/libc/posix/glob.c Wed Oct  2 00:02:19 2013
@@ -193,7 +193,7 @@
 # define GET_LOGIN_NAME_MAX()	(-1)
 #endif
 
-static const char *next_brace_sub (const char *begin, int flags) __THROW;
+static const char *next_brace_sub (const char *begin, int flags) __THROWNL;
 
 #endif /* !defined _LIBC || !defined GLOB_ONLY_P */
 
@@ -208,8 +208,8 @@
     attribute_hidden;
 
 #if !defined _LIBC || !defined GLOB_ONLY_P
-static int prefix_array (const char *prefix, char **array, size_t n) __THROW;
-static int collated_compare (const void *, const void *) __THROW;
+static int prefix_array (const char *prefix, char **array, size_t n) __THROWNL;
+static int collated_compare (const void *, const void *) __THROWNL;
 
 
 /* Find the end of the sub-pattern in a brace expression.  */

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits