summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/multiarch
diff options
context:
space:
mode:
authorWainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com>2017-04-11 14:18:34 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2017-04-11 17:13:54 -0300
commit3bc426e156c6952a1b7e32435c308aaab76616a1 (patch)
treec9592b0d03ce0acd5aa1fd9e9828187d9c7b46a4 /sysdeps/powerpc/powerpc64/multiarch
parentdbcc7d089390f53ec90c1cbd3bea165b924a023a (diff)
downloadglibc-3bc426e156c6952a1b7e32435c308aaab76616a1.tar.gz
glibc-3bc426e156c6952a1b7e32435c308aaab76616a1.tar.xz
glibc-3bc426e156c6952a1b7e32435c308aaab76616a1.zip
powerpc: refactor strcasecmp, strcmp, and strncmp IFUNC.
Clean up the IFUNC implementations for powerpc in order to remove
unneeded macro definitions.

Tested on ppc64le with and without --disable-multi-arch flag.

	* sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Define
	the implementation-specific function name and remove unneeded
	macros definition.
	* sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise.
	* sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise.
	* sysdeps/powerpc/powerpc64/power4/strncmp.S: Set a default function
	name if not defined and pass as parameter to macros accordingly.
	* sysdeps/powerpc/powerpc64/power7/strcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power8/strncmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power9/strcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S15
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S16
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S16
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S16
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S18
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S16
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S17
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S17
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S17
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S16
10 files changed, 11 insertions, 153 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S
index f30a3119ed..da4c4054c3 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S
@@ -18,20 +18,7 @@
 
 #include <sysdep.h>
 
-#undef ENTRY
-#define ENTRY(name)						\
-  .section ".text";						\
-  ENTRY_2(__strcasecmp_l_power7)				\
-  .align ALIGNARG(2);						\
-  BODY_LABEL(__strcasecmp_l_power7):				\
-  cfi_startproc;						\
-  LOCALENTRY(__strcasecmp_l_power7)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strcasecmp_l_power7)				\
-  END_2(__strcasecmp_l_power7)
+#define __strcasecmp __strcasecmp_l_power7
 
 #undef weak_alias
 #define weak_alias(name, alias)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S
index b34bd4580b..82d1b63af9 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S
@@ -18,21 +18,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name, alignt, words)				\
-  .section ".text";						\
-  ENTRY_2(__strcmp_power7)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strcmp_power7):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strcmp_power7)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strcmp_power7)					\
-  END_2(__strcmp_power7)
+#define STRCMP __strcmp_power7
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S
index b3aeb6cc06..b2464a8018 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S
@@ -18,21 +18,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name, alignt, words)				\
-  .section ".text";						\
-  ENTRY_2(__strcmp_power8)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strcmp_power8):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strcmp_power8)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strcmp_power8)					\
-  END_2(__strcmp_power8)
+#define STRCMP __strcmp_power8
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S
index 11dc688e7f..48ea05d2c5 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S
@@ -18,21 +18,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name, alignt, words)				\
-  .section ".text";						\
-  ENTRY_2(__strcmp_power9)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strcmp_power9):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strcmp_power9)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strcmp_power9)					\
-  END_2(__strcmp_power9)
+#define STRCMP __strcmp_power9
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S
index 3cff3266be..085e74758f 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S
@@ -19,25 +19,11 @@
 #include <sysdep.h>
 
 #if defined SHARED && IS_IN (libc)
-# undef EALIGN
-# define EALIGN(name, alignt, words)				\
-  .section ".text";						\
-  ENTRY_2(__strcmp_ppc)						\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strcmp_ppc):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strcmp_ppc)
-
-# undef END
-# define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strcmp_ppc)					\
-  END_2(__strcmp_ppc)
+# define STRCMP __strcmp_ppc
 
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)				\
     .globl __GI_strcmp; __GI_strcmp = __strcmp_ppc
-#endif
+#endif /* SHARED && IS_IN  */
 
 #include <sysdeps/powerpc/powerpc64/strcmp.S>
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S
index fa25d8e3ec..01729a3bba 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S
@@ -17,21 +17,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name,alignt,words)				\
-  .section ".text";						\
-  ENTRY_2(__strncmp_power4)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strncmp_power4):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strncmp_power4)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strncmp_power4)					\
-  END_2(__strncmp_power4)
+#define STRNCMP __strncmp_power4
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S
index 3aad27782a..a069d4b21c 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S
@@ -17,22 +17,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name,alignt,words)				\
-  .section ".text";						\
-  ENTRY_2(__strncmp_power7)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strncmp_power7):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strncmp_power7)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strncmp_power7)					\
-  END_2(__strncmp_power7)
-
+#define STRNCMP __strncmp_power7
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S
index 496d19e848..3cbcaada62 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S
@@ -17,22 +17,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name,alignt,words)				\
-  .section ".text";						\
-  ENTRY_2(__strncmp_power8)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strncmp_power8):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strncmp_power8)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strncmp_power8)					\
-  END_2(__strncmp_power8)
-
+#define STRNCMP __strncmp_power8
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S
index bd09285b9d..6d0deaa6e6 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S
@@ -17,22 +17,7 @@
 
 #include <sysdep.h>
 
-#undef EALIGN
-#define EALIGN(name,alignt,words)				\
-  .section ".text";						\
-  ENTRY_2(__strncmp_power9)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strncmp_power9):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strncmp_power9)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strncmp_power9)					\
-  END_2(__strncmp_power9)
-
+#define STRNCMP __strncmp_power9
 
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S
index 2e7885b341..e4b93ae8f2 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S
@@ -18,21 +18,7 @@
 #include <sysdep.h>
 
 #if defined SHARED && IS_IN (libc)
-#undef EALIGN
-#define EALIGN(name,alignt,words)				\
-  .section ".text";						\
-  ENTRY_2(__strncmp_ppc)					\
-  .align ALIGNARG(alignt);					\
-  EALIGN_W_##words;						\
-  BODY_LABEL(__strncmp_ppc):					\
-  cfi_startproc;						\
-  LOCALENTRY(__strncmp_ppc)
-
-#undef END
-#define END(name)						\
-  cfi_endproc;							\
-  TRACEBACK(__strncmp_ppc)					\
-  END_2(__strncmp_ppc)
+# define STRNCMP __strncmp_ppc
 
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)				\