aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2012-07-17 15:48:04 -0700
committerBen Hutchings <ben@decadent.org.uk>2013-09-10 01:57:38 +0100
commitd2cd7ba97d9a22d88aaead8ce3f067c136b7530b (patch)
tree2f29fef14e32f3444e4c9960ab4962f8db7bf320 /arch/m32r
parent9853c4cbe68d791f5e81ea0966a9e1a9fbcff406 (diff)
downloadkernel_samsung_smdk4412-d2cd7ba97d9a22d88aaead8ce3f067c136b7530b.zip
kernel_samsung_smdk4412-d2cd7ba97d9a22d88aaead8ce3f067c136b7530b.tar.gz
kernel_samsung_smdk4412-d2cd7ba97d9a22d88aaead8ce3f067c136b7530b.tar.bz2
m32r: add memcpy() for CONFIG_KERNEL_GZIP=y
commit a8abbca6617e1caa2344d2d38d0a35f3e5928b79 upstream. Fix the m32r link error: LD arch/m32r/boot/compressed/vmlinux arch/m32r/boot/compressed/misc.o: In function `zlib_updatewindow': misc.c:(.text+0x190): undefined reference to `memcpy' misc.c:(.text+0x190): relocation truncated to fit: R_M32R_26_PLTREL against undefined symbol `memcpy' make[5]: *** [arch/m32r/boot/compressed/vmlinux] Error 1 by adding our own implementation of memcpy(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/boot/compressed/misc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/m32r/boot/compressed/misc.c b/arch/m32r/boot/compressed/misc.c
index 370d608..3147aa2 100644
--- a/arch/m32r/boot/compressed/misc.c
+++ b/arch/m32r/boot/compressed/misc.c
@@ -39,6 +39,16 @@ static void *memset(void *s, int c, size_t n)
#endif
#ifdef CONFIG_KERNEL_GZIP
+void *memcpy(void *dest, const void *src, size_t n)
+{
+ char *d = dest;
+ const char *s = src;
+ while (n--)
+ *d++ = *s++;
+
+ return dest;
+}
+
#define BOOT_HEAP_SIZE 0x10000
#include "../../../../lib/decompress_inflate.c"
#endif