--- ./klibc-1.5.11/usr/klibc/memmove.c 2008-06-15 18:28:23.000000000 -0600 +++ ./klibc-1.5.11/usr/klibc/memmove.c.fix 2008-07-07 17:14:52.000000000 -0600 @@ -8,17 +8,17 @@ { const char *p = src; char *q = dst; -#if defined(__i386__) || defined(__x86_64__) - if (q < p) { - asm volatile("cld ; rep ; movsb" - : "+c" (n), "+S"(p), "+D"(q)); - } else { - p += (n - 1); - q += (n - 1); - asm volatile("std ; rep ; movsb" - : "+c" (n), "+S"(p), "+D"(q)); - } -#else +//#if defined(__i386__) || defined(__x86_64__) +// if (q < p) { +// asm volatile("cld ; rep ; movsb" +// : "+c" (n), "+S"(p), "+D"(q)); +// } else { +// p += (n - 1); +// q += (n - 1); +// asm volatile("std ; rep ; movsb" +// : "+c" (n), "+S"(p), "+D"(q)); +// } +//#else if (q < p) { while (n--) { *q++ = *p++; @@ -30,7 +30,7 @@ *--q = *--p; } } -#endif +//#endif return dst; }