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.
This commit is contained in:
Zack Weinberg 2017-06-20 09:39:08 -04:00
parent 4cedcaea8d
commit c0b23001a8
4 changed files with 12 additions and 17 deletions

View File

@ -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.

View File

@ -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 */

View File

@ -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

View File

@ -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