about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>2015-08-11 19:38:45 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2015-08-21 17:05:40 -0300
commit502b91de1431f92afc650c3b5ca5650cb6b0298d (patch)
treeedfdd814f0acef9f9de2393f6323dd6ab9f34231
parente5dee2c896f04d88defdfa00282fa83f5f4004d8 (diff)
downloadglibc-502b91de1431f92afc650c3b5ca5650cb6b0298d.tar.gz
glibc-502b91de1431f92afc650c3b5ca5650cb6b0298d.tar.xz
glibc-502b91de1431f92afc650c3b5ca5650cb6b0298d.zip
powerpc: make memchr use memchr-power7.
In powerpc64, memchr was always pointing to the internal __GI_memchr
implementation.  This patch fixes that and makes it use the
optimized POWER7 version when adequate.

	* sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c: Make
	memchr not point to the internal __GI_memchr implementation.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c5e70b17ba..20d5255280 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-21  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
+
+	* sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c: Make
+	memchr not point to the internal __GI_memchr implementation.
+
 2015-08-20  Joseph Myers  <joseph@codesourcery.com>
 
 	* timezone/Makefile (CFLAGS-zdump.c): Remove
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c b/sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c
index eadfea1654..302d1bb83d 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c
@@ -16,4 +16,16 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <sysdeps/powerpc/powerpc32/power4/multiarch/memchr-ppc32.c>
+#include <string.h>
+
+#define MEMCHR  __memchr_ppc
+
+#undef weak_alias
+#define weak_alias(a, b)
+
+# undef libc_hidden_builtin_def
+# define libc_hidden_builtin_def(name)
+
+extern __typeof (memchr) __memchr_ppc attribute_hidden;
+
+#include <string/memchr.c>