| [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; |
| } |