summaryrefslogtreecommitdiffstats
path: root/libc/string
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* mark a bunch of public mem/str functions as weak so that people who insist ↵Mike Frysinger2007-12-2221-50/+36
| | | | on their own local copies while static linking dont hit link failures when other uClibc code force the libc.a objects to be pulled in via the hidden alias symbols
* Added optimized versions of strcpy() and strncpy() for CRIS/CRISv32.Peter Kjellerstedt2007-11-212-0/+112
|
* Added AVR32 support to uClibc. Signed-off-by: Hans-Christian Egtvedt ↵Carmelo Amoroso2007-11-169-0/+585
| | | | <hcegtvedt@atmel.com>
* CRIS/CRISv32 architecture specific memcpy, memmove and memset.Ricard Wanderlof2007-11-124-0/+698
|
* pull from Blackfin repo: cleanup string funcsMike Frysinger2007-09-156-194/+221
|
* Blue Swirl writes:Mike Frysinger2007-09-159-9/+9
| | | | | | | | | | | | | | | | | | | | I got the library to compile with the attached patches, though dynamic loader crashes early. In buildroot I changed the architecture name by hand from sparc to sparc64, otherwise the compiler produced 32-bit files with V9 (64-bit) instructions. This configuration is not supported by QEMU, so I aimed for pure 64-bit. I think Sparc64 option needs to be added to buildroot. The _Qp_ ops seem to be required by the ABI. This and setjmp patches are just hacks to get the compilation further. The _Qp_ ops can be found in glibc, would it be OK to use those? V9 assembler requires declarations for global register use. The mem* functions in sparc32 directory did not work. They are actually used only by the hybrid 32-bit + V9 CPU configuration.
* add strerror_r symbol alias as some autotool based packages simply use ↵Mike Frysinger2007-09-151-0/+6
| | | | AC_CHECK_LIB() to see if a function exists rather than checking the headers
* Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko2007-07-298-11/+14
| | | | | from i386 and x86_64.
* Patch from Al Stone to fix ia64:Rob Landley2007-03-113-4/+4
| | | | | | | | | The attached patch works around some compilation failures on ia64 caused by the use of the C preprocessor ## operator, and allows the ia64 default configuration to build again -- or, at least get as far as an x86 build does (the current source tree has some problems compiling because of conflicting type declarations for __kernel_dev_t).
* pull in features.h so we have access to config definesMike Frysinger2007-02-082-0/+4
|
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-042-4/+186
| | | | Import mips64 version of memset, memcpy from glibc.
* Make strdup() use memcpy() rather than strcpy() to duplicate the string. Peter Kjellerstedt2006-10-191-6/+4
| | | | | | The rationale is that we already have the length of the string to duplicate (from doing the malloc()), and memcpy() should then always be faster than strcpy() (or at least as fast).
* revert previous nops in strcmp as they are not needed hereMike Frysinger2006-06-271-2/+0
|
* blackfin needs NOPs after the loop end when the last statement in the loop ↵Mike Frysinger2006-06-272-1/+3
| | | | is an if/jump
* Qunying Pan writes: Make strncmp weak hidden to fix link failures in ↵Mike Frysinger2006-05-305-5/+5
| | | | building gdb and binutils statically
* import some optimized functions from blackfin cvsMike Frysinger2006-05-307-0/+544
|
* Amir Shalem writes:Mike Frysinger2006-05-262-1/+2
| | | | | there is a missing include for <bits/uClibc_uintmaxtostr.h> in libc/string/_syserrmsg.h, where _syserrmsg.h uses __UIM_BUFLEN_INT
* fix signed warningsMike Frysinger2006-05-152-4/+4
|
* Correct build failure introduced by SUSV3_LEGACY optionPeter S. Mazinger2006-03-242-0/+4
|
* Add new option for SuSv3 legacy functions and use it for ↵Peter S. Mazinger2006-03-2326-7/+82
| | | | bcopy/bzero/bcmp/index/rindex
* Mark some functions as BSD onlyPeter S. Mazinger2006-03-232-2/+8
|
* select needs sys/select.h, str[n]casecmp/ffs needs strings.h, if BSD is not ↵Peter S. Mazinger2006-03-233-0/+3
| | | | defined, gettimeofday has other prototype and tm_gmtoff/tm_zone do not exist
* Correct build if UCLIBC_HAS_CTYPE_TABLES is not definedPeter S. Mazinger2006-03-223-5/+5
|