Description
i'm one of the bionic maintainers, and i'm interested in moving us over to some of the arm-optimized-routines string routines for next year's release. even if i wasn't, we'd want the MTE/SVE stuff sooner or later :-)
one question i had was whether you'd consider adding the FORTIFY _chk variants directly?
note: on Android, FORTIFY is basically always on. all parts of the OS must be built with FORTIFY, and we've recently made it the default for apps too (though they're allowed to opt-out if they want). so the _chk variants are an important performance case for Android, where they probably aren't for other OSes.
we have existing cases where we
-
effectively duplicated the code: https://android.googlesource.com/platform/bionic/+/master/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
-
added a separate routine: https://android.googlesource.com/platform/bionic/+/master/libc/arch-arm/cortex-a15/bionic/memset.S
-
fall through to the optimized code if the trivial FORTIFY check passes: https://android.googlesource.com/platform/bionic/+/master/libc/arch-x86_64/string/sse2-memset-slm.S (ignore the fact that that's x86-64 --- it was just the first example i found! the most obvious arm64 one currently is a lot less obvious, but it's cortex-a55/bionic/__strcpy_chk.S if you're interested.)
(unfortunately Google has a blanket ban on signing any CLAs that have copyright assignments, so i can't send you patches...)