diff options
author | Gabor Kertesz <gabor.kertesz@arm.com> | 2020-04-08 10:55:23 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2020-04-08 13:21:42 +0100 |
commit | 563b710ddc13810bd89fc17f057f4f7f8479e744 (patch) | |
tree | 11bd1fa189d8f1aeb0bdce57a531a3f5426716f6 /string/include | |
parent | 6d09ce9f98d067f7509dc89109ffa58aa56cb2dd (diff) | |
download | arm-optimized-routines-563b710ddc13810bd89fc17f057f4f7f8479e744.tar.gz |
ARMv8.5 MTE: Add MTE compatible version of strchrnul.
Reading outside the range of the string is only allowed within
16 byte aligned granules when MTE is enabled.
This implementation is based on string/aarch64/strchr-mte.S and
string/aarch64/strchrnul.S
Testing done:
optimized-routines/string/test/strchrnul.c
Booted nanodroid with MTE enabled.
bionic string tests with MTE enabled.
Big endian with Qemu: qemu-aarch64_be
Diffstat (limited to 'string/include')
-rw-r--r-- | string/include/stringlib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/string/include/stringlib.h b/string/include/stringlib.h index 03ccee5..6efa3db 100644 --- a/string/include/stringlib.h +++ b/string/include/stringlib.h @@ -29,6 +29,7 @@ size_t __strnlen_aarch64 (const char *, size_t); int __strncmp_aarch64 (const char *, const char *, size_t); void * __memchr_aarch64_mte (const void *, int, size_t); char *__strchr_aarch64_mte (const char *, int); +char * __strchrnul_aarch64_mte (const char *, int ); size_t __strlen_aarch64_mte (const char *); #if __ARM_NEON void *__memcpy_aarch64_simd (void *__restrict, const void *__restrict, size_t); |