aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch')
-rw-r--r--target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch b/target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch
new file mode 100644
index 0000000..d215b80
--- /dev/null
+++ b/target/linux/generic/patches-4.0/060-mips_decompressor_memmove.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/boot/compressed/string.c
++++ b/arch/mips/boot/compressed/string.c
+@@ -26,3 +26,19 @@ void *memset(void *s, int c, size_t n)
+ 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;
++}