summaryrefslogtreecommitdiff
path: root/libc/string
AgeCommit message (Collapse)Author
2009-12-14sh: fix endianess and optimise the SH4 memcpyGiuseppe Cavallaro
This patch fixes the big-endian code and adds a new optimization only for little endian mode. This optimization is based on prefetching and 64bit data transfer via FPU. 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>
2009-10-10drop __BCC__ cruft from string codeMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-19remove a few more empty #if/#endif pairsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-18convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-18trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer
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: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-09-09strsignal.c: whitespace fixes, no code changes (verified with objdump)Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-17support building out-of-treeBernhard Reutner-Fischer
Handle O= Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-07-21libc/string/i386/string.h: fix -O0 build failureDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-20relocate i386 string.h to i386-specific dirMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-14sh: Fix up optimized SH-4 memcpy on big endian.Giuseppe Cavallaro
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>
2009-07-01Correct ARM memcpy comments.Joseph Myers
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>
2009-06-30Fix Thumb-2 memcpy.Joseph Myers
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>
2009-04-23libc/string/i386/memset.c: memset 1 byte at a time is a bit grossDenis Vlasenko
2009-02-13- fix link failures coming from recently added, misplaced strverscmp.Bernhard Reutner-Fischer
2009-02-08forgot to add libc/string/generic/strverscmp.cDenis Vlasenko
2009-01-21*: remove __UCLIBC_CURLOCALE_DATA, __UCLIBC_CURLOCALE_DATA.xDenis Vlasenko
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
2008-12-29- expand SUSv3_LEGACYBernhard Reutner-Fischer
- SUSv4_LEGACY part #1 (non-networking)
2008-12-20libc/string/i386/rawmemchr.c: i386 version, adapted from strlen()Denis Vlasenko
libc/string/i386/strlen.c: small optimization, same code size) text data bss dec hex filename - 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so + 240339 1759 11960 254058 3e06a lib/libuClibc-0.9.30-svn.so
2008-12-20string/i386/strncpy.c: fixlet for testing codeDenis Vlasenko
string/i386/strchrnul.c: new function, adapted from strchr.c text data bss dec hex filename - 240604 1759 11960 254323 3e173 lib/libuClibc-0.9.30-svn.so + 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so
2008-12-20string/i386/strncpy: faster i386 version (same code size), testing codeDenis Vlasenko
string/i386/*: formatiing and commentary tidying up
2008-12-19strchr: a bit faster version for i386 (same code size)Denis Vlasenko
2008-12-19memmove: smaller one for i386, with added testing, and withDenis Vlasenko
added check for src == dest. run tested. text data bss dec hex filename - 39 0 0 39 27 libc/string/i386/memmove.os + 37 0 0 37 25 libc/string/i386/memmove.os
2008-12-19strncat: shorter version for i386, add small embedded testDenis Vlasenko
memchr: add small embedded test strnlen: make small embedded test easier to use strncmp: reformat assembly to make it readable, no code changes (verified with objdump) text data bss dec hex filename - 46 0 0 46 2e libc/string/i386/strncat.os + 39 0 0 39 27 libc/string/i386/strncat.os
2008-12-19string/i386: smaller, and hopefully easier to read, strnlen().Denis Vlasenko
text data bss dec hex filename - 25 0 0 25 19 libc/string/i386/strnlen.os + 24 0 0 24 18 libc/string/i386/strnlen.os
2008-12-17fix for build failures resulting from "string ops for i386" changeDenis Vlasenko
2008-12-17since gcc -Os hates us and does not inline string ops,Denis Vlasenko
implement inline versions of some of them. Enable only those which result roughly in the same code size as using out-or-line versions. None of this affects users, installed headers won't have any trace of it.
2008-12-17memchr: smaller i386 versionDenis Vlasenko
strrchr: smaller i386 version text data bss dec hex filename - 33 0 0 33 21 libc/string/i386/memchr.o + 28 0 0 28 1c libc/string/i386/memchr.o - 31 0 0 31 1f libc/string/i386/strrchr.o + 26 0 0 26 1a libc/string/i386/strrchr.o
2008-12-13Remove the rest of "bounded pointers" scaffolding. gcc website says"Denis Vlasenko
"Bounds Checking Projects... This project has been abandoned" for four years at least.
2008-12-13string/generic/memcmp.c: remove some really paranoid guardsDenis Vlasenko
for ancient compilers. none of other string/*.c files have them.
2008-12-12*: remove vestiges of gcc's "bounded pointers" feature,Denis Vlasenko
it is dead (not supported by gcc) for years. (more of it remains in multiple copies of sigaction.c)
2008-12-09smaller memcpyDenis Vlasenko
text data bss dec hex filename - 39 0 0 39 27 libc/string/i386/memcpy.os + 35 0 0 35 23 libc/string/i386/memcpy.os
2008-12-04Go deeper while cleaning string directory to removeCarmelo Amoroso
TARGET_SUBARCH implementation too. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-11-26libc/string: need additional work to remove libc_hidden_proto's properlyDenis Vlasenko
2008-11-25Make wcsxfrm visible also when LOCALE support is disabled.Carmelo Amoroso
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
2008-11-20Last portion of libc_hidden_proto removal.Denis Vlasenko
Appears to build fine (several .configs tried)
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-18libc_hidden_proto removal, a few more functionsDenis Vlasenko
2008-11-18libc_hidden_proto removal, just a few functionsDenis Vlasenko
2008-11-07- less verbose make cleanBernhard Reutner-Fischer
2008-10-31- improve readability, no objcode changes.Bernhard Reutner-Fischer
Looks a bit like we wouldn't need to calculate the carry flag there?
2008-10-25Use C implementation of strncmp.Khem Raj
Add a new strncmp testcase.
2008-10-03- use c89-style commentsBernhard Reutner-Fischer
Closes issue #5194
2008-10-01Fix compilation problem whit the following config options:Carmelo Amoroso
UCLIBC_HAS_STRING_GENERIC_OPT=y UCLIBC_HAS_STRING_ARCH_OPT is not set by making WORD_COPY_FWD macros visible. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-09-26Rebased the memcpy() and memset() implementations for CRIS on the versionsPeter Kjellerstedt
found in newlib rather than the ones found in glibc. This should make them smaller and (hopefully) make them compile with newer versions of gcc.
2008-09-24- silence warning about possibly undefined preprocessor tokenBernhard Reutner-Fischer
2008-09-15- commentary typo fixBernhard Reutner-Fischer
2008-09-13xtensa: The Xtensa-specific strcmp.S file is testing the ↵Chris Zankel
__UCLIBC_HAS_LOCALE__ macro but it does not include <features.h>, so that macro is never defined. This causes problems with strcoll when locale support is enabled.
2008-09-09Add optimized memcpy implementation for sh4 (from Stuart Menefy ↵Carmelo Amoroso
@STMicroelectronics). This implementation is based on 'backward copying'. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-09-09Fix some locale multibyte tests failures ad below:Carmelo Amoroso
libc/stdlib/_strtod.c -> tst_wcstod; libc/stdlib/stdlib.c -> tst_mblen, tst_mbtowc, tst_wctomb; libc/stdio/_scanf.c -> tst_swscanf; libc/string/strncmp.c -> tst_wcsncmp; libc/misc/wchar/wchar.c -> tst_mbrlen, tst_mbrtowc, tst_wcswidth. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-07-23- trim any trailing whitespaceBernhard Reutner-Fischer