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

[commits] r10385 - in /fsf/trunk/libc: ./ localedata/ posix/ sysdeps/unix/sysv/linux/



Author: eglibc
Date: Wed May  5 12:52:44 2010
New Revision: 10385

Log:
Import glibc-mainline for 2010-05-05

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/INSTALL
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/SUPPORTED
    fsf/trunk/libc/posix/regexec.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/getlogin_r.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed May  5 12:52:44 2010
@@ -1,3 +1,18 @@
+2010-05-04  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* posix/regexec.c (find_collation_sequence_value): Fix skipping
+	the wide char sequence of the collating element.
+
+2010-05-05  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11571]
+	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
+	too small buffers according to the standard.
+
+	* sysdeps/unix/sysv/linux/kernel-features.h: Alpha doesn't have to be
+	handled here anymore.
+	Patch mostly by Matt Turner <mattst88@xxxxxxxxx>.
+
 2010-05-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* version.h (VERSION): Bump for 2.12 release.

Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Wed May  5 12:52:44 2010
@@ -298,16 +298,16 @@
 
    * GCC 3.4 or newer, GCC 4.1 recommended
 
-     The GNU C library can only be compiled with the GNU C compiler
-     family.  For the 2.3 releases, GCC 3.2 or higher is required; GCC
-     3.4 is the compiler we advise to use for 2.3 versions.  For the
-     2.4 release, GCC 3.4 or higher is required; as of this writing,
-     GCC 4.1 is the compiler we advise to use for current versions.  On
-     certain machines including `powerpc64', compilers prior to GCC 4.0
-     have bugs that prevent them compiling the C library code in the
-     2.4 release.  On other machines, GCC 4.1 is required to build the C
-     library with support for the correct `long double' type format;
-     these include `powerpc' (32 bit), `s390' and `s390x'.
+     For the 2.4 release or later, GCC 3.4 or higher is required; as of
+     this writing, GCC 4.4 is the compiler we advise to use for current
+     versions.  On certain machines including `powerpc64', compilers
+     prior to GCC 4.0 have bugs that prevent them compiling the C
+     library code in the 2.4 release.  On other machines, GCC 4.1 is
+     required to build the C library with support for the correct `long
+     double' type format; these include `powerpc' (32 bit), `s390' and
+     `s390x'.  For other architectures special compiler-provided
+     headers are needed (like `cpuid.h' on x86) which only come with
+     later compiler versions.
 
      You can use whatever compiler you like to compile programs that
      use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Wed May  5 12:52:44 2010
@@ -16,7 +16,7 @@
   11185, 11186, 11187, 11188, 11189, 11190, 11191, 11192, 11193, 11194,
   11200, 11230, 11235, 11242, 11254, 11258, 11271, 11272, 11276, 11279,
   11287, 11292, 11319, 11332, 11333, 11387, 11389, 11390, 11394, 11397,
-  11410, 11438, 11449, 11470, 11471, 11520, 11537, 11538
+  11410, 11438, 11449, 11470, 11471, 11520, 11537, 11538, 11571
 
 * New interfaces: pthread_getname_np, pthread_setname_np
 

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Wed May  5 12:52:44 2010
@@ -1,3 +1,8 @@
+2010-05-04  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* SUPPORTED (SUPPORTED-LOCALES): Fix name of tt_RU.UTF-8@iqtelif
+	locale.
+
 2010-05-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	[BZ #11520]

Modified: fsf/trunk/libc/localedata/SUPPORTED
==============================================================================
--- fsf/trunk/libc/localedata/SUPPORTED (original)
+++ fsf/trunk/libc/localedata/SUPPORTED Wed May  5 12:52:44 2010
@@ -386,7 +386,7 @@
 tr_TR/ISO-8859-9 \
 ts_ZA/UTF-8 \
 tt_RU.UTF-8/UTF-8 \
-tt_RU@xxxxxxxxxxxxx/UTF-8 \
+tt_RU.UTF-8@iqtelif/UTF-8 \
 ug_CN/UTF-8 \
 uk_UA.UTF-8/UTF-8 \
 uk_UA/KOI8-U \

Modified: fsf/trunk/libc/posix/regexec.c
==============================================================================
--- fsf/trunk/libc/posix/regexec.c (original)
+++ fsf/trunk/libc/posix/regexec.c Wed May  5 12:52:44 2010
@@ -4031,7 +4031,7 @@
 	  /* Skip the collation sequence value.  */
 	  idx += sizeof (uint32_t);
 	  /* Skip the wide char sequence of the collating element.  */
-	  idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
+	  idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1);
 	  /* If we found the entry, return the sequence value.  */
 	  if (found)
 	    return *(uint32_t *) (extra + idx);

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/getlogin_r.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/getlogin_r.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/getlogin_r.c Wed May  5 12:52:44 2010
@@ -81,13 +81,22 @@
   if (tpwd == NULL)
     goto fail;
 
-  strncpy (name, pwd.pw_name, namesize - 1);
-  name[namesize - 1] = '\0';
+  int result = 0;
+  size_t needed = strlen (pwd.pw_name) + 1;
+  if (needed > namesize)
+    {
+      __set_errno (ERANGE);
+      result = ERANGE;
+      goto out;
+    }
 
+  memcpy (name, pwd.pw_name, needed);
+
+ out:
   if (use_malloc)
     free (buf);
 
-  return 0;
+  return result;
 }
 
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h Wed May  5 12:52:44 2010
@@ -176,7 +176,7 @@
    distinguish this version from other 2.4.0 releases.  Therefore play
    save and assume it available is for 2.4.1 and up.  However, SH is lame,
    and still does not have a 64-bit inode field.  */
-#if __LINUX_KERNEL_VERSION >= 132097 && !defined __alpha__ && !defined __sh__
+#if __LINUX_KERNEL_VERSION >= 132097 && !defined __sh__
 # define __ASSUME_ST_INO_64_BIT		1
 #endif
 
@@ -268,11 +268,6 @@
 /* The vfork syscall on x86 and arm was definitely available in 2.4.  */
 #if __LINUX_KERNEL_VERSION >= 132097 && defined __i386__
 # define __ASSUME_VFORK_SYSCALL		1
-#endif
-
-/* Alpha switched to a 64-bit timeval sometime before 2.2.0.  */
-#if __LINUX_KERNEL_VERSION >= 131584 && defined __alpha__
-# define __ASSUME_TIMEVAL64		1
 #endif
 
 /* The late 2.5 kernels saw a lot of new CLONE_* flags.  Summarize
@@ -327,12 +322,9 @@
 # define __ASSUME_CORRECT_SI_PID	1
 #endif
 
-/* The tgkill syscall was instroduced for i386 in 2.5.75.  For Alpha
-   it was introduced in 2.6.0-test1 which unfortunately cannot be
-   distinguished from 2.6.0.  On x86-64, ppc, and ppc64 it was
-   introduced in 2.6.0-test3. */
+/* The tgkill syscall was instroduced for i386 in 2.5.75.  On x86-64,
+   ppc, and ppc64 it was introduced in 2.6.0-test3. */
 #if (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __alpha__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __x86_64__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
@@ -342,8 +334,7 @@
 /* The utimes syscall has been available for some architectures
    forever.  For x86 it was introduced after 2.5.75, for x86-64,
    ppc, and ppc64 it was introduced in 2.6.0-test3.  */
-#if defined __alpha__ || defined __ia64__ \
-    || defined __sparc__ \
+#if defined __ia64__ || defined __sparc__ \
     || (__LINUX_KERNEL_VERSION > 132427 && defined __i386__) \
     || (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
@@ -410,11 +401,6 @@
 # define __ASSUME_WAITID_SYSCALL	1
 #endif
 
-/* Starting with version 2.6.9, SSI_IEEE_RAISE_EXCEPTION exists.  */
-#if __LINUX_KERNEL_VERSION >= 0x020609 && defined __alpha__
-# define __ASSUME_IEEE_RAISE_EXCEPTION	1
-#endif
-
 /* On sparc64 stat64/lstat64/fstat64 syscalls were introduced in 2.6.12.  */
 #if __LINUX_KERNEL_VERSION >= 0x02060c && defined __sparc__ \
     && defined __arch64__
@@ -431,34 +417,28 @@
 /* pselect/ppoll were introduced just after 2.6.16-rc1.  Due to the way
    the kernel versions are advertised we can only rely on 2.6.17 to have
    the code.  On x86_64 and SH this appeared first in 2.6.19-rc1,
-   on ia64 in 2.6.22-rc1 and on alpha just after 2.6.22-rc1.  */
+   on ia64 in 2.6.22-rc1.  */
 #if __LINUX_KERNEL_VERSION >= 0x020611 \
-    && ((!defined __x86_64__ && !defined __sh__ && !defined __ia64__ \
-	 && !defined __alpha__) \
+    && ((!defined __x86_64__ && !defined __sh__ && !defined __ia64__) \
 	|| (__LINUX_KERNEL_VERSION >= 0x020613 \
 	    && (defined __x86_64__ || defined __sh__)) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020616 && defined __ia64__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__))
+	|| (__LINUX_KERNEL_VERSION >= 0x020616 && defined __ia64__))
 # define __ASSUME_PSELECT	1
 # define __ASSUME_PPOLL		1
 #endif
 
 /* The *at syscalls were introduced just after 2.6.16-rc1.  Due to the way the
    kernel versions are advertised we can only rely on 2.6.17 to have
-   the code.  On PPC they were introduced in 2.6.17-rc1, on SH in 2.6.19-rc1
-   and on Alpha just after 2.6.22-rc1.  */
+   the code.  On PPC they were introduced in 2.6.17-rc1,
+   on SH in 2.6.19-rc1.  */
 #if __LINUX_KERNEL_VERSION >= 0x020611 \
-    && ((!defined __sh__ && !defined __alpha__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__))
+    && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613)
 # define __ASSUME_ATFCTS	1
 #endif
 
 /* Support for inter-process robust mutexes was added in 2.6.17.  */
 #if __LINUX_KERNEL_VERSION >= 0x020611 \
-    && ((!defined __sh__ && !defined __alpha__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__))
+    && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613)
 # define __ASSUME_SET_ROBUST_LIST	1
 #endif
 
@@ -474,11 +454,10 @@
 # define __ASSUME_FUTEX_LOCK_PI	1
 #endif
 
-/* Support for utimensat syscall was added in 2.6.22, on alpha and s390
+/* Support for utimensat syscall was added in 2.6.22, on SH
    only after 2.6.22-rc1.  */
 #if __LINUX_KERNEL_VERSION >= 0x020616 \
-    && ((!defined __sh__ && !defined __alpha__) \
-	|| __LINUX_KERNEL_VERSION >= 0x020617)
+    && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020617)
 # define __ASSUME_UTIMENSAT	1
 #endif
 
@@ -490,8 +469,7 @@
 /* Support for fallocate was added in 2.6.23, on s390
    only after 2.6.23-rc1.  */
 #if __LINUX_KERNEL_VERSION >= 0x020617 \
-    && ((!defined __s390__ && !defined __alpha__) \
-	|| (__LINUX_KERNEL_VERSION >= 0x020618 && defined __s390__))
+    && (!defined __s390__ || __LINUX_KERNEL_VERSION >= 0x020618)
 # define __ASSUME_FALLOCATE	1
 #endif