From: Adhemerval Zanella Date: Tue, 31 Jan 2023 19:28:42 +0000 (-0300) Subject: string: Improve generic strcpy X-Git-Tag: glibc-2.38~628 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3709ed904770b440d68385f3da259008cdf642a6;p=thirdparty%2Fglibc.git 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 Reviewed-by: Noah Goldstein --- diff --git a/string/strcpy.c b/string/strcpy.c index 0345c71d15a..d945d8fdf06 100644 --- a/string/strcpy.c +++ b/string/strcpy.c @@ -19,6 +19,9 @@ #include #undef strcpy +/* Disable internal stpcpy optimization, otherwise the __stpcpy might it + generate a strcpy call. */ +#undef __stpcpy #ifndef STRCPY # define STRCPY strcpy @@ -28,6 +31,7 @@ char * STRCPY (char *dest, const char *src) { - return memcpy (dest, src, strlen (src) + 1); + __stpcpy (dest, src); + return dest; } libc_hidden_builtin_def (strcpy)