diff options
-rw-r--r-- | i386/i386/strings.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/i386/i386/strings.c b/i386/i386/strings.c index 84a3bc16..f1752de2 100644 --- a/i386/i386/strings.c +++ b/i386/i386/strings.c @@ -94,57 +94,3 @@ memcmp(const void *s1, const void *s2, size_t n) return (int)c1 - (int)c2; } #endif /* ARCH_STRING_MEMCMP */ - -#ifdef ARCH_STRING_STRLEN -size_t -strlen(const char *s) -{ - size_t n; - - n = (size_t)-1; - asm volatile("repne scasb" - : "+D" (s), "+c" (n) - : "a" (0) - : "memory"); - return ~n - 1; -} -#endif /* ARCH_STRING_STRLEN */ - -#ifdef ARCH_STRING_STRCPY -char * -strcpy(char *dest, const char *src) -{ - char *orig_dest; - - orig_dest = dest; - asm volatile("1:\n" - "lodsb\n" - "stosb\n" - "testb %%al, %%al\n" - "jnz 1b\n" - : "+D" (dest), "+S" (src) - : : "al", "memory"); - return orig_dest; -} -#endif /* ARCH_STRING_STRCPY */ - -#ifdef ARCH_STRING_STRCMP -int -strcmp(const char *s1, const char *s2) -{ - unsigned char c1, c2; - - asm volatile("1:\n" - "lodsb\n" - "scasb\n" - "jne 1f\n" - "testb %%al, %%al\n" - "jnz 1b\n" - "1:\n" - : "+D" (s1), "+S" (s2) - : : "al", "memory"); - c1 = *(((const unsigned char *)s1) - 1); - c2 = *(((const unsigned char *)s2) - 1); - return (int)c1 - (int)c2; -} -#endif /* ARCH_STRING_STRCMP */ |