On 4/11/25 2:00 PM, Thomas Weißschuh wrote:
> __sync_bool_compare_and_swap() is deprecated and requires libatomic on
> GCC. Compiler toolchains don't necessarily have libatomic available, so
> avoid this requirement by using atomics that don't need libatomic.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weisssc...@linutronix.de>
Reviewed-by: Muhammad Usama Anjum <usama.an...@collabora.com>

> ---
>  tools/testing/selftests/kselftest_harness.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/kselftest_harness.h 
> b/tools/testing/selftests/kselftest_harness.h
> index 
> 222a4f51a8d704c41597e09a241ad887ef787139..7ec4f66d0e3d7f129f6c2a45ff58310dabe5d03f
>  100644
> --- a/tools/testing/selftests/kselftest_harness.h
> +++ b/tools/testing/selftests/kselftest_harness.h
> @@ -439,12 +439,12 @@
>               } \
>               if (child == 0) { \
>                       if (_metadata->setup_completed && 
> !fixture_name##_teardown_parent && \
> -                                     __sync_bool_compare_and_swap(teardown, 
> false, true)) \
> +                                     !__atomic_test_and_set(teardown, 
> __ATOMIC_RELAXED)) \
>                               fixture_name##_teardown(_metadata, self, 
> variant->data); \
>                       _exit(0); \
>               } \
>               if (_metadata->setup_completed && 
> fixture_name##_teardown_parent && \
> -                             __sync_bool_compare_and_swap(teardown, false, 
> true)) \
> +                             !__atomic_test_and_set(teardown, 
> __ATOMIC_RELAXED)) \
>                       fixture_name##_teardown(_metadata, self, 
> variant->data); \
>               munmap(teardown, sizeof(*teardown)); \
>               if (self && fixture_name##_teardown_parent) \
> 


-- 
Regards,
Usama

Reply via email to