Commit Graph

142 Commits

Author SHA1 Message Date
Liubov Dmitrieva c044cf14b0 Fix wrong copying processing for last bytes in x86-32 wcscpy
Wrong copy algorithm for last bytes, not thread safety.
In some particular cases it uses the destination
memory beyond the string end for
16-byte load, puts changes into that part that is relevant
to destination string and writes whole 16-byte chunk into memory.
I have a test case where the memory beyond the string end contains
malloc/free data, that appear corrupted in case free() updates
it in between the 16-byte read and 16-byte write.
2011-12-23 08:50:39 -05:00
Liubov Dmitrieva 2bd779ae3f Fix overrun in strcpy destination buffer in x86-32/SSSE3 version 2011-12-22 14:22:00 -05:00
Ulrich Drepper 1d3e4b618a Optimized wcschr and wcscpy for x86-64 and x86-32 2011-12-17 14:39:23 -05:00
Andreas Schwab 5583a0862c Fix SSSE3/SSE4.2 strcasecmp[_l]/strncasecmp[_l] for non-PIC and -mno-tls-direct-seg-refs 2011-11-16 11:48:10 +01:00
Ulrich Drepper 6abf346582 Add SSE4.2 support for strcasecmp and strncasecmp on x86-32 2011-11-14 18:24:35 -05:00
Ulrich Drepper 76e3966e9e SSSE3 optimized strcasecmp and strncasecmp for x86-32 2011-11-13 09:50:13 -05:00
Ulrich Drepper e7f4b08ee9 Fix warnings in fallback C code of x86-32 wide memory functions 2011-11-12 00:50:26 -05:00
Ulrich Drepper fe72eebd67 Remove unnecessary code from x86-32 SSSE3 strncmp 2011-11-08 07:50:20 -05:00
Andreas Schwab 0c92d8a87a Fix some warning nits 2011-10-28 12:02:08 +02:00
Andreas Schwab b43433460b Move wide char related routines to wcsmbs subdir 2011-10-28 12:01:29 +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
Michael Zolotukhin 979c70a3b1 Improve x86-32 SSSE3 memcpy 2011-10-23 14:28:26 -04:00
Ulrich Drepper f17424ed53 Fix WS 2011-10-23 13:35:24 -04:00
Liubov Dmitrieva 95584d3b33 Fix signedness in wcscmp comparison 2011-10-23 13:34:15 -04:00
Ulrich Drepper 79b195b55a No need for boundary case handling in x86-32 __ieee_log 2011-10-15 22:21:53 -04:00
Ulrich Drepper ba1a0d5938 No need for boundary case handling in x86-32 __ieee_logf 2011-10-15 18:09:12 -04:00
Liubov Dmitrieva be13f7bff6 Optimized memcmp and wmemcmp for x86-64 and x86-32 2011-10-15 11:10:08 -04:00
Ulrich Drepper 38ad40ceca Optimize x86-32 log 2011-10-14 23:41:47 -04:00
Ulrich Drepper f9e123204e Fix whitespaces 2011-10-12 11:42:57 -04:00
Liubov Dmitrieva 951fbcec70 Optimized memchr, memrchr, rawmemchr for x86-32 2011-10-12 11:42:04 -04:00
Liubov Dmitrieva 48882a1abe Fix up x86-32 section names for Atom code 2011-09-07 22:28:44 -04:00
Ulrich Drepper ceaa0c5dc3 Move Atom-optimized code out of the way and together 2011-09-06 21:53:03 -04:00
Ulrich Drepper b0fc1ff04e Fix whitespaces 2011-09-05 17:12:27 -04:00
Liubov Dmitrieva 693fb94884 Optimized strchr and strrchr with SSE2 on x86-32 2011-09-05 17:11:11 -04:00
Ulrich Drepper 5fc11f0d64 Fix whitespaces 2011-09-05 13:54:51 -04:00
Ulrich Drepper 1b48c53782 Add x86-32 optimized wcscmp 2011-09-05 13:53:27 -04:00
Andreas Schwab 2cae499541 Fix spurious nop at start of __strspn_ia32 2011-08-23 15:53:51 +02:00
Ulrich Drepper b969a69b2e Fix whitespaces 2011-08-04 15:38:35 -04:00
Liubov Dmitrieva 5fa16e9b01 Improve x86-32 strcat functions with SSE2/SSSE3 2011-08-04 15:33:38 -04:00
Roland McGrath 661607b3dd Quash a warning in strstr-c.c built for static. 2011-07-14 20:47:54 -07:00
H.J. Lu acb0d739c5 Fix unwind info in 32bit SSE2/SSSE3 strncpy 2011-06-25 01:32:27 -04:00
H.J. Lu 0b1cbaaef5 Optimized st{r,p}{,n}cpy for SSE2/SSSE3 on x86-32 2011-06-24 14:15:32 -04:00
Mike Frysinger 4c559bcdf3 Fix static linking with checking x86/x86-64 memcpy. 2011-04-17 22:20:47 -04:00
Ulrich Drepper 283007197c Undo accidental checkin. 2010-12-14 13:09:28 -05:00
Jakub Jelinek 42acbb92c8 Fix -D_FORTIFY_SOURCE memmove and bcop 2010-12-09 10:38:18 -05:00
H.J. Lu 3a4a2499ec Remove dead code from x86-32 SSSE3 strncmp. 2010-12-01 22:18:31 -05:00
Ulrich Drepper c0dde15b5d 32bit memset-sse2.S fails with uneven cache size
32bit memset-sse2.S assumes cache size is multiple of 128 bytes.  If
it isn't true, memset-sse2.S will fail.  For example, a processor can
have 24576 KB L3 cache and 20 cores. That is 2516582 byte per core. Half
of it is 1258291, which isn't helpful for vector instructions.  This
patch rounds cache sizes to multiple of 256 bytes and adds "raw" cache
sizes.
2010-11-05 07:57:46 -04:00
Jakub Jelinek 5e908464b9 Implement accurate fma. 2010-10-13 22:27:03 -04:00
Jakub Jelinek 9ff8d36f27 Correct implementation of fmaf. 2010-10-11 09:27:05 -04:00
Roland McGrath 6d34eb5b45 Add missing i686/multiarch/Makefile bit for shared x86_64 code. 2010-08-27 17:11:38 -07:00
Ulrich Drepper c96d23fcaa Fixup x86 after x86-64 varshift change. 2010-08-27 12:10:11 -07:00
H.J. Lu e73015f2d6 Unroll 32bit SSE strlen and handle slow bsf 2010-08-25 10:07:37 -07:00
Richard Henderson 73f27d5e72 Clean up SSE variable shifts 2010-08-24 11:35:01 -07:00
Andreas Schwab bdaa77bc20 Fix ifunc thunk for strspn on x86 in static libc 2010-08-19 07:42:16 -07:00
Andreas Schwab b8934257ec Add missing file from last commit. 2010-07-21 08:44:35 -07:00
Andreas Schwab f6a31e0eb6 Add strcasestr-nonascii to i386 build 2010-07-21 07:26:18 -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 a11ec63713 Add x86-32 FMA support 2010-04-14 22:27:59 -07:00
H.J. Lu b170ff0f8f Fix sysdeps/i386/i686/multiarch/memcmp-ssse3.S 2010-03-18 11:40:46 -07:00