X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=cirros-testvm%2Fsrc-cirros%2Fbuildroot-2015.05%2Fpackage%2Fproftpd%2F0002-__mempcpy.patch;fp=cirros-testvm%2Fsrc-cirros%2Fbuildroot-2015.05%2Fpackage%2Fproftpd%2F0002-__mempcpy.patch;h=1b8f0b0bd379f3e7afee7b8e755b547cbd2be766;hb=b0a0f15dfaa205161a7fcb20cf1b8cd4948c2ef3;hp=0000000000000000000000000000000000000000;hpb=c6ac3cd55ee2da956195eee393b0882105dfad4e;p=packages%2Ftrusty%2Fcirros-testvm.git diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/proftpd/0002-__mempcpy.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/proftpd/0002-__mempcpy.patch new file mode 100644 index 0000000..1b8f0b0 --- /dev/null +++ b/cirros-testvm/src-cirros/buildroot-2015.05/package/proftpd/0002-__mempcpy.patch @@ -0,0 +1,54 @@ +[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 +--- + 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; + }