dragon: fix memcpy prototype and implementation
authorAlan Cox <alan@etchedpixels.co.uk>
Fri, 28 Nov 2014 22:05:15 +0000 (22:05 +0000)
committerAlan Cox <alan@etchedpixels.co.uk>
Fri, 28 Nov 2014 22:05:15 +0000 (22:05 +0000)
Kernel/cpu-6809/cpu.h
Kernel/platform-dragon/libc.c

index eef09d4..bbb83dd 100644 (file)
@@ -18,7 +18,7 @@ extern void irqrestore(irqflags_t f);
 
 #define EMAGIC    0x0E    /* Header of executable  (JMP) */
 
-extern void *memcpy(void *, void *, size_t);
+extern void *memcpy(void *, const void *, size_t);
 extern void *memset(void *, int, size_t);
 extern size_t strlen(const char *);
 extern uint16_t swab(uint16_t);
index 8b3940b..a4cb9dd 100644 (file)
@@ -1,8 +1,9 @@
 #include "cpu.h"
 
-void *memcpy(void *d, void *s, size_t sz)
+void *memcpy(void *d, const void *s, size_t sz)
 {
-  unsigned char *dp, *sp;
+  unsigned char *dp = d;
+  const unsigned char *sp = s;
   while(sz--)
     *dp++=*sp++;
   return d;
@@ -22,13 +23,3 @@ size_t strlen(const char *p)
   while(*e++);
   return e-p-1;
 }
-
-/* Until we pull out the bits of libgcc that are useful instead */
-void abort(void)
-{
-}
-
-void *malloc(size_t size)
-{
-  return 0;
-}
\ No newline at end of file