This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.16-ports-merge-630-g1921875


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  19218757e638bac1ff7193ff54fdee143833e2ac (commit)
      from  c5f457212413392210bb9c9cf610d0eb1d4e9c09 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=19218757e638bac1ff7193ff54fdee143833e2ac

commit 19218757e638bac1ff7193ff54fdee143833e2ac
Author: Maxim Kuvyrkov <maxim@codesourcery.com>
Date:   Tue Nov 6 17:47:55 2012 -0800

    Use memcpy in memmove when possible

diff --git a/ChangeLog b/ChangeLog
index 96328a0..0f09cd0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* string/memmove.c: Use memcpy when possible.
+
 2012-11-06  Andreas Jaeger  <aj@suse.de>
 
 	* po/eo.po: Update from translation team.
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 8dc4893..cdf4ea3 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,7 @@
+2012-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+        * sysdeps/mips/memmove.c: New file.  Use memcpy for forward memmove.
+
 2012-11-05  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
diff --git a/ports/sysdeps/mips/memmove.c b/ports/sysdeps/mips/memmove.c
new file mode 100644
index 0000000..1426ec3
--- /dev/null
+++ b/ports/sysdeps/mips/memmove.c
@@ -0,0 +1,23 @@
+/* Copy memory to memory until the specified number of bytes
+   has been copied.  Overlap is handled correctly.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>.
+
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* MIPS' implementation of memcpy is safe to use for memmove.  */
+#define MEMCPY_OK_FOR_FWD_MEMMOVE 1
+#include <string/memmove.c>
diff --git a/string/memmove.c b/string/memmove.c
index ede27ff..bf7dcc1 100644
--- a/string/memmove.c
+++ b/string/memmove.c
@@ -1,6 +1,6 @@
 /* Copy memory to memory until the specified number of bytes
    has been copied.  Overlap is handled correctly.
-   Copyright (C) 1991, 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Torbjorn Granlund (tege@sics.se).
 
@@ -55,6 +55,9 @@ MEMMOVE (a1, a2, len)
     {
       /* Copy from the beginning to the end.  */
 
+#if MEMCPY_OK_FOR_FWD_MEMMOVE
+      dest = memcpy (dest, src, len);
+#else
       /* If there not too few bytes to copy, use word copy.  */
       if (len >= OP_T_THRES)
 	{
@@ -79,6 +82,7 @@ MEMMOVE (a1, a2, len)
 
       /* There are just a few bytes to copy.  Use byte memory operations.  */
       BYTE_COPY_FWD (dstp, srcp, len);
+#endif /* MEMCPY_OK_FOR_FWD_MEMMOVE */
     }
   else
     {

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    4 ++++
 ports/ChangeLog.mips                               |    4 ++++
 .../sysdeps/mips/memmove.c                         |    9 ++++++---
 string/memmove.c                                   |    6 +++++-
 4 files changed, 19 insertions(+), 4 deletions(-)
 copy debug/test-stpcpy_chk-ifunc.c => ports/sysdeps/mips/memmove.c (72%)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]