redis: Fix build with clang/x86

Need to link with libatomics for 64bit atomics support
Fixes
i686-yoe-linux/i686-yoe-linux-ld: networking.o: in function `createClient':
| /usr/src/debug/redis/4.0.14-r0/redis-4.0.14/src/networking.c:103: undefined reference to `__atomic_fetch_add_8'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2019-09-10 20:40:10 -07:00
parent b5767f5928
commit 2b49254d61
2 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,32 @@
From 97584e1eb78dc18599534b47b6670c20c63f5ee2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 10 Sep 2019 20:04:26 -0700
Subject: [PATCH] src: Do not reset FINAL_LIBS
This helps case where additional libraries are needed to be passed from
environment to get it going
e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
index 7f7c625..c71dd3b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -66,7 +66,7 @@ endif
FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
-FINAL_LIBS=-lm
+FINAL_LIBS+=-lm
DEBUG=-g -ggdb
ifeq ($(uname_S),SunOS)
--
2.23.0

View File

@ -11,6 +11,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://lua-update-Makefile-to-use-environment-build-setting.patch \
file://oe-use-libc-malloc.patch \
file://Fixed-stack-trace-generation-on-aarch64.patch \
file://0001-src-Do-not-reset-FINAL_LIBS.patch \
file://redis.conf \
file://init-redis-server \
file://redis.service \
@ -25,11 +26,13 @@ SRC_URI[sha256sum] = "1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a08758
inherit autotools-brokensep update-rc.d systemd useradd
FINAL_LIBS_x86_toolchain-clang = "-latomic"
export FINAL_LIBS
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
GROUPADD_PARAM_${PN} = "--system redis"
REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
do_compile_prepend() {