From 5ade3ecdb8a154779c219f49175fa72e417cd7ae Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sun, 8 May 2022 21:11:41 +0200 Subject: [PATCH] package/numactl: needs atomic numactl unconditionally uses __atomic_fetch_and resulting in the following build failure on architectures that need libatomic to provide atomic intrinsics (e.g. microblaze) since commit 4ed540ddf59bec4b389be44d7f42820d2466904f: /nvmedata/autobuild/instance-5/output-1/host/lib/gcc/microblaze-buildroot-linux-uclibc/10.3.0/../../../../microblaze-buildroot-linux-uclibc/bin/ld: ./.libs/libnuma.a(libnuma.o): in function `numa_node_to_cpus_v1': (.text+0x2a34): undefined reference to `__atomic_fetch_and_1' Fixes: - http://autobuild.buildroot.org/results/e225cb83dae390d9dc543d4da85c52180efbd40a Signed-off-by: Fabrice Fontaine Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/numactl/Config.in | 1 + package/rt-tests/Config.in | 2 ++ 2 files changed, 3 insertions(+) diff --git a/package/numactl/Config.in b/package/numactl/Config.in index 23cf7facb0..325a05d609 100644 --- a/package/numactl/Config.in +++ b/package/numactl/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_NUMACTL bool "numactl" depends on BR2_USE_MMU # madvise() + depends on BR2_TOOLCHAIN_HAS_ATOMIC help numactl allows you to run your application on specific cpus and memory nodes. It does this by supplying a NUMA memory diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index 8efa3d194e..ccfa040d70 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_RT_TESTS bool "rt-tests" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + depends on BR2_TOOLCHAIN_HAS_ATOMIC # numactl depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_USE_MMU # fork(), numactl @@ -32,6 +33,7 @@ comment "rt-tests may not work on MIPS with an external uClibc toolchain" comment "rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 4.5, dynamic library" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ || BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_USE_MMU