This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] powerpc: refactor strrchr IFUNC
- From: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Cc: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>
- Date: Tue, 13 Jun 2017 12:30:56 +0530
- Subject: [PATCH] powerpc: refactor strrchr IFUNC
- Authentication-results: sourceware.org; auth=none
As done in commit 6d15a5c2e9450a1e926d5b4991759e1cfa50fccf
clean up IFUNC implementation for power8 in order to remove
unneeded macro definitions.
2017-06-13 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc64/multiarch/strchr-power8.S(STRRCHR): Define
the implementation-specific function name and remove unneeded macros
definition.
* sysdeps/powerpc/powerpc64/power8/strrchr.S(STRRCHR): Set a default
function name if not defined and pass as parameter to macros
accordingly.
---
sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S | 15 +--------------
sysdeps/powerpc/powerpc64/power8/strrchr.S | 8 ++++++--
2 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S
index 23365a1..63080f5 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S
@@ -18,20 +18,7 @@
#include <sysdep.h>
-#undef ENTRY
-#define ENTRY(name) \
- .section ".text"; \
- ENTRY_2(__strrchr_power8) \
- .align ALIGNARG(2); \
- BODY_LABEL(__strrchr_power8): \
- cfi_startproc; \
- LOCALENTRY(__strrchr_power8)
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- TRACEBACK(__strrchr_power8) \
- END_2(__strrchr_power8)
+#define STRRCHR __strrchr_power8
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/power8/strrchr.S b/sysdeps/powerpc/powerpc64/power8/strrchr.S
index 8eb7485..d3cb0bc 100644
--- a/sysdeps/powerpc/powerpc64/power8/strrchr.S
+++ b/sysdeps/powerpc/powerpc64/power8/strrchr.S
@@ -76,8 +76,12 @@
1: \
vsumsws v2, v2, v0;
#endif /* !__LITTLE_ENDIAN__ */
+
+#ifndef STRRCHR
+# define STRRCHR strrchr
+#endif
.machine power7
-ENTRY (strrchr)
+ENTRY (STRRCHR)
CALL_MCOUNT 2
dcbt 0,r3
clrrdi r8,r3,3 /* Align the address to doubleword boundary. */
@@ -459,6 +463,6 @@ L(continue1):
#endif
add r3, r3, r6 /* Compute final length. */
blr
-END (strrchr)
+END (STRRCHR)
weak_alias (strrchr, rindex)
libc_hidden_builtin_def (strrchr)
--
2.7.4