summaryrefslogtreecommitdiffstats
path: root/libc/string
Commit message (Collapse)AuthorAgeFilesLines
* drop __BCC__ cruft from string codeMike Frysinger2009-10-1614-131/+11
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sh4: Reorder code in memmove.cCarmelo Amoroso2009-10-101-32/+30
| | | | | | | Remove forward declaration for service routine. Reorder code and keep hidden_def right after the respective function. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: Add new optimisation to the SH4 memcpyGiuseppe Cavallaro2009-09-271-2/+107
| | | | | | | | | | | | | | | | | | This optimization is based on prefetching and 64bit data transfer via FPU (only for the little endianess) Tests shows that: ---------------------------------------- Memory bandwidth | Gain | sh4-300 | sh4-200 ---------------------------------------- 512 bytes to 16KiB | ~20% | ~25% from 32KiB to 16MiB | ~190% | ~5% ---------------------------------------- Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly strcpy and strncpyGiuseppe Cavallaro2009-09-272-0/+71
| | | | | | | | | | | | | | | | | This patch adds the strcpy and strncpy assembly routines. Benchmarks showed the following gains: ~7% for strcpy ~30% for strncpy Note: uClibc string tests pass without any failures. These functions have been only tested on SH4, for this reason I've voluntarily added them within the sh4 sub-folder. If somebody would like to test them on other SH CPUs, these can be moved on sh common folder. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly strlen from KernelGiuseppe Cavallaro2009-09-271-0/+75
| | | | | | | | Faster assembly implementation of strlen taken from Linux kernel. Adapted to uClibc. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly memchr from KernelGiuseppe Cavallaro2009-09-271-0/+30
| | | | | | | | Faster assembly implementation of memchr taken from Linux kernel. Adapted to uClibc. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add a new memmove optimised for SH4Giuseppe Cavallaro2009-09-271-0/+119
| | | | | | | | | | | | | | | This patch adds the memmove fuction for SH4. By default, it used the generic implementation. This new code uses the memcpy for BWD copies and implements FWD copy when required (see comment within the code itself). The idea behind is to get advantage of using the optimised memcpy for SH4 and use the FPU for FWD copies (for big sizes) as well. LMBench bw_mem test showed a significant improvement on uClibc because bcopy invokes memmove, directly. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly memset from Kernel and optimise it for SH4Giuseppe Cavallaro2009-09-271-0/+146
| | | | | | | | | | | This patch adds the SH memset assembly implementation currenlty included into the Kernel. It also adds, only for little endian mode, the 64bit data transfer via FPU (using single paired precision mode). Tests shows that on SH4-300 we gain ~100% for size greater than 1KiB. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* build C files within arch subfolders.Giuseppe Cavallaro2009-09-271-1/+4
| | | | | Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* remove a few more empty #if/#endif pairsDenys Vlasenko2009-09-182-7/+2
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko2009-09-189-16/+6
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* trim Experimentally off and uncommented hiddenAustin Foxley2009-09-1863-128/+0
| | | | | | | | sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* strsignal.c: whitespace fixes, no code changes (verified with objdump)Denys Vlasenko2009-09-181-21/+17
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* support building out-of-treeBernhard Reutner-Fischer2009-08-191-0/+2
| | | | | | | Handle O= Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc/string/i386/string.h: fix -O0 build failureDenys Vlasenko2009-08-191-0/+22
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* relocate i386 string.h to i386-specific dirMike Frysinger2009-08-191-0/+316
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sh: Fix up optimized SH-4 memcpy on big endian.Giuseppe Cavallaro2009-07-141-12/+12
| | | | | | | | | | Signed-off-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> See Linux Kernel commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e08b954c9a140f2062649faec72514eb505f18c3 Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Correct ARM memcpy comments.Joseph Myers2009-07-091-1/+2
| | | | | | | | | The comments on register usage in ARM memcpy had dest and src the wrong way round; this patch (originally from Mark Shinwell) corrects this and adds a note on the return value. Signed-off-by: Joseph Myers <joseph@codesourcery.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Fix Thumb-2 memcpy.Joseph Myers2009-07-091-1/+1
| | | | | | | | | | When an IT block was changed from having two instructions to having one, the IT instruction at the start of the block was not updated, causing memcpy to fail to assemble for Thumb-2; this patch makes the obvious fix. Signed-off-by: Joseph Myers <joseph@codesourcery.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc/string/i386/memset.c: memset 1 byte at a time is a bit grossDenis Vlasenko2009-04-231-9/+56
|
* Synch strverscmp.c with trunkCarmelo Amoroso2009-02-192-0/+117
|
* - synch r25316:25325 from trunkBernhard Reutner-Fischer2009-02-181-117/+0
|
* Add strverscmp() and versionsort[64]().Denis Vlasenko2009-02-081-0/+117
| | | | | By Hai Zaar (haizaar AT codefidence.com)
* Synch with trunk: miscellaneous changes, mostly cleanup,Carmelo Amoroso2009-01-223-101/+71
| | | | | | | code styling, comments. No object-code changes. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* *: remove __UCLIBC_CURLOCALE_DATA, __UCLIBC_CURLOCALE_DATA.xDenis Vlasenko2009-01-211-1/+1
| | | | | | | | | | | | | | | | | | | is always equivalent to __UCLIBC_CURLOCALE->x. remove typedef __uclibc_locale_t, it used only in a few places, it is lees confusing to use struct __uclibc_locale_struct everywhere. xlocale.h: hide __global_locale back under _LIBC, bug 53 is wrong in claiming it should be exported. Also hide under _LIBC: extern __locale_t __curlocale_var; extern __locale_t __curlocale(void); extern __locale_t __curlocale_set(__locale_t newloc); # define __UCLIBC_CURLOCALE # define __XL_NPP(N) # define __LOCALE_PARAM # define __LOCALE_ARG # define __LOCALE_PTR
* - pull r24593:24596 from trunkBernhard Reutner-Fischer2008-12-291-1/+1
|
* ldso/ldso/mips/*: non-pic support from trunkDenis Vlasenko2008-12-234-8/+3
| | | | | | | | | | libc/string/*: small fixes sync from trunk test/regex/tst-regex2.c: small fixes sync from trunk libc/misc/time/time.c: optimization from trunk: text data bss dec hex filename - 854 24 0 878 36e libc/misc/time/_time_localtime_tzi.os + 818 16 0 834 342 libc/misc/time/_time_localtime_tzi.os
* sync with trunk. Compile tested on i386Denis Vlasenko2008-12-2321-323/+278
|
* fix build failures on i386Denis Vlasenko2008-12-234-5/+5
|
* Synch with trunk @ 24379Carmelo Amoroso2008-12-111-14/+15
| | | | Step 24: miscellaneous merge from trunk.
* Go deeper while cleaning string directory to removeCarmelo Amoroso2008-12-041-1/+1
| | | | | | TARGET_SUBARCH implementation too. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Synch with trunk @ 24165Carmelo Amoroso2008-11-2722-63/+42
| | | | | Step 17: libc_hidden_proto removal (almost all). and other minor changes (inline keyword, extra character)
* Make wcsxfrm visible also when LOCALE support is disabled.Carmelo Amoroso2008-11-251-0/+1
| | | | Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
* Synch with trunk @ 24087Carmelo Amoroso2008-11-1811-12/+12
| | | | Step 10: libc_hidden_removal
* Synch with trunk @ 24075.Carmelo Amoroso2008-11-1735-1373/+1343
| | | | | Step 4 libc/string and asm implementation
* Synch with trunk at rev 22997.Carmelo Amoroso2008-07-3114-22/+22
| | | | | | | Basically trailing whitespaces removal, fix non standard keywords asm -> __asm__ inline -> __inline__ and some minor changes on trunk. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* libc_hidden_proto moved to string.hCarmelo Amoroso2008-06-1962-120/+126
|
* Filter-out _memcpy_fwd.c and fix clean target to remove objects into deeper ↵Carmelo Amoroso2008-06-191-1/+4
| | | | folder
* Move static function _wordcopy_fwd_aligned and _wordcopy_fwd_dest_aligned ↵Carmelo Amoroso2008-06-193-191/+194
| | | | from memcopy.h to _memcpy_fwd.c to avoid unneeded inclusion in other .c files and silent gcc about unused static function
* Synch arch specific part of libc/string for ↵Carmelo Amoroso2008-06-1970-658/+1080
| | | | frv/ia64/sparc/i386/powerpc/arm/avr32/x86_64/cris/bfin
* Merge nptl branch tree with trunk. Carmelo Amoroso2008-03-1622-0/+2675
| | | | | | | Step 8: add xtensa, cris and avr32 architecture dependent files, as is. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Added optmized memcpy implementation for SH4Carmelo Amoroso2007-11-215-217/+1048
| | | | | | | | | | | | | (backward memcpy algorithm) Modified libc/string/generic/Makefile.in to handle subtarget implementations. Fixed generic memmove code to handle backward memcpy by using a selectable config option __ARCH_HAS_BWD_MEMCPY__ This option is on for SH4 arch Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* More merging from trunk."Steven J. Hill"2007-01-214-16/+192
|
* Merge from trunk."Steven J. Hill"2006-08-2336-22/+92
|
* Merge from trunk."Steven J. Hill"2006-08-1823-10/+75
|
* Copy from trunk."Steven J. Hill"2006-06-187-0/+544
|
* Merge from trunk. Going pretty good so far. Kind of. Okay, not really."Steven J. Hill"2006-02-25185-1022/+3786
|
* Clean up the 'sysdep.h' header chain. Other architectures will have their ↵"Steven J. Hill"2006-02-053-52/+2
| | | | own 'sysdep.h' file in the various NPTL threads directories. Clean up other files having to do with the usage of it.
* Big fricking merge from trunk."Steven J. Hill"2006-01-07187-4030/+3329
|
* Copy from trunk."Steven J. Hill"2006-01-071-0/+145
|