From: Zack Weinberg Date: Tue, 20 Jun 2017 13:39:08 +0000 (-0400) Subject: Fix fallout from bits/string.h removal. X-Git-Tag: glibc-2.26~302 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=c0b23001a89b79f8d0bebe41bfbe64d840b13191;p=glibc.git Fix fallout from bits/string.h removal. Remove one more string inline that was defined directly in string.h; in the absence of the rest of the inlines, it broke the build. Like other ifunc shims for these functions, x86_64/multiarch/{mem,st}pcpy.c need to define __NO_STRING_INLINES and NO_MEMPCPY_STPCPY_REDIRECT. * string/string.h (__mempcpy_inline): Delete. * sysdeps/x86_64/multiarch/mempcpy.c * sysdeps/x86_64/multiarch/stpcpy.c: Define NO_MEMPCPY_STPCPY_REDIRECT and __NO_STRING_INLINES before including string.h. --- diff --git a/ChangeLog b/ChangeLog index d33157eaef..2d81375287 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2017-06-20 Zack Weinberg + + * string/string.h (__mempcpy_inline): Delete. + * sysdeps/x86_64/multiarch/mempcpy.c + * sysdeps/x86_64/multiarch/stpcpy.c: + Define NO_MEMPCPY_STPCPY_REDIRECT and __NO_STRING_INLINES + before including string.h. + 2017-06-20 Paul A. Clarke * benchtests/Makefile (bench-math): Add powf. diff --git a/string/string.h b/string/string.h index 3b68579c2e..5aec0efe7f 100644 --- a/string/string.h +++ b/string/string.h @@ -494,23 +494,6 @@ extern char *basename (const char *__filename) __THROW __nonnull ((1)); # endif #endif -#if defined __USE_GNU && defined __OPTIMIZE__ \ - && defined __extern_always_inline && __GNUC_PREREQ (3,2) -# if !defined _FORCE_INLINES && !defined _HAVE_STRING_ARCH_mempcpy - -#define mempcpy(dest, src, n) __mempcpy_inline (dest, src, n) -#define __mempcpy(dest, src, n) __mempcpy_inline (dest, src, n) - -__extern_always_inline void * -__mempcpy_inline (void *__restrict __dest, - const void *__restrict __src, size_t __n) -{ - return (char *) memcpy (__dest, __src, __n) + __n; -} - -# endif -#endif - __END_DECLS #endif /* string.h */ diff --git a/sysdeps/x86_64/multiarch/mempcpy.c b/sysdeps/x86_64/multiarch/mempcpy.c index f6e9b8acc0..e627b0082c 100644 --- a/sysdeps/x86_64/multiarch/mempcpy.c +++ b/sysdeps/x86_64/multiarch/mempcpy.c @@ -23,6 +23,8 @@ #if defined SHARED && IS_IN (libc) # define mempcpy __redirect_mempcpy # define __mempcpy __redirect___mempcpy +# define NO_MEMPCPY_STPCPY_REDIRECT +# define __NO_STRING_INLINES # include # undef mempcpy # undef __mempcpy diff --git a/sysdeps/x86_64/multiarch/stpcpy.c b/sysdeps/x86_64/multiarch/stpcpy.c index 7043584ba8..b66237e29b 100644 --- a/sysdeps/x86_64/multiarch/stpcpy.c +++ b/sysdeps/x86_64/multiarch/stpcpy.c @@ -22,6 +22,8 @@ # define _HAVE_STRING_ARCH_stpcpy 1 # define stpcpy __redirect_stpcpy # define __stpcpy __redirect___stpcpy +# define NO_MEMPCPY_STPCPY_REDIRECT +# define __NO_STRING_INLINES # include # undef stpcpy # undef __stpcpy