e412f8944ec8d73739c876899fabef7f87bb8168 |
01-Aug-2016 |
Elliott Hughes <enh@google.com> |
Clean up 32-bit x86 memset assembler. Change-Id: I2d334db29226f9c60cf20220a569f1b772bf7c66
se2-memset-atom.S
|
3a528f1cbfb053e09101a7b2e1ae767993929206 |
30-Jul-2016 |
Lev Rumyantsev <levarum@google.com> |
Fix x86 __memset_chk. When __memset_chk_fail moved to C++, we didn't take into account that the stack wasn't set up correctly for the jump from assembler. Presumably no one had run the 32-bit x86 tests until now! Bug: http://b/30513094 Change-Id: Iab9fbc731b6bfecd7ca4d3f3844d0568a5d30d86
se2-memset-atom.S
|
204990cc83769396f78d6119e142b5344f4ea68f |
25-Mar-2016 |
Elliott Hughes <enh@google.com> |
Fix x86 __memset_chk. The stack offsets assumed we'd pushed %ebx. Unlike x86-64 we can't fall through, but we can avoid repeating work we've already done. Change-Id: I7e5f9be50983ed6178dd0c0534042da7ea30ad0c
se2-memset-atom.S
|
81d6a18c69b71288c0ab0f65e0ee594f752febc8 |
04-Mar-2016 |
Elliott Hughes <enh@google.com> |
Add x86 __memset_chk assembler. Change-Id: Ic6732f761ea8a41f70d5ff59d47ad38417d17cc2
se2-memset-atom.S
|
bed110af26f947057fd7940ba383b6f562d2df97 |
03-Mar-2016 |
Elliott Hughes <enh@google.com> |
Clean up bcopy cruft. Also remove some generic x86 assembler that's never built. Change-Id: Ic126de2eee646b5ba2b6ee549679ba90d67a48bb
sse3-bcopy-atom.S
sse3-memcpy-atom.S
|
01d5b946acac8519d510781967bf538acdae1853 |
03-Mar-2016 |
Elliott Hughes <enh@google.com> |
Remove optimized code for bzero, which was removed from POSIX in 2008. I'll come back for the last bcopy remnant... Bug: http://b/26407170 Change-Id: Iabfeb95fc8a4b4b3992e3cc209ec5221040e7c26
se2-bzero-atom.S
se2-memset-atom.S
|
97b6e131fd85bb0ae321d9e5a8a613f5ee373cf4 |
18-Feb-2016 |
Christopher Ferris <cferris@google.com> |
Fix cfi directives for memmove/strlcpy. Bug: 27227225 Change-Id: I47ca82daaadb3ec24cefc3c9aa4df7ed1798aced
sse3-strcpy-atom.S
|
de84e51f8c7b45869a8f83a1d5eacbf19b6d5eb5 |
18-Feb-2016 |
Christopher Ferris <cferris@google.com> |
Fix cfi directives in small strncmp case. Bug: 27227225 Change-Id: Id4f88fe288109a82822ad1b2291858c1c85b0ca7
sse3-strcmp-atom.S
|
592c7b4cd72e18f2f1941df3d63026d7f94ef7ce |
12-Jan-2016 |
Chih-Hung Hsieh <chh@google.com> |
Explicit binary op order for both gcc and clang/llvm. * gcc assembler parses (1 << n - 1) as ((1 << n) - 1) * llvm assembler parses (1 << n - 1) as (1 << (n - 1)) BUG: 26289334 Change-Id: Iaaa3d07f59c0f87cb1b80b9a1c4e765b66846791
se2-strrchr-atom.S
se2-wcsrchr-atom.S
|
c89ee272fbc2bd2ed244605b8f8c60fa50e9de15 |
22-Oct-2014 |
Chih-Hung Hsieh <chh@google.com> |
Replace ambiguous cmp operator with cmpl. Clang assembler rejects ambiguous cmp instruction. BUG: 17302482 Change-Id: Ie8dca7e4f46e0906c47076bba21c1941482ba6b3
sse3-wcscat-atom.S
sse3-wcscpy-atom.S
|
857fa6b2a390101a92254b735cc9bc583f78dad5 |
28-Aug-2014 |
Chih-Hung Hsieh <chh@google.com> |
Replace ambiguous cmp instruction with cmpl. Clang assembler rejects ambiguous cmp instruction. BUG: 17302482 Change-Id: I74f49de87464541f9fe6fa288e4093a9fbf37120
se2-wcslen-atom.S
|
891dedb935b50f1abb39eedfe33049a1e49283cb |
13-Jun-2014 |
David 'Digit' Turner <digit@google.com> |
libc: Fix 'index' symbol export. The C library didn't export the 'index' symbol, but its C++ name-mangling instead, which broke the ABI and prevented some applications from loading properly. The main reason was that the implementation under bionic/index.cpp relied on the declaration to specify that the function has C linkage. However, the declaration for index() was removed from both <string.h> and <strings.h> in a recent patch, which made the compiler think it was ok to compile the function with C++ linkage instead! This patch does the following: - Move index() definition to bionic/ndk_cruft.cpp and ensure it uses C linkage. Note that this removes index() from the 64-bit library entirely, this is intentional and will break source compatibility. Simply replacing an index() call with the equivalent strchr() should be enough to fix this in third-party code. - Remove bionic/index.cpp from the tree and build files. - Remove x86 assembly implementation from arch-x86/ to avoid conflict with the one in ndk_cruft.cpp BUG=15606653 Change-Id: I816b589f69c8f8a6511f6be6195d20cf1c4e8123
se2-index-atom.S
|
24614b4729a4c8665193f5793b93019b37f779b1 |
13-Jun-2014 |
Elliott Hughes <enh@google.com> |
Remove __memcmp16 from bionic. Change-Id: I2486d667d96c8900dd368d855f37c1327161efb7
sse3-memcmp16-atom.S
|
5a92284167ffba6d45210ef6889fa7d255c15d4f |
24-Apr-2014 |
Varvara Rainchik <varvara.rainchik@intel.com> |
Add 32-bit Silvermont-optimized string/memory functions. Add following functions: bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen, strcpy, strncpy, stpcpy, stpncpy. Create new directories inside arch-x86 to specify architecture: atom, silvermont and generic (non atom or silvermont architectures are treated like generic). Due to introducing optimized versions of stpcpy and stpncpy, c-implementations of these functions are moved from common for architectures makefile to arm and mips specific makefiles. Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
ache.h
se2-bzero-atom.S
se2-index-atom.S
se2-memchr-atom.S
se2-memrchr-atom.S
se2-memset-atom.S
se2-strchr-atom.S
se2-strlen-atom.S
se2-strnlen-atom.S
se2-strrchr-atom.S
se2-wcschr-atom.S
se2-wcscmp-atom.S
se2-wcslen-atom.S
se2-wcsrchr-atom.S
sse3-bcopy-atom.S
sse3-memcmp-atom.S
sse3-memcmp16-atom.S
sse3-memcpy-atom.S
sse3-memmove-atom.S
sse3-strcat-atom.S
sse3-strcmp-atom.S
sse3-strcpy-atom.S
sse3-strlcat-atom.S
sse3-strlcpy-atom.S
sse3-strncat-atom.S
sse3-strncmp-atom.S
sse3-strncpy-atom.S
sse3-wcscat-atom.S
sse3-wcscpy-atom.S
sse3-wmemcmp-atom.S
|