diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2008-03-27 10:23:13 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2008-03-27 10:23:13 +0000 |
commit | ca89923ee022c4c3ebf0f50df40e93f840021cbb (patch) | |
tree | 94efbbce0e7ff78bbd7a05e42f3ae54f3bc6fd4a /toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch | |
parent | 9e0fe4b8858612ea84954f52c64b1d2c7fe99fdf (diff) | |
download | buildroot-novena-ca89923ee022c4c3ebf0f50df40e93f840021cbb.tar.gz buildroot-novena-ca89923ee022c4c3ebf0f50df40e93f840021cbb.zip |
uClibc 0.9.28.3: use optimized string ops on ppc
Use optimized string ops instead of dummy generic ones on PPC.
Diffstat (limited to 'toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch')
-rw-r--r-- | toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch b/toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch new file mode 100644 index 000000000..0311e3ba0 --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch @@ -0,0 +1,56 @@ +diff -urpN uClibc-0.9.28.3/libc/string/powerpc/string.c uClibc-0.9.28.3-patched/libc/string/powerpc/string.c +--- uClibc-0.9.28.3/libc/string/powerpc/string.c 2005-06-21 16:03:15.000000000 +0200 ++++ uClibc-0.9.28.3-patched/libc/string/powerpc/string.c 2008-03-27 00:22:16.000000000 +0100 +@@ -32,7 +32,7 @@ + #include <locale.h> /* for __LOCALE_C_ONLY */ + + #ifdef L_memcpy +-void attribute_hidden *__memcpy(void *to, const void *from, size_t n) ++void *memcpy(void *to, const void *from, size_t n) + /* PPC can do pre increment and load/store, but not post increment and load/store. + Therefore use *++ptr instead of *ptr++. */ + { +@@ -87,11 +87,10 @@ void attribute_hidden *__memcpy(void *to + goto copy_chunks; + goto lessthan8; + } +-strong_alias(__memcpy, memcpy); + #endif + + #ifdef L_memmove +-void attribute_hidden *__memmove(void *to, const void *from, size_t n) ++void *memmove(void *to, const void *from, size_t n) + { + unsigned long rem, chunks, tmp1, tmp2; + unsigned char *tmp_to; +@@ -142,7 +141,6 @@ void attribute_hidden *__memmove(void *t + goto copy_chunks; + goto lessthan8; + } +-strong_alias(__memmove, memmove); + #endif + + #ifdef L_memset +@@ -156,7 +154,7 @@ static inline int expand_byte_word(int c + : "=r" (c) : "0" (c)); + return c; + } +-void attribute_hidden *__memset(void *to, int c, size_t n) ++void *memset(void *to, int c, size_t n) + { + unsigned long rem, chunks; + unsigned char *tmp_to; +@@ -202,12 +200,10 @@ void attribute_hidden *__memset(void *to + goto copy_chunks; + goto lessthan8; + } +-strong_alias(__memset, memset); + #endif + + #ifdef L_bzero +-weak_alias(__bzero,bzero); +-void __bzero(void *s, size_t n) ++void bzero(void *s, size_t n) + { + (void)memset(s, 0, n); + } |