1*4882a593SmuzhiyunFrom e0de0d9e981ddb53bdeb4a4b9dc43046c9ff4ff9 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3*4882a593SmuzhiyunDate: Thu, 6 May 2021 23:08:36 +0200 4*4882a593SmuzhiyunSubject: [PATCH] link with -latomic if needed 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunnumactl unconditionally uses __atomic_fetch_and but some architectures 7*4882a593Smuzhiyun(e.g. sparc) needs to link with -latomic to be able to use it. So check 8*4882a593Smuzhiyunif -latomic is needed and update numa.pc accordingly 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 11*4882a593Smuzhiyun[Retrieved from: 12*4882a593Smuzhiyunhttps://github.com/numactl/numactl/commit/e0de0d9e981ddb53bdeb4a4b9dc43046c9ff4ff9] 13*4882a593Smuzhiyun--- 14*4882a593Smuzhiyun Makefile.am | 1 + 15*4882a593Smuzhiyun configure.ac | 2 ++ 16*4882a593Smuzhiyun numa.pc.in | 1 + 17*4882a593Smuzhiyun 3 files changed, 4 insertions(+) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyundiff --git a/Makefile.am b/Makefile.am 20*4882a593Smuzhiyunindex 44d0d76..34f6815 100644 21*4882a593Smuzhiyun--- a/Makefile.am 22*4882a593Smuzhiyun+++ b/Makefile.am 23*4882a593Smuzhiyun@@ -151,6 +151,7 @@ SED_PROCESS = \ 24*4882a593Smuzhiyun -e 's,@exec_prefix\@,$(exec_prefix),g' \ 25*4882a593Smuzhiyun -e 's,@libdir\@,$(libdir),g' \ 26*4882a593Smuzhiyun -e 's,@includedir\@,$(includedir),g' \ 27*4882a593Smuzhiyun+ -e 's,@LIBS\@,$(LIBS),g' \ 28*4882a593Smuzhiyun < $< > $@ || rm $@ 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun %.pc: %.pc.in Makefile 31*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac 32*4882a593Smuzhiyunindex 659a765..e3b0eb3 100644 33*4882a593Smuzhiyun--- a/configure.ac 34*4882a593Smuzhiyun+++ b/configure.ac 35*4882a593Smuzhiyun@@ -24,6 +24,8 @@ AM_CONDITIONAL([HAVE_TREE_VECTORIZE], [test x"${tree_vectorize}" = x"true"]) 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun AC_CONFIG_FILES([Makefile]) 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun+AC_SEARCH_LIBS([__atomic_fetch_and_1], [atomic]) 40*4882a593Smuzhiyun+ 41*4882a593Smuzhiyun # GCC tries to be "helpful" and only issue a warning for unrecognized 42*4882a593Smuzhiyun # attributes. So we compile the test with Werror, so that if the 43*4882a593Smuzhiyun # attribute is not recognized the compilation fails 44*4882a593Smuzhiyundiff --git a/numa.pc.in b/numa.pc.in 45*4882a593Smuzhiyunindex 8a0f202..cc04d50 100644 46*4882a593Smuzhiyun--- a/numa.pc.in 47*4882a593Smuzhiyun+++ b/numa.pc.in 48*4882a593Smuzhiyun@@ -8,3 +8,4 @@ Description: NUMA policy library 49*4882a593Smuzhiyun Version: @VERSION@ 50*4882a593Smuzhiyun Cflags: -I${includedir} 51*4882a593Smuzhiyun Libs: -L${libdir} -lnuma 52*4882a593Smuzhiyun+Libs.Private: @LIBS@ 53