This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.18-81-g5430fc6
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 5 Sep 2013 14:33:49 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.18-81-g5430fc6
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 5430fc65a118300b35a834a1112caea3441ff12e (commit)
from 4660856c6f24ed0edc04d62a5a31839cab4e5640 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5430fc65a118300b35a834a1112caea3441ff12e
commit 5430fc65a118300b35a834a1112caea3441ff12e
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Thu Sep 5 09:32:56 2013 -0500
PowerPC: fix POWER7 memrchr for some large inputs
diff --git a/ChangeLog b/ChangeLog
index 9392693..2403463 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2013-09-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+ * sysdeps/powerpc/powerpc32/power7/memrchr.S (__memrchr): Fix invalid
+ memory access for final bytes in some large inputs.
+ * sysdeps/powerpc/powerpc64/power7/memrchr.S (__memrchr): Likewise.
+
+2013-09-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
* string/test-memrchr.c: New file.
* string/test-memrchr-ifunc.c: New file.
* string/Makefile: Add new memrchr testcase.
diff --git a/sysdeps/powerpc/powerpc32/power7/memrchr.S b/sysdeps/powerpc/powerpc32/power7/memrchr.S
index d1e3fda..defd832 100644
--- a/sysdeps/powerpc/powerpc32/power7/memrchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/memrchr.S
@@ -101,8 +101,8 @@ L(loop):
/* We're here because the counter reached 0, and that means we
didn't have any matches for BYTE in the whole range. Just return
the original range. */
- addi r9,r8,4
- cmplw cr6,r9,r7
+ addi r8,r8,4
+ cmplw cr6,r8,r7
bgt cr6,L(loop_small)
b L(null)
diff --git a/sysdeps/powerpc/powerpc64/power7/memrchr.S b/sysdeps/powerpc/powerpc64/power7/memrchr.S
index d24fbbb..c499952 100644
--- a/sysdeps/powerpc/powerpc64/power7/memrchr.S
+++ b/sysdeps/powerpc/powerpc64/power7/memrchr.S
@@ -102,8 +102,8 @@ L(loop):
/* We're here because the counter reached 0, and that means we
didn't have any matches for BYTE in the whole range. Just return
the original range. */
- addi r9,r8,8
- cmpld cr6,r9,r7
+ addi r8,r8,8
+ cmpld cr6,r8,r7
bgt cr6,L(loop_small)
b L(null)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/powerpc/powerpc32/power7/memrchr.S | 4 ++--
sysdeps/powerpc/powerpc64/power7/memrchr.S | 4 ++--
3 files changed, 10 insertions(+), 4 deletions(-)
hooks/post-receive
--
GNU C Library master sources