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

[commits] r13357 - in /fsf/trunk/libc: ./ sysdeps/x86_64/ sysdeps/x86_64/multiarch/ wcsmbs/



Author: eglibc
Date: Sat Apr  2 00:03:07 2011
New Revision: 13357

Log:
Import glibc-mainline for 2011-04-02

Added:
    fsf/trunk/libc/sysdeps/x86_64/memmove.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/sysdeps/x86_64/Versions
    fsf/trunk/libc/sysdeps/x86_64/memcpy.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memcpy.S
    fsf/trunk/libc/sysdeps/x86_64/multiarch/memmove.c
    fsf/trunk/libc/wcsmbs/wchar.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Apr  2 00:03:07 2011
@@ -1,3 +1,21 @@
+2011-03-26  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #12518]
+	* sysdeps/x86_64/Versions: Add memcpy to GLIBC_2.14.
+	* sysdeps/x86_64/memcpy.S: Provide GLIBC_2_14 memcpy.
+	* sysdeps/x86_64/memmove.c: New file.
+	* sysdeps/x86_64/multiarch/memcpy.S: Include <shlib-compat.h>.
+	(memcpy): Renamed to ...
+	(__new_memcpy): This.
+	(memcpy): Provide GLIBC_2_14 memcpy.
+	* sysdeps/x86_64/multiarch/memmove.c: Include <shlib-compat.h>.
+	(memcpy): Provide GLIBC_2_2_5 memcpy.
+
+2011-04-01  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12631]
+	* wcsmbs/wchar.h: Make wcpcpy and wcpncpy visible for __USE_XOPEN2K8.
+
 2011-03-30  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* misc/syncfs.c: New file.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Apr  2 00:03:07 2011
@@ -11,7 +11,8 @@
 
 * The following bugs are resolved with this release:
 
-  11724, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12583, 12587, 12597
+  11724, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12518, 12583, 12587,
+  12597, 12631
 
 Version 2.13
 

Modified: fsf/trunk/libc/sysdeps/x86_64/Versions
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/Versions (original)
+++ fsf/trunk/libc/sysdeps/x86_64/Versions Sat Apr  2 00:03:07 2011
@@ -1,3 +1,8 @@
+libc {
+  GLIBC_2.14 {
+    memcpy;
+  }
+}
 libm {
   GLIBC_2.1 {
     # A generic bug got this omitted from other configurations' version

Modified: fsf/trunk/libc/sysdeps/x86_64/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/memcpy.S Sat Apr  2 00:03:07 2011
@@ -31,6 +31,12 @@
 #  define RETVAL	(0)
 #else
 #  define RETVAL	(-8)
+#  if defined SHARED && !defined USE_MULTIARCH && !defined NOT_IN_libc
+#    define memcpy	__memcpy
+#    undef libc_hidden_builtin_def
+#    define libc_hidden_builtin_def(name) \
+	.globl __GI_memcpy; __GI_memcpy = __memcpy
+#  endif
 #endif
 #define SAVE0	(RETVAL - 8)
 #define SAVE1	(SAVE0	- 8)
@@ -571,4 +577,9 @@
 
 #ifndef USE_AS_MEMPCPY
 libc_hidden_builtin_def (memcpy)
-#endif
+# if defined SHARED && !defined USE_MULTIARCH && !defined NOT_IN_libc
+#  undef memcpy
+#  include <shlib-compat.h>
+versioned_symbol (libc, __memcpy, memcpy, GLIBC_2_14);
+# endif
+#endif

Added: fsf/trunk/libc/sysdeps/x86_64/memmove.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memmove.c (added)
+++ fsf/trunk/libc/sysdeps/x86_64/memmove.c Sat Apr  2 00:03:07 2011
@@ -1,0 +1,27 @@
+/* Copyright (C) 2011 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include "string/memmove.c"
+
+#if !defined memmove && !defined NOT_IN_libc
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT (libc, GLIBC_2_2_5, GLIBC_2_14)
+compat_symbol (libc, memmove, memcpy, GLIBC_2_2_5);
+#endif
+#endif

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memcpy.S Sat Apr  2 00:03:07 2011
@@ -1,5 +1,6 @@
 /* Multiple versions of memcpy
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010, 2011
+   Free Software Foundation, Inc.
    Contributed by Intel Corporation.
    This file is part of the GNU C Library.
 
@@ -19,6 +20,7 @@
    02111-1307 USA.  */
 
 #include <sysdep.h>
+#include <shlib-compat.h>
 #include <init-arch.h>
 
 /* Define multiple versions only for the definition in lib and for
@@ -26,8 +28,8 @@
    happened.  */
 #if defined SHARED && !defined NOT_IN_libc
 	.text
-ENTRY(memcpy)
-	.type	memcpy, @gnu_indirect_function
+ENTRY(__new_memcpy)
+	.type	__new_memcpy, @gnu_indirect_function
 	cmpl	$0, KIND_OFFSET+__cpu_features(%rip)
 	jne	1f
 	call	__init_cpu_features
@@ -39,7 +41,7 @@
 	jz	2f
 	leaq	__memcpy_ssse3_back(%rip), %rax
 2:	ret
-END(memcpy)
+END(__new_memcpy)
 
 # undef ENTRY
 # define ENTRY(name) \
@@ -68,6 +70,8 @@
    by the indirect call in the PLT.  */
 # define libc_hidden_builtin_def(name) \
 	.globl __GI_memcpy; __GI_memcpy = __memcpy_sse2
+
+versioned_symbol (libc, __new_memcpy, memcpy, GLIBC_2_14);
 #endif
 
 #include "../memcpy.S"

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/memmove.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/memmove.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/memmove.c Sat Apr  2 00:03:07 2011
@@ -1,5 +1,6 @@
 /* Multiple versions of memmove.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010, 2011
+   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
@@ -20,6 +21,7 @@
 #include <string.h>
 
 #ifndef NOT_IN_libc
+#include <shlib-compat.h>
 #include "init-arch.h"
 
 #define MEMMOVE __memmove_sse2
@@ -42,4 +44,8 @@
 	    ? (HAS_FAST_COPY_BACKWARD
 	       ? __memmove_ssse3_back : __memmove_ssse3)
 	    : __memmove_sse2);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_2_5, GLIBC_2_14)
+compat_symbol (libc, memmove, memcpy, GLIBC_2_2_5);
 #endif
+#endif

Modified: fsf/trunk/libc/wcsmbs/wchar.h
==============================================================================
--- fsf/trunk/libc/wcsmbs/wchar.h (original)
+++ fsf/trunk/libc/wcsmbs/wchar.h Sat Apr  2 00:03:07 2011
@@ -554,8 +554,10 @@
 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      __locale_t __loc) __THROW;
-
-
+#endif	/* use GNU */
+
+
+#ifdef __USE_XOPEN2K8
 /* Copy SRC to DEST, returning the address of the terminating L'\0' in
    DEST.  */
 extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
@@ -566,12 +568,10 @@
 extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
 			 __const wchar_t *__restrict __src, size_t __n)
      __THROW;
-#endif	/* use GNU */
 
 
 /* Wide character I/O functions.  */
 
-#ifdef	__USE_XOPEN2K8
 /* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces
    a wide character string.  */
 extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;