diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-06-26 20:58:53 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-26 20:58:53 -0700 |
| commit | ec3c438ed7a820fdb66c0ff189a85fd9b976758e (patch) | |
| tree | f5fe37847c385d0d3c4aa6f9be88bc9a7dc14c9b /include | |
| parent | d9c43f5e02d3f5fed13fc3b798d992ffaf3f6829 (diff) | |
[PATCH] i386: uninline memmove
Using current gcc CVS I hit a piece of code in which the compiler was emitting
a memmove() call. The kernel link failed.
Uninline it.
Also, move the memcpy and memset exports into memcpy.c.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/string.h | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/include/asm-i386/string.h b/include/asm-i386/string.h index a14f9f37d9c1..34d5a4180bdb 100644 --- a/include/asm-i386/string.h +++ b/include/asm-i386/string.h @@ -294,24 +294,7 @@ extern void __struct_cpy_bug (void); }) #define __HAVE_ARCH_MEMMOVE -static inline void * memmove(void * dest,const void * src, size_t n) -{ -int d0, d1, d2; -if (dest<src) { - memcpy(dest,src,n); -} else -__asm__ __volatile__( - "std\n\t" - "rep\n\t" - "movsb\n\t" - "cld" - : "=&c" (d0), "=&S" (d1), "=&D" (d2) - :"0" (n), - "1" (n-1+(const char *)src), - "2" (n-1+(char *)dest) - :"memory"); -return dest; -} +void *memmove(void * dest,const void * src, size_t n); #define memcmp __builtin_memcmp |
