platform_bionic/libc/private
Peter Collingbourne 900d07d6a1 Add arm64 string.h function implementations for use with hardware supporting MTE.
As it turns out, our "generic" arm64 implementations of certain string.h
functions are not actually generic, since they will eagerly read memory
possibly outside of the bounds of an MTE granule, which may lead to a segfault
on MTE-enabled hardware. Therefore, move the implementations into a "default"
directory and use ifuncs to select between them and a new set of "mte"
implementations, conditional on whether the hardware and kernel support MTE.

The MTE implementations are currently naive implementations written in C
but will later be replaced with a set of optimized assembly implementations.

Bug: 135772972
Change-Id: Ife37c4e0e6fd60ff20a34594cc09c541af4d1dd7
2019-10-29 16:18:31 -07:00
..
__bionic_get_shell_path.h Fix internal uses of _PATH_BSHELL. 2019-03-25 17:28:22 -07:00
bionic_allocator.h Add BionicAllocator::memalign 2019-01-25 15:31:35 -08:00
bionic_arc4random.h Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals 2018-12-04 13:51:56 -08:00
bionic_asm.h Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
bionic_asm_arm.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_asm_arm64.h Set __bionic_asm_align to 16 for arm64 2018-06-26 15:58:52 -03:00
bionic_asm_mips.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_asm_x86.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_asm_x86_64.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_auxv.h Use shared globals so getauxval works earlier 2018-12-04 13:51:46 -08:00
bionic_call_ifunc_resolver.h Adopt GNU calling convention for ifunc resolvers. 2019-10-28 20:20:29 -07:00
bionic_config.h
bionic_constants.h Increase the size of the shadow call stack guard region to 16MB. 2019-01-31 14:37:34 -08:00
bionic_ctype.h Use inline ctype functions for ato*/strto* and scanf. 2017-12-19 16:37:01 -08:00
bionic_defs.h Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
bionic_elf_tls.h Implement dynamic TLS accesses and allocation 2019-01-25 17:53:01 -08:00
bionic_fdsan.h libc_shared_globals: add a constexpr ctor 2019-01-03 17:11:27 -08:00
bionic_fortify.h bionic_fortify: clarify error message for an out of bounds FD. 2018-03-14 12:37:25 +00:00
bionic_futex.h Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
bionic_globals.h linker: Add library load and unload hooks for HWASan. 2019-08-05 16:51:01 -07:00
bionic_ieee.h
bionic_ifuncs.h Add arm64 string.h function implementations for use with hardware supporting MTE. 2019-10-29 16:18:31 -07:00
bionic_inline_raise.h Generalize abort's inline_tgkill, use it in fdsan. 2018-08-31 16:39:23 -07:00
bionic_lock.h Comment about lock destruction and unlocking 2019-04-19 17:16:25 -07:00
bionic_macros.h Add arm32 case to BIONIC_STOP_UNWIND to correctly stop unwinders 2019-08-27 22:50:21 +01:00
bionic_malloc_dispatch.h Refactor the malloc_info code. 2019-03-07 08:39:55 -08:00
bionic_mbstate.h Include what we use. 2018-01-22 12:20:16 -08:00
bionic_page.h
bionic_sigdefs.h
bionic_ssp.h
bionic_string_utils.h
bionic_systrace.h Clean up bionic_macros.h a bit. 2018-10-25 11:00:00 -07:00
bionic_time_conversions.h Always use CLOCK_MONOTONIC for pthreads and semaphores 2017-08-18 09:11:05 -07:00
bionic_tls.h Make tls related header files platform accessible. 2019-09-27 12:14:24 -07:00
bionic_vdso.h Clean up the time(2) implementation. 2018-01-12 15:20:28 -08:00
CachedProperty.h Address a bunch of clang-tidy complaints. 2018-01-19 15:56:12 -08:00
CFIShadow.h Revert "Revert "arm64: expand CFI shadow to cover 48-bit virtual addresses"" 2017-08-03 14:11:28 -07:00
ErrnoRestorer.h Clean up bionic_macros.h a bit. 2018-10-25 11:00:00 -07:00
FdPath.h Add POSIX fexecve. 2017-10-18 16:26:17 -07:00
get_cpu_count_from_string.h
grp_pwd.h Require vendor users and groups to start with vendor_ 2018-05-15 14:10:21 -07:00
icu.h Implement <iconv.h>. 2017-08-25 08:47:41 -07:00
KernelArgumentBlock.h Move the abort message to libc_shared_globals 2018-11-28 14:26:14 -08:00
linker_native_bridge.h Reorganize static TLS memory for ELF TLS 2019-01-11 15:34:22 -08:00
MallocXmlElem.h Refactor the malloc_info code. 2019-03-07 08:39:55 -08:00
NetdClientDispatch.h libnetd_client: support hooking sendto/sendmsg/sendmmsg too. 2019-06-20 08:32:24 -07:00
ScopedPthreadMutexLocker.h Clean up bionic_macros.h a bit. 2018-10-25 11:00:00 -07:00
ScopedReaddir.h Fix/suppress bionic google-explicit-constructor warnings 2019-01-02 11:04:05 -08:00
ScopedRWLock.h Factor out ScopedRWLock into its own header 2019-01-16 01:11:26 -08:00
ScopedSignalBlocker.h Clean up bionic_macros.h a bit. 2018-10-25 11:00:00 -07:00
ScopedSignalHandler.h Fix/suppress bionic google-explicit-constructor warnings 2019-01-02 11:04:05 -08:00
sigrtmin.h Reserve signal for java heap dumps. 2019-07-23 16:38:00 +01:00
SigSetConverter.h Add sigset64_t and accompanying functions. 2018-01-30 18:47:16 -08:00
thread_private.h Reimplement popen(3)/pclose(3). 2018-07-11 12:15:26 -07:00
WriteProtected.h Fix a few bionic test failures caused by hwasan global instrumentation. 2019-08-15 09:21:34 -07:00