diff options
author | Zack Weinberg <zackw@panix.com> | 2017-06-20 09:39:08 -0400 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2017-06-20 09:39:08 -0400 |
commit | c0b23001a89b79f8d0bebe41bfbe64d840b13191 (patch) | |
tree | e80b08d540672765451f36710e857c18e979ba79 | |
parent | 4cedcaea8dc533ed11d92526bfd4e20ea459e3af (diff) | |
download | glibc-c0b23001a89b79f8d0bebe41bfbe64d840b13191.zip glibc-c0b23001a89b79f8d0bebe41bfbe64d840b13191.tar.gz glibc-c0b23001a89b79f8d0bebe41bfbe64d840b13191.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | string/string.h | 17 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/mempcpy.c | 2 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/stpcpy.c | 2 |
4 files changed, 12 insertions, 17 deletions
@@ -1,3 +1,11 @@ +2017-06-20 Zack Weinberg <zackw@panix.com> + + * 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 <pc@us.ibm.com> * benchtests/Makefile (bench-math): Add powf. diff --git a/string/string.h b/string/string.h index 3b68579..5aec0ef 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 f6e9b8a..e627b00 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 <string.h> # undef mempcpy # undef __mempcpy diff --git a/sysdeps/x86_64/multiarch/stpcpy.c b/sysdeps/x86_64/multiarch/stpcpy.c index 7043584..b66237e 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 <string.h> # undef stpcpy # undef __stpcpy |