From: Alan Cox Date: Sun, 1 Jul 2018 19:52:00 +0000 (+0100) Subject: coco2: fix build issues, on platform_ and adding memmove X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=83973b6d87b1c940b00e5c57f2b5c98644b1e5db;p=FUZIX.git coco2: fix build issues, on platform_ and adding memmove --- diff --git a/Kernel/platform-coco2/libc.c b/Kernel/platform-coco2/libc.c index a4cb9dd4..1e0b17cf 100644 --- a/Kernel/platform-coco2/libc.c +++ b/Kernel/platform-coco2/libc.c @@ -1,13 +1,5 @@ #include "cpu.h" -void *memcpy(void *d, const void *s, size_t sz) -{ - unsigned char *dp = d; - const unsigned char *sp = s; - while(sz--) - *dp++=*sp++; - return d; -} void *memset(void *d, int c, size_t sz) { @@ -23,3 +15,24 @@ size_t strlen(const char *p) while(*e++); return e-p-1; } + +void *memmove(void *d, const void *s, size_t sz) +{ + unsigned char *dp = d; + const unsigned char *sp = s; + if (sp >= dp) { + while(sz--) + *dp++=*sp++; + } else { + dp += sz; + sp += sz; + while(sz--) + *--dp=*--sp; + } + return d; +} + +void *memcpy(void *d, const void *s, size_t sz) +{ + return memmove(d,s,sz); +} diff --git a/Kernel/platform-coco2/tricks.s b/Kernel/platform-coco2/tricks.s index 379ea38b..90fd2083 100644 --- a/Kernel/platform-coco2/tricks.s +++ b/Kernel/platform-coco2/tricks.s @@ -19,8 +19,8 @@ .globl _platform_idle # exported - .globl _switchout - .globl _platform_switchin + .globl _platform_switchout + .globl _switchin .globl _dofork .globl _ramtop