about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/power7/strstr.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc64/power7/strstr.S')
-rw-r--r--sysdeps/powerpc/powerpc64/power7/strstr.S13
1 files changed, 13 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/power7/strstr.S b/sysdeps/powerpc/powerpc64/power7/strstr.S
index 260db2ed6d..1c432534a3 100644
--- a/sysdeps/powerpc/powerpc64/power7/strstr.S
+++ b/sysdeps/powerpc/powerpc64/power7/strstr.S
@@ -34,6 +34,7 @@
    GLIBC symbol (created by libc_hidden_builtin_def).  */
 # ifdef SHARED
 #  define STRLEN   __GI_strlen
+#  define STRLEN_is_local
 # else
 #  define STRLEN   strlen
 # endif
@@ -44,6 +45,7 @@
    GLIBC symbol (created by libc_hidden_builtin_def).  */
 # ifdef SHARED
 #  define STRNLEN   __GI_strnlen
+#  define STRNLEN_is_local
 # else
 #  define STRNLEN  __strnlen
 # endif
@@ -52,6 +54,7 @@
 #ifndef STRCHR
 # ifdef SHARED
 #  define STRCHR   __GI_strchr
+#  define STRCHR_is_local
 # else
 #  define STRCHR   strchr
 # endif
@@ -86,7 +89,9 @@ EALIGN (STRSTR, 4, 0)
 	mr	r30, r4
 	mr	r3, r4
 	bl	STRLEN
+#ifndef STRLEN_is_local
 	nop
+#endif
 
 	cmpdi	cr7, r3, 0	/* If search str is null.  */
 	beq	cr7, L(ret_r3)
@@ -95,14 +100,18 @@ EALIGN (STRSTR, 4, 0)
 	mr	r4, r3
 	mr	r3, r29
 	bl	STRNLEN
+#ifndef STRNLEN_is_local
 	nop
+#endif
 
 	cmpd	cr7, r3, r31 	/* If len(r3) < len(r4).  */
 	blt	cr7, L(retnull)
 	mr	r3, r29
 	lbz	r4, 0(r30)
 	bl	STRCHR
+#ifndef STRCHR_is_local
 	nop
+#endif
 
 	mr	r11, r3
 	/* If first char of search str is not present.  */
@@ -334,7 +343,9 @@ L(begin):
 	beq	cr7, L(default)
 	lbz	r4, 0(r30)
 	bl	STRCHR
+#ifndef STRCHR_is_local
 	nop
+#endif
 	/* If first char of search str is not present.  */
 	cmpdi	cr7, r3, 0
 	ble	cr7, L(end)
@@ -437,7 +448,9 @@ L(nextbyte):
 	beq	cr7, L(default)
 	lbz	r4, 0(r30)
 	bl	STRCHR
+#ifndef STRCHR_is_local
 	nop
+#endif
 	/* If first char of search str is not present.  */
 	cmpdi	cr7, r3, 0
 	ble	cr7, L(end)