From 89f930a9649ed9e419c7d8b2372c684313069a5b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 1 Feb 2023 15:08:16 +0100 Subject: [PATCH] dumper: avoid linker problem when `libbfd` depends on `libsframe` 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 --- 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 b155cabe4..76baf0a7d 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 d4d56386f..f59cf9f50 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