From: Bernd Kuhls Date: Thu, 25 May 2017 07:19:34 +0000 (+0200) Subject: package/redis: fix static linking with libatomic X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=019ad605670670a51055fb5d27a2a1f374a33289;p=buildroot.git package/redis: fix static linking with libatomic Fixes http://autobuild.buildroot.net/results/7f1/7f1ecccbfdb6bd95824d9c884f1577e71e0e1e09/ http://autobuild.buildroot.net/results/c0b/c0b1bdcc5fbddf8b996b923015184d753882d4b8/ Signed-off-by: Bernd Kuhls [Thomas: - improve comment to explain the fix - remove useless LDFLAGS related code] Signed-off-by: Thomas Petazzoni --- diff --git a/package/redis/redis.mk b/package/redis/redis.mk index 3f4956cf34..458ed4f8ba 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -13,16 +13,21 @@ define REDIS_USERS redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server endef -# Uses __atomic_fetch_add_4 +# Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work, +# because LDFLAGS is used before the list of object files. We need to +# add -latomic to FINAL_LIBS to provide -latomic at the correct place +# in the linking command. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -REDIS_LIBATOMIC = -latomic +define REDIS_FIX_MAKEFILE + $(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile +endef +REDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE endif # Redis doesn't support DESTDIR (yet, see # https://github.com/antirez/redis/pull/609). We set PREFIX # instead. REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(TARGET_LDFLAGS) $(REDIS_LIBATOMIC)" \ PREFIX=$(TARGET_DIR)/usr MALLOC=libc define REDIS_BUILD_CMDS