diff options
author | 2025-05-05 17:15:24 +0200 | |
---|---|---|
committer | 2025-05-21 15:32:33 +0200 | |
commit | 67ee52611b4d7a0da38e82409b86607c3a43fe8d (patch) | |
tree | 0308c86bc0c590b1d4f3d9beb22fb3ef26ef01a9 /tools | |
parent | selftests: harness: Remove inline qualifier for wrappers (diff) | |
download | linux-rng-67ee52611b4d7a0da38e82409b86607c3a43fe8d.tar.xz linux-rng-67ee52611b4d7a0da38e82409b86607c3a43fe8d.zip |
selftests: harness: Remove dependency on libatomic
__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.weissschuh@linutronix.de>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250505-nolibc-kselftest-harness-v4-6-ee4dd5257135@linutronix.de
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/kselftest_harness.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h index 222a4f51a8d7..7ec4f66d0e3d 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) \ |