[oe] [meta-networking][PATCH] opensaf: Add -latomic to LDFLAGS

mingli.yu at windriver.com mingli.yu at windriver.com
Mon May 22 09:42:08 UTC 2017


From: Mingli Yu <Mingli.Yu at windriver.com>

* Add "-Wl,--as-needed -latomic -Wl,--no-as-needed"
  to LDFLAGS to let the libatomic handled automatically
  if required to fix below build error as atomic
  operations on some arch such as x86 are supplied by
  the compiler. For other arch which lacks the instructions,
  a standardized external call provided by external library
  libatomic will be made to perform the operation.

  | src/amf/amfd/bin_osafamfd-main.o: In function `std::__atomic_base<unsigned long long>::load(std::memory_order) const':
  | $Prj/build/tmp/work/ppc7400-wrs-linux/opensaf/5.2.0-r0/recipe-sysroot/usr/include/c++/6.3.0/bits/atomic_base.h:396: undefined reference to `__atomic_load_8'
  | $Prj/build/tmp/work/ppc7400-wrs-linux/opensaf/5.2.0-r0/recipe-sysroot/usr/include/c++/6.3.0/bits/atomic_base.h:396: undefined reference to `__atomic_load_8'
  | collect2: error: ld returned 1 exit status
  | make[2]: *** [Makefile:8200: bin/osafamfd] Error 1
  | make[2]: *** Waiting for unfinished jobs....
  | make[2]: Leaving directory '$Prj/build/tmp/work/ppc7400-wrs-linux/opensaf/5.2.0-r0/build'
  | make[1]: *** [Makefile:19749: all-recursive] Error 1
  | make[1]: Leaving directory '$Prj/build/tmp/work/ppc7400-wrs-linux/opensaf/5.2.0-r0/build'
  | make: *** [Makefile:6175: all] Error 2

 Reference: https://gcc.gnu.org/wiki/Atomic/GCCMM/LIbrary#line-23

Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
---
 meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
index babf03e..be79ba8 100644
--- a/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
+++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
@@ -43,6 +43,8 @@ PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' sys
 
 PKGLIBDIR="${libdir}"
 
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
 do_install_append() {
     cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
     rm -fr "${D}${localstatedir}/lock"
-- 
2.8.1




More information about the Openembedded-devel mailing list