[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r10385 - in /fsf/trunk/libc: ./ localedata/ posix/ sysdeps/unix/sysv/linux/
- To: commits@xxxxxxxxxx
- Subject: [commits] r10385 - in /fsf/trunk/libc: ./ localedata/ posix/ sysdeps/unix/sysv/linux/
- From: eglibc@xxxxxxxxxx
- Date: Wed, 05 May 2010 19:52:46 -0000
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