summaryrefslogtreecommitdiffstats
path: root/libc/string
Commit message (Collapse)AuthorAgeFilesLines
...
* string/i386: smaller, and hopefully easier to read, strnlen().Denis Vlasenko2008-12-191-16/+31
| | | | | | | 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
* fix for build failures resulting from "string ops for i386" changeDenis Vlasenko2008-12-172-1/+2
|
* since gcc -Os hates us and does not inline string ops,Denis Vlasenko2008-12-179-9/+9
| | | | | | | | | | 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.
* memchr: smaller i386 versionDenis Vlasenko2008-12-172-26/+34
| | | | | | | | | | | 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
* Remove the rest of "bounded pointers" scaffolding. gcc website says"Denis Vlasenko2008-12-135-139/+3
| | | | | | "Bounds Checking Projects... This project has been abandoned" for four years at least.
* string/generic/memcmp.c: remove some really paranoid guardsDenis Vlasenko2008-12-131-15/+2
| | | | | for ancient compilers. none of other string/*.c files have them.
* *: remove vestiges of gcc's "bounded pointers" feature,Denis Vlasenko2008-12-121-18/+9
| | | | | | it is dead (not supported by gcc) for years. (more of it remains in multiple copies of sigaction.c)
* smaller memcpyDenis Vlasenko2008-12-091-14/+15
| | | | | | | 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
* 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>
* libc/string: need additional work to remove libc_hidden_proto's properlyDenis Vlasenko2008-11-2613-37/+16
|
* Make wcsxfrm visible also when LOCALE support is disabled.Carmelo Amoroso2008-11-251-0/+1
| | | | Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
* Last portion of libc_hidden_proto removal.Denis Vlasenko2008-11-208-23/+23
| | | | | Appears to build fine (several .configs tried)
* next portion of libc_hidden_proto removalDenis Vlasenko2008-11-203-3/+3
|
* libc_hidden_proto removal, a few more functionsDenis Vlasenko2008-11-184-5/+5
|
* libc_hidden_proto removal, just a few functionsDenis Vlasenko2008-11-187-7/+7
|
* - less verbose make cleanBernhard Reutner-Fischer2008-11-071-4/+4
|
* - improve readability, no objcode changes.Bernhard Reutner-Fischer2008-10-311-13/+15
| | | | Looks a bit like we wouldn't need to calculate the carry flag there?
* Use C implementation of strncmp.Khem Raj2008-10-251-101/+0
| | | | Add a new strncmp testcase.
* - use c89-style commentsBernhard Reutner-Fischer2008-10-0325-853/+854
| | | | Closes issue #5194
* Fix compilation problem whit the following config options:Carmelo Amoroso2008-10-012-3/+1
| | | | | | | | | 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>
* Rebased the memcpy() and memset() implementations for CRIS on the versionsPeter Kjellerstedt2008-09-262-420/+391
| | | | | 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.
* - silence warning about possibly undefined preprocessor tokenBernhard Reutner-Fischer2008-09-241-2/+2
|
* - commentary typo fixBernhard Reutner-Fischer2008-09-153-3/+3
|
* xtensa: The Xtensa-specific strcmp.S file is testing the ↵Chris Zankel2008-09-131-0/+1
| | | | __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.
* Add optimized memcpy implementation for sh4 (from Stuart Menefy ↵Carmelo Amoroso2008-09-096-193/+1037
| | | | | | | | @STMicroelectronics). This implementation is based on 'backward copying'. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Fix some locale multibyte tests failures ad below:Carmelo Amoroso2008-09-091-1/+1
| | | | | | | | | | | 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>
* - trim any trailing whitespaceBernhard Reutner-Fischer2008-07-2314-21/+21
|
* - fix inline keywordBernhard Reutner-Fischer2008-07-231-1/+1
|
* Fix two more cases where a libc_hidden_proto was added to string.h whileBernd Schmidt2008-06-112-0/+2
| | | | no libc_hidden_def exists for the function.
* This fixes a problem with the move of libc_hidden_proto to string.h.Bernd Schmidt2008-06-043-3/+0
| | | | | | | | | | | | | 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>.
* fix fallout from libc_hidden_proto removalDenis Vlasenko2008-06-022-1/+4
|
* fix compile breakage in libc/string/wcscasecmp.cDenis Vlasenko2008-06-011-0/+1
| | | | | by adding include <wchar.h> in strcasecmp.c
* fix fallout from string.h libc_hidden_proto removalDenis Vlasenko2008-05-312-8/+10
|
* - cannot really guarantee proper order, so play safe and compile the problematicBernhard Reutner-Fischer2008-05-302-1/+2
| | | | sources separately for now.
* - Avoid warning about undefined preprocessor token. No obj-code changes.Bernhard Reutner-Fischer2008-05-301-1/+1
|
* - Avoid warning about undefined preprocessor token. No obj-code changes.Bernhard Reutner-Fischer2008-05-301-1/+1
|
* arm memcpy: fix the case when src=dstDenis Vlasenko2008-05-231-2/+1
|
* - remove old-style definitions. No object-code changes.Bernhard Reutner-Fischer2008-05-201-10/+3
|
* Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko2008-05-1980-110/+112
| | | | | | | | | 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.
* - fixup asm. No object-code changesBernhard Reutner-Fischer2008-04-243-3/+3
|
* Fix indentation of comment in AVR32 memmove assembler optimization file.Hans-Christian Egtvedt2008-04-241-1/+1
|
* Fix whitespace damage in AVR32 string assembler optimized functions.Hans-Christian Egtvedt2008-04-169-363/+363
|
* amd64 string ops: use alignment more carefully, and comment it.Denis Vlasenko2008-04-158-30/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* amd64 string ops: replace some instructions by smaller ones,Denis Vlasenko2008-04-155-13/+12
| | | | | e.g. testb $0xff, %cl -> testb %cl, %cl
* Paul Brook writes:Bernhard Reutner-Fischer2008-03-2610-18/+377
| | | | | | | | | | | | | | | The attached patch adds support for compiling arm uClibc as pure Thumb code. This is needed because some recent ARM codes do not implement traditional ARM mode. Specifically: * Cortex-M1 - An extremely minimal FPGA based core that only implements Thumb-1 (aka ARMv6-M). * Cortex-M3 - A Thumb-2 only ARMv7-M core. Most of uClibc already builds in Thumb mode, all that is left are a handful of assembly bits. Tested on arm-uclinuxeabi.
* avr32: Use HIDDEN_JUMPTARGET() macro in bzero.SHaavard Skinnemoen2008-03-132-6/+1
| | | | | Also, remove the hidden __memset symbol from memset.S
* From: Geoffrey Wossum <geoffrey@pager.net>Haavard Skinnemoen2008-03-131-0/+2
| | | | | Found a problem with the AVR32 optimized bzero() code. Due to a missing #include, it actually generated no code.
* Use HIDDEN_JUMPTARGET define instead of __GI_ directly in AVR32 filesHans-Christian Egtvedt2008-02-202-2/+2
| | | | | | | This patch uses the HIDDEN_JUMPTARGET instead of the __GI_ prefix in AVR32 assembler files. This is done to follow the code style in uClibc. Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
* add workaround for gcc-3.4.6 with mipsMike Frysinger2008-01-091-1/+1
|
* Chris Zankel writes:Mike Frysinger2008-01-057-0/+1283
| | | | | | | | | | | | | | | | | | The following patches add support for the Xtensa processor architecture to uClibc. They are based on a recent SVN checkout (12/05/2007). The first patch (attached to this post) adds Xtensa support to various shared configuration and make files. The following patches then include the Xtensa specific files and directories. I welcome any feedback and would appreciate it if you could include the patches into the mainline tree. I am certainly committed to maintain the port. Bob Wilson was kind enough to review the patches. Some notes about the architecture: Xtensa is a configurable and extensible processor architecture developed by Tensilica. For more information, please visit: www.linux-xtensa.org.