aarch64: MTE compatible strcmp
authorAlex Butler <Alex.Butler@arm.com>
Tue, 16 Jun 2020 12:42:38 +0000 (12:42 +0000)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Tue, 23 Jun 2020 16:55:39 +0000 (17:55 +0100)
commitadac54ffc5ded48cba7deb18e46df984b213b0ac
treebd66a042414d7bc1696305b16d16adaee51becfc
parent79160c06c7b74672c7f7368355ca0b59103b2d30
aarch64: MTE compatible strcmp

Add support for MTE to strcmp. Regression tested with xcheck and benchmarked
with glibc's benchtests on the Cortex-A53, Cortex-A72, and Neoverse N1.

The existing implementation assumes that any access to the pages in which the
string resides is safe. This assumption is not true when MTE is enabled. This
patch updates the algorithm to ensure that accesses remain within the bounds
of an MTE tag (16-byte chunks) and improves overall performance.

Co-authored-by: Branislav Rankov <branislav.rankov@arm.com>
Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>
sysdeps/aarch64/strcmp.S