Re: [PATCH] coresight: etm4x: avoid build failure with unrolled loops

From: Suzuki K Poulose
Date: Wed Sep 29 2021 - 06:29:56 EST


Hi Tao

On 26/09/2021 11:35, Tao Zhang wrote:
clang-12 fails to build the etm4x driver with -fsanitize=array-bounds,
where it decides to unroll certain loops in a way that result in a
C variable getting put into an inline assembly.

Search this build failure and find this is a known issue and there
has been a mail thread discussing it.
https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210429145752.3218324-1-arnd@xxxxxxxxxx/
According to the modification suggestions of this mail thread,
coresight infrastucture has already provided another API that
can replace the function that caused the error.

Used here "csdev_access_read32" to replace the original API
"etm4x_relaxed_read32".

This patch applies to coresight/next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

Signed-off-by: Tao Zhang <quic_taozha@xxxxxxxxxxx>


Thanks for picking up the patch. Please could you convert all the other
variable indexed register access too ? That would save us spinning up
patches for fixing those individual cases whenever the compiler decides
to change its behavior.

Suzuki