406f70416e
When bdw-gc is linked with libatomic_ops, bdw-gc.pc must contain the needed libraries (such as -latomic_ops) otherwise build of applications such as guile will fail on link stage: .libs/libguile_2.0_la-posix.o: In function `scm_tmpnam': posix.c:(.text+0x2080): warning: the use of `tmpnam' is dangerous, better use `mkstemp' CCLD guile /home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_fetch_compare_and_swap_emulation' /home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_store_full_emulation' So set ATOMIC_OPS_LIBS to -latomic_ops when a system atomic_ops library is used and use ATOMIC_OPS_LIBS in bdw-gc.pc.in Fixes: - http://autobuild.buildroot.org/results/2b23d445e57a5e0f417f5cb9417b0a668bb7bf1c Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
58 lines
2.3 KiB
Diff
58 lines
2.3 KiB
Diff
From b549c7faa9903340b09ef2592a2c7c213a110220 Mon Sep 17 00:00:00 2001
|
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Date: Mon, 5 Nov 2018 22:50:40 +0100
|
|
Subject: [PATCH] fix link with of bdw-gc with a system atomic_ops
|
|
|
|
When bdw-gc is linked with libatomic_ops, bdw-gc.pc must contain the
|
|
needed libraries (such as -latomic_ops) otherwise build of applications
|
|
such as guile will fail on link stage:
|
|
|
|
.libs/libguile_2.0_la-posix.o: In function `scm_tmpnam':
|
|
posix.c:(.text+0x2080): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
|
|
CCLD guile
|
|
/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_fetch_compare_and_swap_emulation'
|
|
/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_store_full_emulation'
|
|
|
|
So set ATOMIC_OPS_LIBS to -latomic_ops when a system atomic_ops library
|
|
is used and use ATOMIC_OPS_LIBS in bdw-gc.pc.in
|
|
|
|
Fixes:
|
|
- http://autobuild.buildroot.org/results/2b23d445e57a5e0f417f5cb9417b0a668bb7bf1c
|
|
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
[Upstream status: https://github.com/ivmai/bdwgc/pull/247]
|
|
---
|
|
bdw-gc.pc.in | 2 +-
|
|
configure.ac | 4 +++-
|
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/bdw-gc.pc.in b/bdw-gc.pc.in
|
|
index ef4c2341..9fc42465 100644
|
|
--- a/bdw-gc.pc.in
|
|
+++ b/bdw-gc.pc.in
|
|
@@ -6,5 +6,5 @@ includedir=@includedir@
|
|
Name: Boehm-Demers-Weiser Conservative Garbage Collector
|
|
Description: A garbage collector for C and C++
|
|
Version: @PACKAGE_VERSION@
|
|
-Libs: -L${libdir} -lgc
|
|
+Libs: -L${libdir} -lgc @ATOMIC_OPS_LIBS@
|
|
Cflags: -I${includedir}
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 21abe8fa..9ffe81de 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -1081,7 +1081,9 @@ AS_IF([test x"$with_libatomic_ops" = xno \
|
|
AC_MSG_CHECKING([which libatomic_ops to use])
|
|
AS_IF([test x"$with_libatomic_ops" != xno],
|
|
[ AS_IF([test x"$with_libatomic_ops" != xnone -a x"$THREADS" != xnone],
|
|
- [ AC_MSG_RESULT([external]) ],
|
|
+ [ AC_MSG_RESULT([external])
|
|
+ ATOMIC_OPS_LIBS="-latomic_ops"
|
|
+ AC_SUBST([ATOMIC_OPS_LIBS]) ],
|
|
[ AC_MSG_RESULT([none])
|
|
AS_IF([test x"$THREADS" != xnone],
|
|
[ AC_DEFINE([GC_BUILTIN_ATOMIC], [1],
|
|
--
|
|
2.17.1
|
|
|