[PATCH] dumper: avoid linker problem when `libbfd` depends on `libsframe`
Johannes Schindelin
johannes.schindelin@gmx.de
Wed Feb 1 14:08:16 GMT 2023
A recent binutils version introduced `libsframe` and made it a
dependency of `libbfd`. This caused a linker problem in the MSYS2
project, and once Cygwin upgrades to that binutils version it would
cause the same problems there.
Let's preemptively detect the presence of `libsframe` and if detected,
link to it in addition to `libbfd`.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Published-As: https://github.com/dscho/msys2-runtime/releases/tag/do-link-libsframe-if-available-v1
Fetch-It-Via: git fetch https://github.com/dscho/msys2-runtime do-link-libsframe-if-available-v1
winsup/configure.ac | 5 +++++
winsup/utils/Makefile.am | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/winsup/configure.ac b/winsup/configure.ac
index b155cabe43..76baf0a7da 100644
--- a/winsup/configure.ac
+++ b/winsup/configure.ac
@@ -118,6 +118,11 @@ AC_ARG_ENABLE([dumper],
AM_CONDITIONAL(BUILD_DUMPER, [test "x$build_dumper" = "xyes"])
+AC_CHECK_LIB([sframe], [sframe_decode],
+ AC_MSG_NOTICE([Detected libsframe; Assuming that libbfd depends on it]), [true])
+
+AM_CONDITIONAL(HAVE_LIBSFRAME, [test "x$ac_cv_lib_sframe_sframe_decode" = "xyes"])
+
AC_CONFIG_FILES([
Makefile
cygwin/Makefile
diff --git a/winsup/utils/Makefile.am b/winsup/utils/Makefile.am
index d4d56386f7..f59cf9f50c 100644
--- a/winsup/utils/Makefile.am
+++ b/winsup/utils/Makefile.am
@@ -89,6 +89,10 @@ profiler_LDADD = $(LDADD) -lntdll
cygps_LDADD = $(LDADD) -lpsapi -lntdll
newgrp_LDADD = $(LDADD) -luserenv
+if HAVE_LIBSFRAME
+dumper_LDADD += -lsframe
+endif
+
if CROSS_BOOTSTRAP
SUBDIRS = mingw
endif
base-commit: 3a4c740f59c03b4c8346fa0ee8599b1c0582ae96
--
2.39.1
More information about the Cygwin-patches
mailing list