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

[Commits] r21532 - in /fsf/trunk/libc: ./ nptl/ nptl/sysdeps/unix/sysv/linux/ nptl/sysdeps/unix/sysv/linux/powerpc/ nptl/sysdeps/unix/...



Author: eglibc
Date: Tue Nov  6 00:01:47 2012
New Revision: 21532

Log:
Import glibc-mainline for 2012-11-06

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/pthread_cond_timedwait.c
    fsf/trunk/libc/nptl/pthread_rwlock_timedrdlock.c
    fsf/trunk/libc/nptl/pthread_rwlock_timedwrlock.c
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
    fsf/trunk/libc/ports/ChangeLog.arm
    fsf/trunk/libc/ports/ChangeLog.hppa
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/sysdeps/arm/bits/fenv.h
    fsf/trunk/libc/ports/sysdeps/hppa/fpu/bits/fenv.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
    fsf/trunk/libc/sysdeps/s390/fpu/bits/fenv.h
    fsf/trunk/libc/sysdeps/s390/fpu/fegetenv.c
    fsf/trunk/libc/sysdeps/s390/fpu/feholdexcpt.c
    fsf/trunk/libc/sysdeps/s390/fpu/fesetenv.c
    fsf/trunk/libc/sysdeps/sh/sh4/fpu/bits/fenv.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Nov  6 00:01:47 2012
@@ -1,3 +1,17 @@
+2012-11-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14805]
+	* sysdeps/sh/sh4/fpu/bits/fenv.h (FE_DFL_ENV): Use cast to const
+	fenv_t *.
+
+	[BZ #14801]
+	* sysdeps/s390/fpu/bits/fenv.h (fenv_t): Use implementation
+	namespace for names of struct fields.
+	* sysdeps/s390/fpu/fegetenv.c (fegetenv): Update references to
+	fenv_t fields.
+	* sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Likewise.
+	* sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise.
+
 2012-11-04  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
 
 	[BZ #3665]

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Tue Nov  6 00:01:47 2012
@@ -18,7 +18,7 @@
   14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562,
   14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638,
   14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716, 14743,
-  14767, 14783, 14784, 14785, 14796, 14797.
+  14767, 14783, 14784, 14785, 14796, 14797, 14801, 14805.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Tue Nov  6 00:01:47 2012
@@ -1,3 +1,20 @@
+2012-11-05  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* pthread_cond_timedwait.c (__pthread_cond_timedwait): Time out
+	if absolute timeout is negative.
+	[__ASSUME_FUTEX_CLOCK_REALTIME &&
+	lll_futex_timed_wait_bitset]: Use lll_futex_timed_wait_bitset.
+	* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
+	Likewise.
+	* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
+	Likewise.
+	* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
+	(__lll_robust_timedlock_wait): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
+	(lll_futex_timed_wait_bitset): New macro.
+	* sysdeps/unix/sysv/linux/s390/lowlevellock.h
+	(lll_futex_timed_wait_bitset): Likewise.
+
 2012-11-03  David S. Miller  <davem@xxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):

Modified: fsf/trunk/libc/nptl/pthread_cond_timedwait.c
==============================================================================
--- fsf/trunk/libc/nptl/pthread_cond_timedwait.c (original)
+++ fsf/trunk/libc/nptl/pthread_cond_timedwait.c Tue Nov  6 00:01:47 2012
@@ -80,6 +80,11 @@
   ++cond->__data.__futex;
   cond->__data.__nwaiters += 1 << COND_NWAITERS_SHIFT;
 
+  /* Work around the fact that the kernel rejects negative timeout values
+     despite them being valid.  */
+  if (__builtin_expect (abstime->tv_sec < 0, 0))
+    goto timeout;
+
   /* Remember the mutex we are using here.  If there is already a
      different address store this is a bad user bug.  Do not store
      anything for pshared condvars.  */
@@ -104,9 +109,11 @@
 
   while (1)
     {
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       struct timespec rt;
       {
-#ifdef __NR_clock_gettime
+# ifdef __NR_clock_gettime
 	INTERNAL_SYSCALL_DECL (err);
 	int ret;
 	ret = INTERNAL_VSYSCALL (clock_gettime, err, 2,
@@ -116,7 +123,7 @@
 	/* Convert the absolute timeout value to a relative timeout.  */
 	rt.tv_sec = abstime->tv_sec - rt.tv_sec;
 	rt.tv_nsec = abstime->tv_nsec - rt.tv_nsec;
-#else
+# else
 	/* Get the current time.  So far we support only one clock.  */
 	struct timeval tv;
 	(void) gettimeofday (&tv, NULL);
@@ -124,7 +131,7 @@
 	/* Convert the absolute timeout value to a relative timeout.  */
 	rt.tv_sec = abstime->tv_sec - tv.tv_sec;
 	rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
-#endif
+# endif
       }
       if (rt.tv_nsec < 0)
 	{
@@ -139,6 +146,7 @@
 
 	  goto timeout;
 	}
+#endif
 
       unsigned int futex_val = cond->__data.__futex;
 
@@ -148,9 +156,17 @@
       /* Enable asynchronous cancellation.  Required by the standard.  */
       cbuffer.oldtype = __pthread_enable_asynccancel ();
 
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       /* Wait until woken by signal or broadcast.  */
       err = lll_futex_timed_wait (&cond->__data.__futex,
 				  futex_val, &rt, pshared);
+#else
+      unsigned int clockbit = (cond->__data.__nwaiters & 1
+			       ? 0 : FUTEX_CLOCK_REALTIME);
+      err = lll_futex_timed_wait_bitset (&cond->__data.__futex, futex_val,
+					 abstime, clockbit, pshared);
+#endif
 
       /* Disable asynchronous cancellation.  */
       __pthread_disable_asynccancel (cbuffer.oldtype);

Modified: fsf/trunk/libc/nptl/pthread_rwlock_timedrdlock.c
==============================================================================
--- fsf/trunk/libc/nptl/pthread_rwlock_timedrdlock.c (original)
+++ fsf/trunk/libc/nptl/pthread_rwlock_timedrdlock.c Tue Nov  6 00:01:47 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003,2004,2007,2011 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky <schwidefsky@xxxxxxxxxx>, 2003.
 
@@ -76,6 +76,16 @@
 	  break;
 	}
 
+      /* Work around the fact that the kernel rejects negative timeout values
+	 despite them being valid.  */
+      if (__builtin_expect (abstime->tv_sec < 0, 0))
+	{
+	  result = ETIMEDOUT;
+	  break;
+	}
+
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       /* Get the current time.  So far we support only one clock.  */
       struct timeval tv;
       (void) gettimeofday (&tv, NULL);
@@ -96,6 +106,7 @@
 	  result = ETIMEDOUT;
 	  break;
 	}
+#endif
 
       /* Remember that we are a reader.  */
       if (++rwlock->__data.__nr_readers_queued == 0)
@@ -112,8 +123,16 @@
       lll_unlock (rwlock->__data.__lock, rwlock->__data.__shared);
 
       /* Wait for the writer to finish.  */
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       err = lll_futex_timed_wait (&rwlock->__data.__readers_wakeup,
 				  waitval, &rt, rwlock->__data.__shared);
+#else
+      err = lll_futex_timed_wait_bitset (&rwlock->__data.__readers_wakeup,
+					 waitval, abstime,
+					 FUTEX_CLOCK_REALTIME,
+					 rwlock->__data.__shared);
+#endif
 
       /* Get the lock.  */
       lll_lock (rwlock->__data.__lock, rwlock->__data.__shared);

Modified: fsf/trunk/libc/nptl/pthread_rwlock_timedwrlock.c
==============================================================================
--- fsf/trunk/libc/nptl/pthread_rwlock_timedwrlock.c (original)
+++ fsf/trunk/libc/nptl/pthread_rwlock_timedwrlock.c Tue Nov  6 00:01:47 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003,2004,2007,2011 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky <schwidefsky@xxxxxxxxxx>, 2003.
 
@@ -67,6 +67,16 @@
 	  break;
 	}
 
+      /* Work around the fact that the kernel rejects negative timeout values
+	 despite them being valid.  */
+      if (__builtin_expect (abstime->tv_sec < 0, 0))
+	{
+	  result = ETIMEDOUT;
+	  break;
+	}
+
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       /* Get the current time.  So far we support only one clock.  */
       struct timeval tv;
       (void) gettimeofday (&tv, NULL);
@@ -86,6 +96,7 @@
 	  result = ETIMEDOUT;
 	  break;
 	}
+#endif
 
       /* Remember that we are a writer.  */
       if (++rwlock->__data.__nr_writers_queued == 0)
@@ -102,8 +113,16 @@
       lll_unlock (rwlock->__data.__lock, rwlock->__data.__shared);
 
       /* Wait for the writer or reader(s) to finish.  */
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       err = lll_futex_timed_wait (&rwlock->__data.__writer_wakeup,
 				  waitval, &rt, rwlock->__data.__shared);
+#else
+      err = lll_futex_timed_wait_bitset (&rwlock->__data.__writer_wakeup,
+					 waitval, abstime,
+					 FUTEX_CLOCK_REALTIME,
+					 rwlock->__data.__shared);
+#endif
 
       /* Get the lock.  */
       lll_lock (rwlock->__data.__lock, rwlock->__data.__shared);

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c Tue Nov  6 00:01:47 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2006.
 
@@ -70,8 +70,15 @@
   if (oldval == 0)
     goto try;
 
+  /* Work around the fact that the kernel rejects negative timeout values
+     despite them being valid.  */
+  if (__builtin_expect (abstime->tv_sec < 0, 0))
+    return ETIMEDOUT;
+
   do
     {
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       struct timeval tv;
       struct timespec rt;
 
@@ -90,6 +97,7 @@
       /* Already timed out?  */
       if (rt.tv_sec < 0)
 	return ETIMEDOUT;
+#endif
 
       /* Wait.  */
       if (__builtin_expect (oldval & FUTEX_OWNER_DIED, 0))
@@ -100,7 +108,13 @@
 	  && atomic_compare_and_exchange_bool_acq (futex, newval, oldval))
 	continue;
 
+#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \
+     || !defined lll_futex_timed_wait_bitset)
       lll_futex_timed_wait (futex, newval, &rt, private);
+#else
+      lll_futex_timed_wait_bitset (futex, newval, abstime,
+				   FUTEX_CLOCK_REALTIME, private);
+#endif
 
     try:
       ;

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h Tue Nov  6 00:01:47 2012
@@ -88,6 +88,19 @@
     INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret;		      \
   })
 
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+  ({									      \
+    INTERNAL_SYSCALL_DECL (__err);					      \
+    long int __ret;							      \
+    int __op = FUTEX_WAIT_BITSET | clockbit;				      \
+									      \
+    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		      \
+			      __lll_private_flag (__op, private),	      \
+			      (val), (timespec), NULL /* Unused.  */, 	      \
+			      FUTEX_BITSET_MATCH_ANY);			      \
+    INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret;		      \
+  })
+
 #define lll_futex_wake(futexp, nr, private) \
   ({									      \
     INTERNAL_SYSCALL_DECL (__err);					      \

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h Tue Nov  6 00:01:47 2012
@@ -93,6 +93,26 @@
     __result;								      \
   })
 
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+  ({									      \
+    register unsigned long int __r2 asm ("2") = (unsigned long int) (futexp); \
+    register unsigned long int __r3 asm ("3")				      \
+      = __lll_private_flag ((FUTEX_WAIT_BITSET | clockbit), private);	      \
+    register unsigned long int __r4 asm ("4") = (long int) (val);	      \
+    register unsigned long int __r5 asm ("5") = (long int) (timespec);	      \
+    register unsigned long int __r6 asm ("6") = (unsigned long int) (NULL);   \
+    register unsigned long int __r7 asm ("7")				      \
+      = (unsigned int) (FUTEX_BITSET_MATCH_ANY);			      \
+    register unsigned long __result asm ("2");				      \
+									      \
+    __asm __volatile ("svc %b1"						      \
+		      : "=d" (__result)					      \
+		      : "i" (SYS_futex), "0" (__r2), "d" (__r3),	      \
+			"d" (__r4), "d" (__r5), "d" (__r6), "d" (__r7)	      \
+		      : "cc", "memory" );				      \
+    __result;								      \
+  })
+
 
 #define lll_futex_wake(futex, nr, private) \
   ({									      \

Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Tue Nov  6 00:01:47 2012
@@ -1,3 +1,11 @@
+2012-11-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+	(lll_futex_timed_wait_bitset): New macro.
+
+	[BZ #14805]
+	* sysdeps/arm/bits/fenv.h (FE_DFL_ENV): Use cast to const fenv_t *.
+
 2012-11-03  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/arm/fclrexcpt.c (feclearexcept): Add libm_hidden_ver.

Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Tue Nov  6 00:01:47 2012
@@ -1,3 +1,10 @@
+2012-11-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14805]
+	* sysdeps/hppa/fpu/bits/fenv.h (FE_DFL_ENV): Use cast to const
+	fenv_t *.
+	(FE_NOMASK_ENV): Likewise.
+
 2012-11-03  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Add

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Tue Nov  6 00:01:47 2012
@@ -1,3 +1,8 @@
+2012-11-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
+	(lll_futex_timed_wait_bitset): New macro.
+
 2012-11-04  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/mips/mips32/sync_file_range.c: Don't

Modified: fsf/trunk/libc/ports/sysdeps/arm/bits/fenv.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/bits/fenv.h (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/bits/fenv.h Tue Nov  6 00:01:47 2012
@@ -74,7 +74,7 @@
 fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((fenv_t *) -1l)
+#define FE_DFL_ENV	((const fenv_t *) -1l)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exceptions are masked.  */

Modified: fsf/trunk/libc/ports/sysdeps/hppa/fpu/bits/fenv.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/fpu/bits/fenv.h (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/fpu/bits/fenv.h Tue Nov  6 00:01:47 2012
@@ -83,9 +83,9 @@
 } fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV ((fenv_t *) -1)
+#define FE_DFL_ENV ((const fenv_t *) -1)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exceptions are masked.  */
-# define FE_NOMASK_ENV	((fenv_t *) -2)
+# define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h Tue Nov  6 00:01:47 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -86,6 +86,18 @@
     __ret;								      \
   })
 
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+  ({									\
+    INTERNAL_SYSCALL_DECL (__err);					\
+    long int __ret;							\
+    int __op = FUTEX_WAIT_BITSET | clockbit;				\
+    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		\
+			      __lll_private_flag (__op, private),	\
+			      (val), (timespec), NULL /* Unused.  */,	\
+			      FUTEX_BITSET_MATCH_ANY);			\
+    __ret;								\
+  })
+
 #define lll_futex_wake(futexp, nr, private) \
   ({									      \
     INTERNAL_SYSCALL_DECL (__err);					      \

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h Tue Nov  6 00:01:47 2012
@@ -86,6 +86,18 @@
     INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret;		      \
   })
 
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+  ({									\
+    INTERNAL_SYSCALL_DECL (__err);					\
+    long int __ret;							\
+    int __op = FUTEX_WAIT_BITSET | clockbit;				\
+    __ret = INTERNAL_SYSCALL (futex, __err, 6, (long) (futexp),		\
+			      __lll_private_flag (__op, private),	\
+			      (val), (timespec), NULL /* Unused.  */,	\
+			      FUTEX_BITSET_MATCH_ANY);			\
+    INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret;		\
+  })
+
 #define lll_futex_wake(futexp, nr, private) \
   ({									      \
     INTERNAL_SYSCALL_DECL (__err);					      \

Modified: fsf/trunk/libc/sysdeps/s390/fpu/bits/fenv.h
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/bits/fenv.h (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/bits/fenv.h Tue Nov  6 00:01:47 2012
@@ -76,8 +76,8 @@
    to the layout of the block written by the `fstenv'.  */
 typedef struct
 {
-  fexcept_t fpc;
-  void *ieee_instruction_pointer;
+  fexcept_t __fpc;
+  void *__ieee_instruction_pointer;
   /* failing instruction for ieee exceptions */
 } fenv_t;
 

Modified: fsf/trunk/libc/sysdeps/s390/fpu/fegetenv.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/fegetenv.c (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/fegetenv.c Tue Nov  6 00:01:47 2012
@@ -1,5 +1,5 @@
 /* Store current floating-point environment.
-   Copyright (C) 2000, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Denis Joseph Barrow (djbarrow@xxxxxxxxxx).
 
@@ -23,7 +23,7 @@
 int
 fegetenv (fenv_t *envp)
 {
-  _FPU_GETCW (envp->fpc);
+  _FPU_GETCW (envp->__fpc);
 
   /* Success.  */
   return 0;

Modified: fsf/trunk/libc/sysdeps/s390/fpu/feholdexcpt.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/feholdexcpt.c (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/feholdexcpt.c Tue Nov  6 00:01:47 2012
@@ -1,5 +1,5 @@
 /* Store current floating-point environment and clear exceptions.
-   Copyright (C) 2000, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Denis Joseph Barrow (djbarrow@xxxxxxxxxx).
 
@@ -27,7 +27,7 @@
   fegetenv (envp);
   /* Clear the current sticky bits as more than one exception
      may be generated.  */
-  fpc = envp->fpc & ~(FPC_FLAGS_MASK | FPC_DXC_MASK);
+  fpc = envp->__fpc & ~(FPC_FLAGS_MASK | FPC_DXC_MASK);
   /* Hold from generating fpu exceptions temporarily.  */
   _FPU_SETCW ((fpc & ~(FE_ALL_EXCEPT << FPC_EXCEPTION_MASK_SHIFT)));
   return 0;

Modified: fsf/trunk/libc/sysdeps/s390/fpu/fesetenv.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/fesetenv.c (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/fesetenv.c Tue Nov  6 00:01:47 2012
@@ -1,5 +1,5 @@
 /* Install given floating-point environment.
-   Copyright (C) 2000, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Denis Joseph Barrow (djbarrow@xxxxxxxxxx).
 
@@ -31,18 +31,18 @@
 
   if (envp == FE_DFL_ENV)
     {
-      env.fpc = _FPU_DEFAULT;
-      env.ieee_instruction_pointer = 0;
+      env.__fpc = _FPU_DEFAULT;
+      env.__ieee_instruction_pointer = 0;
     }
   else if (envp == FE_NOMASK_ENV)
     {
-      env.fpc = FPC_EXCEPTION_MASK;
-      env.ieee_instruction_pointer = 0;
+      env.__fpc = FPC_EXCEPTION_MASK;
+      env.__ieee_instruction_pointer = 0;
     }
   else
     env = (*envp);
 
-  _FPU_SETCW (env.fpc);
+  _FPU_SETCW (env.__fpc);
 
   /* Success.  */
   return 0;

Modified: fsf/trunk/libc/sysdeps/sh/sh4/fpu/bits/fenv.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/sh4/fpu/bits/fenv.h (original)
+++ fsf/trunk/libc/sysdeps/sh/sh4/fpu/bits/fenv.h Tue Nov  6 00:01:47 2012
@@ -73,4 +73,4 @@
 fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((fenv_t *) -1)
+#define FE_DFL_ENV	((const fenv_t *) -1)

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