[Buildroot] [git commit] package/leveldb: link with libatomic when needed

Arnout Vandecappelle (Essensium/Mind) arnout at mind.be
Tue Oct 29 21:23:46 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=5e637981702d915c3342f71d9e62b17115a9f5cf
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

On some architectures, atomic operations are provided by the libatomic
library from gcc. Linking with libatomic is therefore necessary,
otherwise the build fails with:

/home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: libleveldb.so.1.22.0: undefined reference to `__atomic_fetch_sub_4'

This is often for example the case on sparcv8 32 bit.

Fixes:
 - http://autobuild.buildroot.net/results/257a820bb87a874ce0e2152d2752845be972fabe

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
 package/leveldb/leveldb.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk
index 8aabc7e7a7..5baf56c718 100644
--- a/package/leveldb/leveldb.mk
+++ b/package/leveldb/leveldb.mk
@@ -11,4 +11,8 @@ LEVELDB_LICENSE_FILES = LICENSE
 LEVELDB_INSTALL_STAGING = YES
 LEVELDB_DEPENDENCIES = snappy
 
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+LEVELDB_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
+endif
+
 $(eval $(cmake-package))


More information about the buildroot mailing list