aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch b/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch
new file mode 100644
index 0000000000..501e11ab47
--- /dev/null
+++ b/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch
@@ -0,0 +1,24 @@
+Index: linux-3.14.16/arch/mips/boot/compressed/string.c
+===================================================================
+--- linux-3.14.16.orig/arch/mips/boot/compressed/string.c 2014-08-07 16:50:59.000000000 -0700
++++ linux-3.14.16/arch/mips/boot/compressed/string.c 2014-10-23 16:42:01.015003995 -0700
+@@ -26,3 +26,19 @@
+ ss[i] = c;
+ return s;
+ }
++
++void *memmove(void *__dest, __const void *__src, size_t count)
++{
++ unsigned char *d = __dest;
++ const unsigned char *s = __src;
++
++ if (__dest == __src)
++ return __dest;
++
++ if (__dest < __src)
++ return memcpy(__dest, __src, count);
++
++ while (count--)
++ d[count] = s[count];
++ return __dest;
++}