From: Kevin Brodsky Date: Tue, 16 May 2017 10:29:49 +0000 (+0100) Subject: libc: ARM64: fix memset for non-standard ZVA sizes X-Git-Tag: android-x86-9.0-r1~66^2~214^2~63^2~29^2~88^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f19eeb8446de27e6b43c77642b03729e10facb2c;p=android-x86%2Fbionic.git libc: ARM64: fix memset for non-standard ZVA sizes 372f19e9e27c ("libc: ARM64: update memset/strlen/memcpy/memmove to newlib/cortex-strings") introduced a bug in memset, only occurring on the [set_long + zero + non-standard ZVA size] path, more specifically when DCZID_EL0 reports a size different to 64 or 128. On platforms with such sizes reported by DCZID_EL0, various string* unit tests fail due to memset zeroing memory before and/or after the area it is supposed to set. Test: bionic-unit-tests --gtest_filter=string* Change-Id: Idb80c0269226e40e343645a58608e3f324378468 --- diff --git a/libc/arch-arm64/generic/bionic/memset.S b/libc/arch-arm64/generic/bionic/memset.S index 3416cfb78..12fc09db8 100644 --- a/libc/arch-arm64/generic/bionic/memset.S +++ b/libc/arch-arm64/generic/bionic/memset.S @@ -80,7 +80,7 @@ #define tmp1w w5 #define tmp2 x6 #define tmp2w w6 -#define zva_len x5 +#define zva_len x7 #define zva_lenw w7 #define L(l) .L ## l