Re: [PATCH 1/4] selftests/cgroup: fix clang build failures for abs() calls

Roman Gushchin
2024-05-03T17:54:06Z

On Thu, May 02, 2024 at 08:51:02PM -0700, John Hubbard wrote:
> First of all, in order to build with clang at all, one must first apply
> Valentin Obst's build fix for LLVM [1]. Once that is done, then when
> building with clang, via:
>
> make LLVM=1 -C tools/testing/selftests
>
> ...clang is pickier than gcc, about which version of abs(3) to call,
> depending on the argument type:
>
> int abs(int j);
> long labs(long j);
> long long llabs(long long j);
>
> ...and this is causing both build failures and warnings, when running:
>
> make LLVM=1 -C tools/testing/selftests
>
> Fix this by calling labs() in value_close(), because the arguments are
> unambiguously "long" type.
>
> [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/
>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>

Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>

Thanks!