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:31 -0300 |
commit | dbcc7d089390f53ec90c1cbd3bea165b924a023a (patch) | |
tree | 9ce610761c13ba8263d62255b44a615ce58688bb | |
parent | d031600dd2e8381e9cd2ccc20c4ce94a04f04eaf (diff) | |
download | glibc-dbcc7d089390f53ec90c1cbd3bea165b924a023a.zip glibc-dbcc7d089390f53ec90c1cbd3bea165b924a023a.tar.gz glibc-dbcc7d089390f53ec90c1cbd3bea165b924a023a.tar.bz2 |
powerpc: refactor stpcpy, stpncpy, strcpy, and strncpy 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/stpcpy-power8.S: Define the
implementation-specific function name and remove unneeded macros
definition.
* sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise.
* sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise.
* sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise.
* sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise.
* sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise.
* sysdeps/powerpc/powerpc64/power7/strncpy.S: Set a default
function name if not defined.
* sysdeps/powerpc/powerpc64/power8/strcpy.S: Likewise.
* sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise.
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power7/strncpy.S | 14 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/strcpy.S | 14 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/strncpy.S | 14 |
10 files changed, 54 insertions, 99 deletions
@@ -1,3 +1,18 @@ +2017-04-11 Wainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com> + + * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Define the + implementation-specific function name and remove unneeded macros + definition. + * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise. + * sysdeps/powerpc/powerpc64/power7/strncpy.S: Set a default + function name if not defined. + * sysdeps/powerpc/powerpc64/power8/strcpy.S: Likewise. + * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise. + 2017-04-11 Paul Clarke <pc@us.ibm.com> * elf/elf.h (AT_L1I_CACHESIZE, AT_L1I_CACHEGEOMETRY, AT_L1D_CACHESIZE, diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S index a614b5b..9353471 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S @@ -18,21 +18,7 @@ #include <sysdep.h> -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpcpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpcpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__stpcpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpcpy_power8) \ - END_2(__stpcpy_power8) +#define STPCPY __stpcpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S index 6c88da3..6636b01 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S @@ -20,21 +20,7 @@ #define USE_AS_STPNCPY -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpncpy_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpncpy_power7): \ - cfi_startproc; \ - LOCALENTRY(__stpncpy_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpncpy_power7) \ - END_2(__stpncpy_power7) +#define STPNCPY __stpncpy_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S index ff6d3dd..6ce706a 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S @@ -20,21 +20,7 @@ #define USE_AS_STPNCPY -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpncpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpncpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__stpncpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpncpy_power8) \ - END_2(__stpncpy_power8) +#define STPNCPY __stpncpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S index 576d260..6c753b5 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S @@ -18,21 +18,7 @@ #include <sysdep.h> -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__strcpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcpy_power8) \ - END_2(__strcpy_power8) +#define STRCPY __strcpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S index 5387e49..03f7f83 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S @@ -18,21 +18,7 @@ #include <sysdep.h> -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strncpy_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncpy_power7): \ - cfi_startproc; \ - LOCALENTRY(__strncpy_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncpy_power7) \ - END_2(__strncpy_power7) +#define STRNCPY __strncpy_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S index 37902cf..17117eb 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S @@ -18,21 +18,7 @@ #include <sysdep.h> -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strncpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__strncpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncpy_power8) \ - END_2(__strncpy_power8) +#define STRNCPY __strncpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/power7/strncpy.S b/sysdeps/powerpc/powerpc64/power7/strncpy.S index 98aabda..0224f74 100644 --- a/sysdeps/powerpc/powerpc64/power7/strncpy.S +++ b/sysdeps/powerpc/powerpc64/power7/strncpy.S @@ -40,10 +40,18 @@ memset. */ #ifdef USE_AS_STPNCPY -# define FUNC_NAME __stpncpy +# ifndef STPNCPY +# define FUNC_NAME __stpncpy +# else +# define FUNC_NAME STPNCPY +# endif #else -# define FUNC_NAME strncpy -#endif +# ifndef STRNCPY +# define FUNC_NAME strncpy +# else +# define FUNC_NAME STRNCPY +# endif +#endif /* !USE_AS_STPNCPY */ #define FRAMESIZE (FRAME_MIN_SIZE+32) diff --git a/sysdeps/powerpc/powerpc64/power8/strcpy.S b/sysdeps/powerpc/powerpc64/power8/strcpy.S index 27440cd..7f2cee4 100644 --- a/sysdeps/powerpc/powerpc64/power8/strcpy.S +++ b/sysdeps/powerpc/powerpc64/power8/strcpy.S @@ -19,10 +19,18 @@ #include <sysdep.h> #ifdef USE_AS_STPCPY -# define FUNC_NAME __stpcpy +# ifndef STPCPY +# define FUNC_NAME __stpcpy +# else +# define FUNC_NAME STPCPY +# endif #else -# define FUNC_NAME strcpy -#endif +# ifndef STRCPY +# define FUNC_NAME strcpy +# else +# define FUNC_NAME STRCPY +# endif +#endif /* !USE_AS_STPCPY */ /* Implements the function diff --git a/sysdeps/powerpc/powerpc64/power8/strncpy.S b/sysdeps/powerpc/powerpc64/power8/strncpy.S index 622a55d..6d40f30 100644 --- a/sysdeps/powerpc/powerpc64/power8/strncpy.S +++ b/sysdeps/powerpc/powerpc64/power8/strncpy.S @@ -19,10 +19,18 @@ #include <sysdep.h> #ifdef USE_AS_STPNCPY -# define FUNC_NAME __stpncpy +# ifndef STPNCPY +# define FUNC_NAME __stpncpy +# else +# define FUNC_NAME STPNCPY +# endif #else -# define FUNC_NAME strncpy -#endif +# ifndef STRNCPY +# define FUNC_NAME strncpy +# else +# define FUNC_NAME STRNCPY +# endif +#endif /* !USE_AS_STPNCPY */ #ifndef MEMSET /* For builds without IFUNC support, local calls should be made to internal |