diff mbox series

[v2,1/1] package/numactl: needs atomic

Message ID 20220508191141.1270350-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [v2,1/1] package/numactl: needs atomic | expand

Commit Message

Fabrice Fontaine May 8, 2022, 7:11 p.m. UTC
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 <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2 (after review of Thomas Petazzoni):
 - Reword commit message

 package/numactl/Config.in  | 1 +
 package/rt-tests/Config.in | 2 ++
 2 files changed, 3 insertions(+)

Comments

Arnout Vandecappelle May 13, 2022, 10:10 p.m. UTC | #1
On 08/05/2022 21:11, Fabrice Fontaine wrote:
> 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 <fontaine.fabrice@gmail.com>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
> Changes v1 -> v2 (after review of Thomas Petazzoni):
>   - Reword commit message
> 
>   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
Peter Korsgaard May 28, 2022, 11:04 a.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > 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 <fontaine.fabrice@gmail.com>
 > ---
 > Changes v1 -> v2 (after review of Thomas Petazzoni):
 >  - Reword commit message

Committed to 2022.02.x, thanks.
diff mbox series

Patch

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