From ca89923ee022c4c3ebf0f50df40e93f840021cbb Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Thu, 27 Mar 2008 10:23:13 +0000 Subject: [PATCH] uClibc 0.9.28.3: use optimized string ops on ppc Use optimized string ops instead of dummy generic ones on PPC. --- .../uClibc-0.9.28.3-ppc-string-ops.patch | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 toolchain/uClibc/uClibc-0.9.28.3-ppc-string-ops.patch 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 0000000000..0311e3ba03 --- /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 /* 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); + } -- 2.30.2