diff options
-rw-r--r-- | arch/x86/lib/string_32.c | 20 | ||||
-rw-r--r-- | include/asm-x86/string_32.h | 3 |
2 files changed, 0 insertions, 23 deletions
diff --git a/arch/x86/lib/string_32.c b/arch/x86/lib/string_32.c index 2c773fefa3dd..c2c0504a3071 100644 --- a/arch/x86/lib/string_32.c +++ b/arch/x86/lib/string_32.c | |||
@@ -160,26 +160,6 @@ char *strchr(const char * s, int c) | |||
160 | EXPORT_SYMBOL(strchr); | 160 | EXPORT_SYMBOL(strchr); |
161 | #endif | 161 | #endif |
162 | 162 | ||
163 | #ifdef __HAVE_ARCH_STRRCHR | ||
164 | char *strrchr(const char * s, int c) | ||
165 | { | ||
166 | int d0, d1; | ||
167 | char * res; | ||
168 | asm volatile( "movb %%al,%%ah\n" | ||
169 | "1:\tlodsb\n\t" | ||
170 | "cmpb %%ah,%%al\n\t" | ||
171 | "jne 2f\n\t" | ||
172 | "leal -1(%%esi),%0\n" | ||
173 | "2:\ttestb %%al,%%al\n\t" | ||
174 | "jne 1b" | ||
175 | :"=g" (res), "=&S" (d0), "=&a" (d1) | ||
176 | :"0" (0),"1" (s),"2" (c) | ||
177 | :"memory"); | ||
178 | return res; | ||
179 | } | ||
180 | EXPORT_SYMBOL(strrchr); | ||
181 | #endif | ||
182 | |||
183 | #ifdef __HAVE_ARCH_STRLEN | 163 | #ifdef __HAVE_ARCH_STRLEN |
184 | size_t strlen(const char * s) | 164 | size_t strlen(const char * s) |
185 | { | 165 | { |
diff --git a/include/asm-x86/string_32.h b/include/asm-x86/string_32.h index a9b64453bdf5..55bfa308f900 100644 --- a/include/asm-x86/string_32.h +++ b/include/asm-x86/string_32.h | |||
@@ -26,9 +26,6 @@ extern int strncmp(const char *cs, const char *ct, size_t count); | |||
26 | #define __HAVE_ARCH_STRCHR | 26 | #define __HAVE_ARCH_STRCHR |
27 | extern char *strchr(const char *s, int c); | 27 | extern char *strchr(const char *s, int c); |
28 | 28 | ||
29 | #define __HAVE_ARCH_STRRCHR | ||
30 | extern char *strrchr(const char *s, int c); | ||
31 | |||
32 | #define __HAVE_ARCH_STRLEN | 29 | #define __HAVE_ARCH_STRLEN |
33 | extern size_t strlen(const char *s); | 30 | extern size_t strlen(const char *s); |
34 | 31 | ||