summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-20 09:39:08 -0400
committerZack Weinberg <zackw@panix.com>2017-06-20 09:39:08 -0400
commitc0b23001a89b79f8d0bebe41bfbe64d840b13191 (patch)
treee80b08d540672765451f36710e857c18e979ba79
parent4cedcaea8dc533ed11d92526bfd4e20ea459e3af (diff)
downloadglibc-c0b23001a89b79f8d0bebe41bfbe64d840b13191.tar.gz
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--ChangeLog8
-rw-r--r--string/string.h17
-rw-r--r--sysdeps/x86_64/multiarch/mempcpy.c2
-rw-r--r--sysdeps/x86_64/multiarch/stpcpy.c2
4 files changed, 12 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index d33157eaef..2d81375287 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 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 <string.h>
# 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 <string.h>
# undef stpcpy
# undef __stpcpy