• Home
  • History
  • Annotate
  • only in /bionic/libc/arch-x86/atom/string/
History log of /bionic/libc/arch-x86/atom/string/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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