aboutsummaryrefslogtreecommitdiff
path: root/string/include
diff options
context:
space:
mode:
authorGabor Kertesz <gabor.kertesz@arm.com>2020-04-08 10:55:23 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2020-04-08 13:21:42 +0100
commit563b710ddc13810bd89fc17f057f4f7f8479e744 (patch)
tree11bd1fa189d8f1aeb0bdce57a531a3f5426716f6 /string/include
parent6d09ce9f98d067f7509dc89109ffa58aa56cb2dd (diff)
downloadarm-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.h1
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);