Commit Graph

531 Commits

Author SHA1 Message Date
Cyril Hrubis a3aeac403e Add __wur to GNU version of strerror_r.
Not using the result of the GNU strerror_r() is always a mistake.

Moreover this would generate warning if XSI version was expected but GNU
version was used instead (because some random used header defined
_GNU_SOURCE which was Python.h in this case).
2012-06-15 09:09:59 +02:00
H.J. Lu 49bdf4c19d Use RAX_LP/RDX_LP on SAVE_PTR in x86_64 strtok.S 2012-06-14 10:00:28 -07:00
Andreas Schwab 5be8418cb0 Remove use of INTDEF/INTUSE in stdio-common 2012-06-01 01:25:41 +02:00
Andreas Schwab 56d25bb888 Remove use of INTDEF/INTUSE in intl 2012-05-24 23:08:18 +02:00
Andreas Jaeger 1a4b75a190 Fix strspn warning with -Wconversion
[BZ #14083]
Fix warning when using strspn with -Wconversion:
$ gcc -Wconversion -O t.c
t.c: In function ‘main’:
t.c:8:7: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
2012-05-09 16:47:57 +02:00
Marek Polacek 5ac3ea17df Fix attributes for fortify functions. 2012-04-29 15:34:20 +02:00
David S. Miller 50f81fd74b Remove all traces of reg_char.
* sysdeps/generic/memcopy.h (reg_char): Delete.
	* debug/strcat_chk.c: Use char, not reg_char.
	* debug/strcpy_chk.c: Likewise.
	* debug/strncat_chk.c: Likewise.
	* debug/strncpy_chk.c: Likewise.
	* string/memchr.c: Likewise.
	* string/memrchr.c: Likewise.
	* string/rawmemchr.c: Likewise.
	* string/strcat.c: Likewise.
	* string/strchr.c: Likewise.
	* string/strchrnul.c: Likewise.
	* string/strcmp.c: Likewise.
	* string/strcpy.c: Likewise.
	* string/strncat.c: Likewise.
	* string/strncmp.c: Likewise.
	* string/strncpy.c: Likewise.
2012-04-18 16:19:10 -07:00
H.J. Lu f8887d0a5f Add byteswap-16.h for __bswap_16 2012-04-06 15:14:52 -07:00
Andreas Jaeger b1aa60f32d Add __bswap_64 definition for non GCC compilers.
[BZ#13926]
Currently __bswap_64 is not defined at all for non-GCC compilers.
Define it but guard it with __GLIBC_HAVE_LONG_LONG.

endian.h uses __bswap_64, make the functions only available
if __GLIBC_HAVE_LONG_LONG is defined.
2012-04-03 09:13:59 +02:00
Thomas Schwinge 302cadd343 Testsuite #include fixes. 2012-04-02 22:31:32 +02:00
H.J. Lu eb96ffb07d Move stdio-common/_itoa.h to sysdeps/generic 2012-03-20 16:00:23 -07:00
Ulrich Drepper a4300c7a4d Remove distribute variable from Makefiles 2012-03-07 05:17:13 -05:00
Paul Eggert 59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Joseph Myers c8a89e7dd5 Remove miscellaneous __STDC__ conditionals. 2012-01-30 21:20:32 +00:00
Ulrich Drepper a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper df78418ad7 Fix problem with reuse of test-strcpy for wide char testing 2012-01-07 08:54:34 -05:00
Ulrich Drepper 91e4d56a68 WP fixes 2011-12-17 14:40:33 -05:00
Ulrich Drepper 1d3e4b618a Optimized wcschr and wcscpy for x86-64 and x86-32 2011-12-17 14:39:23 -05:00
Ulrich Drepper a2d18b64ed WP cleanup 2011-12-17 14:27:26 -05:00
Ulrich Drepper df33a8fb1c Fix WP 2011-12-17 14:19:26 -05:00
Ulrich Drepper 5b330a2d90 Add tests for wcsrchr and wcscpy 2011-12-17 14:14:58 -05:00
Andreas Schwab f3a6cc0a56 Fix access after end of search string in regex matcher 2011-11-30 11:03:20 +01:00
Ulrich Drepper 51d91b1895 Add strchrnul performance test 2011-10-29 11:54:15 -04:00
Andreas Schwab 37822576b8 Fix strchr test 2011-10-25 15:25:37 +02:00
Ulrich Drepper 2fa2ae85ca Fix strnlen change 2011-10-23 16:30:40 -04:00
Liubov Dmitrieva fc2ee42abe Add optimized wcslen and strnlen for x86-32 2011-10-23 15:17:23 -04:00
Ulrich Drepper afb05e8157 Fix WS 2011-10-23 14:15:06 -04:00
Liubov Dmitrieva 2d09f82f8a Add wcschr test cases 2011-10-23 14:14:26 -04:00
Liubov Dmitrieva 619fcccaa3 Add wcslen test cases 2011-10-23 14:11:50 -04:00
Ulrich Drepper dc150e52d5 More WS fixes 2011-10-23 13:35:48 -04:00
Liubov Dmitrieva 95584d3b33 Fix signedness in wcscmp comparison 2011-10-23 13:34:15 -04:00
Ulrich Drepper 855d156018 Optimize x86-64 rawmemchr and add test 2011-10-19 22:22:29 -04:00
Liubov Dmitrieva be13f7bff6 Optimized memcmp and wmemcmp for x86-64 and x86-32 2011-10-15 11:10:08 -04:00
Andreas Schwab 5298ffa828 Add memrchr tests 2011-10-13 13:34:41 +02:00
Liubov Dmitrieva 951fbcec70 Optimized memchr, memrchr, rawmemchr for x86-32 2011-10-12 11:42:04 -04:00
Liubov Dmitrieva 42622229a9 delete 4 lines with unused "define" macros in test-memcmp 2011-10-07 11:52:49 -04:00
Denis Zaitceff f3cdd46748 string/strncat.c: fix compilation for some architectures 2011-09-09 12:45:03 -04:00
Ulrich Drepper 762011fe9f Move wide char tests to wcsmbs directory 2011-09-08 18:01:07 -04:00
Liubov Dmitrieva 4badf7e8d7 New comprehensive test for wmemcmp 2011-09-08 17:51:50 -04:00
Roland McGrath 69f6309711 More warning patrol. 2011-08-14 16:42:06 -07:00
Ulrich Drepper 16292eddd7 Provide better output in string tests
If IMPL is called with a macro for the first parameter the macro does not
get expanded before the string is stored in the impl_t data structure.
2011-08-04 17:47:24 -04:00
Ulrich Drepper cb7e923b71 Cleanup wcscmp test addition 2011-08-04 17:43:30 -04:00
Liubov Dmitrieva cff8293390 New comprehensive test for wcscmp 2011-08-04 16:04:15 -04:00
Ulrich Drepper a65c0b7a32 Add more tests for strcat and strncat. 2011-07-21 06:56:25 -04:00
Liubov Dmitrieva 99710781cc Improve 64 bit strcat functions with SSE2/SSSE3 2011-07-19 17:11:54 -04:00
Andreas Schwab e0e7228480 Fix alloca accounting in strxfm 2011-07-19 15:03:57 -04:00
Ulrich Drepper 6f0eec6710 Add string/test-strncat.c 2011-07-06 21:44:29 -04:00
Ulrich Drepper adcd5c15d2 Fix last change
And optimize a bit.
2011-05-21 16:19:06 -04:00
Ulrich Drepper 7ea72f9996 Always fill output buffer in XPG strerror function 2011-05-21 12:11:36 -04:00
Ulrich Drepper 7e4afad5bc Nicer output for negative error numbers in strerror_r 2011-05-21 12:09:23 -04:00
Andreas Schwab 821ae7137b Revert "Fix strncmp page test to limit length to size of object"
This reverts commit e513f34605.
2011-04-07 08:21:00 +02:00
Andreas Schwab e513f34605 Fix strncmp page test to limit length to size of object 2011-04-05 13:45:23 +02:00
Ulrich Drepper 786e84c533 Fix whitespace issue. 2011-03-21 05:38:07 -04:00
H.J. Lu c97a1282a4 Handle page boundaries in x86 SSE4.2 strncmp. 2011-03-21 05:35:38 -04:00
Ulrich Drepper 98727dbea2 Change XPG-compliant strerror_r function to return error code. 2010-12-25 13:56:48 -05:00
Jakub Jelinek 42acbb92c8 Fix -D_FORTIFY_SOURCE memmove and bcop 2010-12-09 10:38:18 -05:00
H.J. Lu 8ca52c6e3b Fix one exit path in x86-64 SSE4.2 str{,n}casecmp. 2010-11-10 03:05:37 -05:00
Ulrich Drepper c54ff5c67e Add missing file. 2010-10-26 00:23:45 -04:00
Andreas Krebbel f09677388a Fix concurrency problem between dl_open and dl_iterate_phdr 2010-10-26 00:23:14 -04:00
Ulrich Drepper 67a67b950b Add test case for strstr problem. 2010-10-06 13:48:51 -04:00
Eric Blake 5fb308bca2 Fix strstr and memmem algorithm. 2010-10-06 13:48:07 -04:00
Ulrich Drepper 45db99c7d0 Fix handling of tail bytes of buffer in SSE2/SSSE3 x86-64 version strn{,case}cmp 2010-10-03 22:10:30 -04:00
Ulrich Drepper e9f82e0d1d Add optimized strncasecmp versions for x86-64. 2010-08-14 22:04:01 -07:00
Ulrich Drepper 42e08a5438 Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
Ulrich Drepper fe36dd025e Fix tolower operation in strcasestr. 2010-07-30 00:09:07 -07:00
Ulrich Drepper 24fb0f88ed Add optimized x86-64 implementation of strnlen.
While at it, beef up the test suite for strnlen and add performance
tests for it, too.
2010-07-26 08:37:08 -07:00
Ulrich Drepper dbc676d4ff Add performance tests for strstr and strcasestr. 2010-07-23 22:27:53 -07:00
H.J. Lu 6fb8cbcb58 Improve 64bit memcpy/memmove for Atom, Core 2 and Core i7
This patch includes optimized 64bit memcpy/memmove for Atom, Core 2 and
Core i7.  It improves memcpy by up to 3X on Atom, up to 4X on Core 2 and
up to 1X on Core i7.  It also improves memmove by up to 3X on Atom, up to
4X on Core 2 and up to 2X on Core i7.
2010-06-30 08:26:11 -07:00
H.J. Lu 6cc2b8a6df Fix bugs in x86-32 strcmp-sse4.S and strcmp-ssse3.S 2010-04-15 07:49:30 -07:00
H.J. Lu 8863605af9 Test case for last x86 memcmp problem 2010-03-24 12:14:03 -07:00
Ulrich Drepper cd5c5f7051 Relax onditions in strings.h. 2010-01-14 16:16:21 -08:00
Ulrich Drepper 18598ff105 Cleanup strings.h.
Cleanup the strings.h header for XPG7 and update the tests.
2010-01-10 02:08:32 -08:00
Ulrich Drepper f095bb7204 Add support for XPG7 testing.
The header conformance testing code needed extending for XPG7.  This
exposed a few bugs in the headers.  There are more changes to come.
2010-01-09 10:56:41 -08:00
Caolan McNamara 6515a01fc1 Avoid memset warning in one case. 2009-11-10 06:29:13 -08:00
H.J. Lu 2b7a8664fa SSE4.2 strstr/strcasestr for x86-64.
This patch implements SSE4.2 strstr/strcasestr, using Knuth-Morris-Pratt
string searching algorithm.
2009-07-20 21:06:50 -07:00
H.J. Lu ab6a873fe0 SSSE3 strcpy/stpcpy for x86-64
This patch adds SSSE3 strcpy/stpcpy. I got up to 4X speed up on Core 2
and Core i7.  I disabled it on Atom since SSSE3 version is slower for
shorter (<64byte) data.
2009-07-02 03:39:03 -07:00
H.J. Lu 772f4e6a1b Add SSE4.2 support for strcmp and strncmp on x86-64. 2009-06-22 20:38:41 -07:00
Jakub Jelinek fab8238de6 Fix x86-64 memchr for large lengths. 2009-06-16 10:23:31 -07:00
Andreas Schwab ff6ff38db2 Remove redundant .gitignore files. 2009-05-16 10:18:34 +02:00
Jim Meyering 2e180a2622 rename each .cvsignore file to .gitignore 2009-05-15 18:13:37 +02:00
Ulrich Drepper 15417de3e0 * string/stratcliff.c (do_test): Test for zero length
STRNLEN, MEMCHR, STRNCPY, STPNCPY, MEMCPY, MEMPCPY and memccpy
	at the end of the page.
2009-05-09 14:45:07 +00:00
Ulrich Drepper ddba0f1700 * string/stratcliff.c (do_test): Add memchr tests..
* sysdeps/x86_64/memchr.S: Fix handling of end of buffer after
	first read quad word.
2009-04-07 14:53:04 +00:00
Ulrich Drepper 4bcb2658ff * string/strverscmp.c (__strverscmp): Fix last cleanups.
* string/tst-svc.input: Add new test case.
	* string/tst-svc.expect: Adjust.
	* string/Makefile: Don't ignore tst-svc error.
2009-04-07 06:51:59 +00:00
Ulrich Drepper 71a5bd3e17 [BZ #5807]
2009-03-15  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5807]
	* string/strlen.c (strlen): Fix omission in the expression to test
	for NUL bytes.
2009-03-15 09:03:38 +00:00
Ulrich Drepper 1f7c90a722 [BZ #9893]
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix
	alignement of La_x86_64_regs.  Store xmm parameters.
	Patch mostly by Jiri Olsa <olsajiri@gmail.com>.
2009-03-14 23:57:33 +00:00
Ulrich Drepper 4546646233 [BZ #9913]
* string/strverscmp.c (__strverscmp): Fix case of different digits
	in fractional part of string.
	Patch by Jingyu Liu <jyliu@fortinet.com>.
	* string/Makefile (tests): Add tst-svc2.
	* string/tst-svc2.c: New file.

	* string/strverscmp.c (__strverscmp): Optimize size of tables.
2009-03-14 20:15:21 +00:00
Ulrich Drepper 6cbe890a9d * wctype/wctype.h: The *_l functions are in POSIX 2008.
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
	wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
	wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
	* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
	200112L to 200809L.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
	* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT entries.
	* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT.
	* posix/unistd.h: fexecve is in POSIX 2008.
	* time/time.h: strftime_l is in POSIX 2008.
	* io/sys/stat.h: futimens is in POSIX 2008.
	* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
	* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
	strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
	* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
2009-02-26 16:53:30 +00:00
Ulrich Drepper 8585cb7454 * string/string.h (memchr, strchr, strrchr, strpbrk, strstr, index,
rindex): For C++ add inlines so that they can be recognized as
	builtins.
	* string/strings.h: Define correct C++ prototypes for gcc 4.4.
2009-01-30 16:47:57 +00:00
Ulrich Drepper d8387c7b7b Jakub Jelinek <jakub@redhat.com>
* string.h: Define correct C++ prototypes for gcc 4.4.
	* wchar.h: Likewise.

2009-01-29  Ulrich Drepper  <drepper@redhat.com>
2009-01-29 18:36:39 +00:00
Ulrich Drepper f63abf584c * string/Makefile (strop-tests): Add memmem.
* string/test-memmem.c: New file.
	* string/test-string.h (BUF1PAGES): Define to 1 if undefined.
	(test_init): Size buf1 according to BUF1PAGES.

	* stdio-common/scanf16.c: New file.
	* stdio-common/scanf17.c: New file.
	* scripts/data/localplt-sparc64-linux-gnu.data: New file.
2008-05-25 00:17:34 +00:00
Ulrich Drepper e92799fc45 * string/endian.h: Define new fixed-size hto* and *toh macros only
is __USE_BSD.
2008-05-21 23:39:35 +00:00
Ulrich Drepper 74e1338588 * string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp. 2008-05-16 18:19:18 +00:00
Ulrich Drepper 0caca71ac9 * string/Makefile (distribute): Add str-two-way.h.
2008-03-29  Eric Blake	<ebb9@byu.net>

	Rewrite string searches to O(n) rather than O(n^2).
	* string/str-two-way.h: New file.  For linear fixed-allocation
	string searching.
	* string/memmem.c: New implementation.
	* string/strstr.c: New implementation.
	* string/strcasestr.c: New implementation.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Call _res_hconf_init
2008-05-15 04:42:20 +00:00
Ulrich Drepper 2f9a1be867 [BZ #6442]
* string/endian.h: Add macros for fixed-size endian conversion.
	* bits/byteswap.h: Allow inclusion from <endian.h>.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/ia64/bits/byteswap.h: Likewise.
	* sysdeps/s390/bits/byteswap.h: Likewise.
	* sysdeps/x86_64/bits/byteswap.h: Likewise.
	* string/Makefile (tests): Add tst-endian.
	* string/tst-endian.c: New file.
2008-05-15 02:54:33 +00:00
Ulrich Drepper 3490f01de4 * string/tester.c (test_memcmp): Add a few more tests.
Patch by Mats Erik Andersson <ynglingatal@comhem.se>.
2008-05-11 08:55:42 +00:00
Ulrich Drepper 3eb9c80984 [BZ #6007]
2008-03-31  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6007]
	* string/strfry.c: Handle empty strings again.
2008-03-31 18:30:26 +00:00
Ulrich Drepper ebca8f730e [BZ #5614]
2008-01-15  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5614]
	* string/bits/string2.h (__strtok_r_1c): Always update *__NEXTP.
	(__strtok_r): Simplify.
	* string/tester.c (test_strtok_r): Add test case for futile search
	with single-character seach string.
2008-01-15 19:11:51 +00:00
Ulrich Drepper a83b5649c5 [BZ #5113]
* string/bits/string2.h (__strdup): Cast parameters to calloc to
	avoid warning with -Wconversion.
	(__strndup): Likewise.
	Patch to 50% by Christian Iseli <christian.iseli@licr.org>.
2007-10-05 21:21:08 +00:00
Ulrich Drepper e5dd21787d * string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
	__extern_always_inline functions unconditionally, drop macros.
2007-10-03 18:33:57 +00:00
Ulrich Drepper 33a667def7 * de_DE.in: Adjust for correct handling of backward direction sorting. 2007-10-02 17:17:59 +00:00