mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
string: Improve generic strcpy
Now that stpcpy is vectorized based on op_t, it should be better to call it instead of strlen plus memcpy. Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64-linux-gnu, and powerpc-linux-gnu by removing the arch-specific assembly implementation and disabling multi-arch (it covers both LE and BE for 64 and 32 bits). Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
This commit is contained in:
@ -19,6 +19,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#undef strcpy
|
#undef strcpy
|
||||||
|
/* Disable internal stpcpy optimization, otherwise the __stpcpy might it
|
||||||
|
generate a strcpy call. */
|
||||||
|
#undef __stpcpy
|
||||||
|
|
||||||
#ifndef STRCPY
|
#ifndef STRCPY
|
||||||
# define STRCPY strcpy
|
# define STRCPY strcpy
|
||||||
@ -28,6 +31,7 @@
|
|||||||
char *
|
char *
|
||||||
STRCPY (char *dest, const char *src)
|
STRCPY (char *dest, const char *src)
|
||||||
{
|
{
|
||||||
return memcpy (dest, src, strlen (src) + 1);
|
__stpcpy (dest, src);
|
||||||
|
return dest;
|
||||||
}
|
}
|
||||||
libc_hidden_builtin_def (strcpy)
|
libc_hidden_builtin_def (strcpy)
|
||||||
|
Reference in New Issue
Block a user