diff options
author | Wainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com> | 2017-04-11 14:18:34 -0300 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-04-11 17:13:54 -0300 |
commit | 3bc426e156c6952a1b7e32435c308aaab76616a1 (patch) | |
tree | c9592b0d03ce0acd5aa1fd9e9828187d9c7b46a4 /sysdeps/powerpc/powerpc64/multiarch | |
parent | dbcc7d089390f53ec90c1cbd3bea165b924a023a (diff) | |
download | glibc-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')
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) \ |