mirror of git://sourceware.org/git/glibc.git
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.
This commit is contained in:
parent
d031600dd2
commit
dbcc7d0893
15
ChangeLog
15
ChangeLog
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue