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
4ed540ddf5:

/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 <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine
2022-05-08 21:11:41 +02:00
committed by Arnout Vandecappelle (Essensium/Mind)
parent bb40efa6f4
commit 5ade3ecdb8
2 changed files with 3 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_NUMACTL config BR2_PACKAGE_NUMACTL
bool "numactl" bool "numactl"
depends on BR2_USE_MMU # madvise() depends on BR2_USE_MMU # madvise()
depends on BR2_TOOLCHAIN_HAS_ATOMIC
help help
numactl allows you to run your application on specific cpus numactl allows you to run your application on specific cpus
and memory nodes. It does this by supplying a NUMA memory and memory nodes. It does this by supplying a NUMA memory

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_RT_TESTS config BR2_PACKAGE_RT_TESTS
bool "rt-tests" bool "rt-tests"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics 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_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
depends on BR2_USE_MMU # fork(), numactl 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" 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_SYNC_4
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \
|| BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
depends on BR2_USE_MMU depends on BR2_USE_MMU