[PATCH] pr_fnmatch.c: use mempcpy, not __mempcpy to fix linker issue with uClibc The standard name (as checked for by configure) for the function is mempcpy, not __mempcpy, so use that instead. The existing code happens to work on glibc, as that provides an __mempcpy alias, but other C libraries (E.G. uClibc) don't: ./host/usr/bin/arm-linux-nm -D ./staging/lib/libuClibc-0.9.33.2.so | grep mempcpy 00035d2c W mempcpy 00036cf8 W wmempcpy vs ./host/usr/bin/arm-none-linux-gnueabi-nm -D staging/lib/libc-2.18.so | grep mempcpy 0007d140 T mempcpy 0007d140 T __mempcpy 000e15f0 T __mempcpy_chk 00081828 T __mempcpy_small 00083148 W wmempcpy 000e4e3c T __wmempcpy_chk Signed-off-by: Peter Korsgaard <peter@korsgaard.com> --- lib/pr_fnmatch.c | 2 +- lib/pr_fnmatch_loop.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: proftpd-1.3.4d/lib/pr_fnmatch.c =================================================================== --- proftpd-1.3.4d.orig/lib/pr_fnmatch.c +++ proftpd-1.3.4d/lib/pr_fnmatch.c @@ -250,7 +250,7 @@ # endif # define STRLEN(S) strlen (S) # define STRCAT(D, S) strcat (D, S) -# define MEMPCPY(D, S, N) __mempcpy (D, S, N) +# define MEMPCPY(D, S, N) mempcpy (D, S, N) # define MEMCHR(S, C, N) memchr (S, C, N) # define STRCOLL(S1, S2) strcoll (S1, S2) # include "pr_fnmatch_loop.c" Index: proftpd-1.3.4d/lib/pr_fnmatch_loop.c =================================================================== --- proftpd-1.3.4d.orig/lib/pr_fnmatch_loop.c +++ proftpd-1.3.4d/lib/pr_fnmatch_loop.c @@ -54,7 +54,7 @@ /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ static void * -__mempcpy (void *dest, const void *src, size_t n) +mempcpy (void *dest, const void *src, size_t n) { return (char *) memcpy (dest, src, n) + n; }