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

[Commits] r23380 - in /fsf/trunk/libc: ./ elf/ manual/ string/ sysdeps/x86_64/multiarch/



Author: eglibc
Date: Thu Jun 27 00:02:02 2013
New Revision: 23380

Log:
Import glibc-mainline for 2013-06-27

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/INSTALL
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/elf/dl-open.c
    fsf/trunk/libc/elf/elf.h
    fsf/trunk/libc/manual/install.texi
    fsf/trunk/libc/string/test-memcmp.c
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-ssse3.S

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Jun 27 00:02:02 2013
@@ -1,3 +1,30 @@
+2013-06-26  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* configure.in (CC): Require GCC version 4.4 or later.
+	* configure: Regenerated.
+	* manual/install.texi (Tools for Compilation): Update GCC version
+	requirement.
+	* INSTALL: Regenerated.
+
+2013-06-26  Liubov Dmitrieva  <liubov.dmitrieva@xxxxxxxxx>
+
+	[BZ #15674]
+	* string/test-memcmp.c (check2): New.
+	(main): Call check2.
+
+	* sysdeps/x86_64/multiarch/memcmp-ssse3.S: Fix buffers overrun.
+
+2013-06-26  Maciej W. Rozycki  <macro@xxxxxxxxxxxxxxxx>
+
+	[BZ #15022]
+	* elf/dl-open.c (_dl_open) [!SHARED]: Move call to DL_STATIC_INIT
+	over to...
+	(dl_open_worker) [!SHARED]: ... here.
+
+2013-06-26  Ryan S. Arnold  <rsa@xxxxxxxxxxxxxxxxxx>
+
+	* elf/elf.h (AT_HWCAP2): Add a new a_type entry.
+
 2013-06-25  Richard Henderson  <rth@xxxxxxxxxx>
 
 	* locale/programs/locarchive.c: Include <libc-internal.h>

Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Thu Jun 27 00:02:02 2013
@@ -315,9 +315,9 @@
      recommend GNU `make' version 3.79.  All earlier versions have
      severe bugs or lack features.
 
-   * GCC 4.3 or newer, GCC 4.6 recommended
-
-     GCC 4.3 or higher is required; as of this writing, GCC 4.6 is the
+   * GCC 4.4 or newer, GCC 4.6 recommended
+
+     GCC 4.4 or higher is required; as of this writing, GCC 4.6 is the
      compiler we advise to use to build the GNU C Library.
 
      You can use whatever compiler you like to compile programs that use

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu Jun 27 00:02:02 2013
@@ -21,7 +21,7 @@
   15406, 15409, 15416, 15418, 15419, 15423, 15424, 15426, 15429, 15431,
   15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488, 15490, 15492,
   15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583, 15618, 15627,
-  15631, 15654, 15655, 15666, 15667.
+  15631, 15654, 15655, 15666, 15667, 15674.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Thu Jun 27 00:02:02 2013
@@ -4678,7 +4678,7 @@
   ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    4.[3-9].* | 4.[1-9][0-9].* | [5-9].* )
+    4.[4-9].* | 4.[1-9][0-9].* | [5-9].* )
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Thu Jun 27 00:02:02 2013
@@ -966,7 +966,7 @@
 # These programs are version sensitive.
 AC_CHECK_TOOL_PREFIX
 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
-  [version \([egcygnustpi-]*[0-9.]*\)], [4.[3-9].* | 4.[1-9][0-9].* | [5-9].* ],
+  [version \([egcygnustpi-]*[0-9.]*\)], [4.[4-9].* | 4.[1-9][0-9].* | [5-9].* ],
   critic_missing="$critic_missing gcc")
 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
   [GNU Make[^0-9]*\([0-9][0-9.]*\)],

Modified: fsf/trunk/libc/elf/dl-open.c
==============================================================================
--- fsf/trunk/libc/elf/dl-open.c (original)
+++ fsf/trunk/libc/elf/dl-open.c Thu Jun 27 00:02:02 2013
@@ -568,6 +568,10 @@
   if (relocation_in_progress)
     LIBC_PROBE (reloc_complete, 3, args->nsid, r, new);
 
+#ifndef SHARED
+  DL_STATIC_INIT (new);
+#endif
+
   /* Run the initializer functions of new objects.  */
   _dl_init (new, args->argc, args->argv, args->env);
 
@@ -721,10 +725,6 @@
   /* Release the lock.  */
   __rtld_lock_unlock_recursive (GL(dl_load_lock));
 
-#ifndef SHARED
-  DL_STATIC_INIT (args.map);
-#endif
-
   return args.map;
 }
 

Modified: fsf/trunk/libc/elf/elf.h
==============================================================================
--- fsf/trunk/libc/elf/elf.h (original)
+++ fsf/trunk/libc/elf/elf.h Thu Jun 27 00:02:02 2013
@@ -993,7 +993,7 @@
 
 /* Some more special a_type values describing the hardware.  */
 #define AT_PLATFORM	15		/* String identifying platform.  */
-#define AT_HWCAP	16		/* Machine dependent hints about
+#define AT_HWCAP	16		/* Machine-dependent hints about
 					   processor capabilities.  */
 
 /* This entry gives some information about the FPU initialization
@@ -1014,6 +1014,9 @@
 #define AT_BASE_PLATFORM 24		/* String identifying real platforms.*/
 
 #define AT_RANDOM	25		/* Address of 16 random bytes.  */
+
+#define AT_HWCAP2	26		/* More machine-dependent hints about
+					   processor capabilities.  */
 
 #define AT_EXECFN	31		/* Filename of executable.  */
 

Modified: fsf/trunk/libc/manual/install.texi
==============================================================================
--- fsf/trunk/libc/manual/install.texi (original)
+++ fsf/trunk/libc/manual/install.texi Thu Jun 27 00:02:02 2013
@@ -353,9 +353,9 @@
 bugs or lack features.
 
 @item
-GCC 4.3 or newer, GCC 4.6 recommended
-
-GCC 4.3 or higher is required; as of this writing, GCC 4.6 is the
+GCC 4.4 or newer, GCC 4.6 recommended
+
+GCC 4.4 or higher is required; as of this writing, GCC 4.6 is the
 compiler we advise to use to build @theglibc{}.
 
 You can use whatever compiler you like to compile programs that use

Modified: fsf/trunk/libc/string/test-memcmp.c
==============================================================================
--- fsf/trunk/libc/string/test-memcmp.c (original)
+++ fsf/trunk/libc/string/test-memcmp.c Thu Jun 27 00:02:02 2013
@@ -448,6 +448,29 @@
     }
 }
 
+/* This test checks that memcmp doesn't overrun buffers.  */
+static void
+check2 (void)
+{
+  size_t max_length = page_size / sizeof (CHAR);
+
+  /* Initialize buf2 to the same values as buf1.  The bug requires the
+     last compared byte to be different.  */
+  memcpy (buf2, buf1, page_size);
+  ((char *) buf2)[page_size - 1] ^= 0x11;
+
+  for (size_t length = 1; length < max_length; length++)
+    {
+      CHAR *s1 = (CHAR *) buf1 + max_length - length;
+      CHAR *s2 = (CHAR *) buf2 + max_length - length;
+
+      const int exp_result = SIMPLE_MEMCMP (s1, s2, length);
+
+      FOR_EACH_IMPL (impl, 0)
+	check_result (impl, s1, s2, length, exp_result);
+    }
+}
+
 int
 test_main (void)
 {
@@ -456,6 +479,7 @@
   test_init ();
 
   check1 ();
+  check2 ();
 
   printf ("%23s", "");
   FOR_EACH_IMPL (impl, 0)

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-ssse3.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-ssse3.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-ssse3.S Thu Jun 27 00:02:02 2013
@@ -1463,10 +1463,8 @@
 	test	$0x40, %dh
 	jnz	L(Byte22)
 
-	mov	-9(%rdi), %eax
-	and	$0xff, %eax
-	mov	-9(%rsi), %edx
-	and	$0xff, %edx
+	movzbl	-9(%rdi), %eax
+	movzbl	-9(%rsi), %edx
 	sub	%edx, %eax
 	ret
 # else

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