summaryrefslogtreecommitdiff
path: root/libc/string
AgeCommit message (Collapse)Author
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
2008-07-23- fix inline keywordBernhard Reutner-Fischer
2008-06-11Fix two more cases where a libc_hidden_proto was added to string.h whileBernd Schmidt
no libc_hidden_def exists for the function.
2008-06-04This fixes a problem with the move of libc_hidden_proto to string.h.Bernd Schmidt
The obsolete functions bcopy, index, etc. are not supposed to be used within uClibc itself. Hence, there is no libc_hidden_def for them, but the previous patch did not just move libc_hidden_protos, it also added new ones for the legacy functions. As a result, programs which use these functions can no longer link with uClibc. This fixes it by removing the unnecessary libc_hidden_protos. I've also removed all inclusions of <strings.h> from uClibc source files: since we define _GNU_SOURCE, it is sufficient to include <string.h>. We then do not need to duplicate the libc_hidden_proto block in <strings.h>.
2008-06-02fix fallout from libc_hidden_proto removalDenis Vlasenko
2008-06-01fix compile breakage in libc/string/wcscasecmp.cDenis Vlasenko
by adding include <wchar.h> in strcasecmp.c
2008-05-31fix fallout from string.h libc_hidden_proto removalDenis Vlasenko
2008-05-30- cannot really guarantee proper order, so play safe and compile the problematicBernhard Reutner-Fischer
sources separately for now.
2008-05-30- Avoid warning about undefined preprocessor token. No obj-code changes.Bernhard Reutner-Fischer
2008-05-30- Avoid warning about undefined preprocessor token. No obj-code changes.Bernhard Reutner-Fischer
2008-05-23arm memcpy: fix the case when src=dstDenis Vlasenko
2008-05-20- remove old-style definitions. No object-code changes.Bernhard Reutner-Fischer
2008-05-19Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko
in string.h and strings.h. This caught unguarded string ops in libc/inet/ethers.c __ether_line_w() function. I will wait for fallout reports for a week or so, then continue converting more libc_hidden_proto's.
2008-04-24- fixup asm. No object-code changesBernhard Reutner-Fischer
2008-04-24Fix indentation of comment in AVR32 memmove assembler optimization file.Hans-Christian Egtvedt
2008-04-16Fix whitespace damage in AVR32 string assembler optimized functions.Hans-Christian Egtvedt
2008-04-15amd64 string ops: use alignment more carefully, and comment it.Denis Vlasenko
By capping max padding to not be bigger than three next insns, we avoid having ridiculously big NOPs like this one: 53:66 66 66 66 2e 0f 1f nopw %cs:0x0(%rax,%rax,1) 5a:84 00 00 00 00 00 which was bigger than next three insns combined! Size changes: text data bss dec hex filename 102 0 0 102 66 x86_64/memcpy.o 102 0 0 102 66 x86_64.old/memcpy.o 90 0 0 90 5a x86_64/mempcpy.o 102 0 0 102 66 x86_64.old/mempcpy.o 210 0 0 210 d2 x86_64/memset.o 242 0 0 242 f2 x86_64.old/memset.o 213 0 0 213 d5 x86_64/stpcpy.o 220 0 0 220 dc x86_64.old/stpcpy.o 428 0 0 428 1ac x86_64/strcat.o 444 0 0 444 1bc x86_64.old/strcat.o 417 0 0 417 1a1 x86_64/strchr.o 418 0 0 418 1a2 x86_64.old/strchr.o 33 0 0 33 21 x86_64/strcmp.o 33 0 0 33 21 x86_64.old/strcmp.o 213 0 0 213 d5 x86_64/strcpy.o 220 0 0 220 dc x86_64.old/strcpy.o 135 0 0 135 87 x86_64/strcspn.o 151 0 0 151 97 x86_64.old/strcspn.o 225 0 0 225 e1 x86_64/strlen.o 233 0 0 233 e9 x86_64.old/strlen.o 140 0 0 140 8c x86_64/strpbrk.o 156 0 0 156 9c x86_64.old/strpbrk.o 135 0 0 135 87 x86_64/strspn.o 151 0 0 151 97 x86_64.old/strspn.o Also, a few files got their .text alignment relaxed from 16 to 8 bytes, which reduces padding at link time.
2008-04-15amd64 string ops: replace some instructions by smaller ones,Denis Vlasenko
e.g. testb $0xff, %cl -> testb %cl, %cl