platform_bionic/libc/arch-x86/atom/string
Ryan Prichard a992a06701 x86: Switch get_pc_thunk to comdat
Switch the __x86.get_pc_thunk.{bx,cx} functions from .gnu.linkonce to
comdat section groups. lld doesn't implement .gnu.linkonce and will
instead discard the input sections. Currently, it might produce a
faulty binary that has no get_pc_thunk function in it, which would
crash.

Normally, these functions are generated by GCC and are present in many
object files compiled with PIC. Clang doesn't use them, and instead
initializes the PIC base register with a "call 1f; 1: pop %ebx" pair.

Bug: http://b/154376560
Bug: https://bugs.llvm.org/show_bug.cgi?id=45594
Test: bionic-unit-tests
Change-Id: I3e4857aecdc281b32232270bff4880433e5b6afa
2020-04-20 14:28:10 -07:00
..
cache.h Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-memchr-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-memrchr-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-memset-atom.S x86: Switch get_pc_thunk to comdat 2020-04-20 14:28:10 -07:00
sse2-strchr-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-strlen-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
sse2-strnlen-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-strrchr-atom.S Explicit binary op order for both gcc and clang/llvm. 2016-01-12 09:48:09 -08:00
sse2-wcschr-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-wcscmp-atom.S Add 32-bit Silvermont-optimized string/memory functions. 2014-05-12 13:56:59 -07:00
sse2-wcslen-atom.S Replace ambiguous cmp instruction with cmpl. 2014-08-27 15:04:23 -07:00
sse2-wcsrchr-atom.S Explicit binary op order for both gcc and clang/llvm. 2016-01-12 09:48:09 -08:00
ssse3-memcmp-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-memcpy-atom.S Change memcpy ifunc to return memmove for x86 2018-11-13 14:23:19 -08:00
ssse3-memmove-atom.S Change memcpy ifunc to return memmove for x86 2018-11-13 14:23:19 -08:00
ssse3-strcat-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strcmp-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strcpy-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strlcat-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strlcpy-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strncat-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strncmp-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-strncpy-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-wcscat-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-wcscpy-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00
ssse3-wmemcmp-atom.S Use ifunc to dynamically dispatch libc routines for x86 2018-11-13 13:48:23 -08:00