hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/arch/mips/boot/compressed/string.c
....@@ -5,6 +5,7 @@
55 * Very small subset of simple string routines
66 */
77
8
+#include <linux/compiler_attributes.h>
89 #include <linux/types.h>
910
1011 void *memcpy(void *dest, const void *src, size_t n)
....@@ -27,3 +28,19 @@
2728 ss[i] = c;
2829 return s;
2930 }
31
+
32
+void * __weak memmove(void *dest, const void *src, size_t n)
33
+{
34
+ unsigned int i;
35
+ const char *s = src;
36
+ char *d = dest;
37
+
38
+ if ((uintptr_t)dest < (uintptr_t)src) {
39
+ for (i = 0; i < n; i++)
40
+ d[i] = s[i];
41
+ } else {
42
+ for (i = n; i > 0; i--)
43
+ d[i - 1] = s[i - 1];
44
+ }
45
+ return dest;
46
+}