build: fix overlinking to libdw

We have two AC_CHECK_LIB checks for libdw. The first one has an empty
action-if-found, so it defaults to adding "-ldw" to LIBS. LIBS are
applied to everything we build. But only systemd-coredump needs libdw.
It already links to ELFUTILS_LIBS correctly in Makefile.am.

Drop the first AC_CHECK_LIB check. The second check is sufficient.

Q: Don't we already use "-Wl,--as-needed" to eliminate overlinking?
A: We do, but it is effective only for executables, not for shared
   libraries. This is due to a libtool bug:
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347650
This commit is contained in:
Michal Schmidt 2015-10-13 16:52:53 +02:00
parent c7e2496a21
commit 7f7bfcf3cf

View file

@ -788,14 +788,6 @@ if test "x${have_elfutils}" != xno ; then
AC_MSG_ERROR([*** ELFUTILS headers not found.])
fi])
AC_CHECK_LIB(
[dw],
[dwfl_begin],
[],
[if test "x$have_elfutils" = xyes ; then
AC_MSG_ERROR([*** ELFUTILS libs not found.])
fi])
AC_CHECK_LIB(
[dw],
[dwfl_core_file_attach],