summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-05-04 19:21:58 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2018-05-04 19:25:16 +0200
commitcacaa4a1616d7c0ea370ff197d816f706909bde5 (patch)
tree70cae92ad01846cdeda2d0df8a2ecd3992730a0e
parent686eba9bfcdd229bc1e40c75a220cfd379d15b8c (diff)
configure: Check separately for lib implementing dlopen and dlsym
Sometimes the library probiding dlopen is not the same one providing dlsym. This is the case when compiling with AddressSanitizer enabled. In this case, AC_SEARCH_LIBS([dlopen]...) reports no lib is required, but tests using dlsym still require to link against -ldl. Change-Id: Ic619b0885688066b60c97caf1e2c7e5402c1d9f7
-rw-r--r--configure.ac6
-rw-r--r--src/Makefile.am2
-rw-r--r--tests/Makefile.am6
3 files changed, 8 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 7f2aabd1..6f561767 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,8 +58,10 @@ AC_HEADER_STDC
AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h netinet/tcp.h)
# for src/conv.c
AC_FUNC_ALLOCA
-AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""])
-AC_SUBST(LIBRARY_DL)
+AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""])
+AC_SUBST(LIBRARY_DLOPEN)
+AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""])
+AC_SUBST(LIBRARY_DLSYM)
# for src/backtrace.c
AC_CHECK_LIB(execinfo, backtrace, BACKTRACE_LIB=-lexecinfo, BACKTRACE_LIB=)
AC_SUBST(BACKTRACE_LIB)
diff --git a/src/Makefile.am b/src/Makefile.am
index 60b76b57..2a77d5e3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -49,7 +49,7 @@ libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined
if ENABLE_PLUGIN
libosmocore_la_SOURCES += plugin.c
-libosmocore_la_LIBADD += $(LIBRARY_DL)
+libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
endif
if ENABLE_MSGFILE
diff --git a/tests/Makefile.am b/tests/Makefile.am
index cca128dd..70b5cb81 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -132,17 +132,17 @@ gb_bssgp_fc_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la \
$(top_builddir)/src/gsm/libosmogsm.la
gb_gprs_bssgp_test_SOURCES = gb/gprs_bssgp_test.c
-gb_gprs_bssgp_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL) \
+gb_gprs_bssgp_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
$(top_builddir)/src/gsm/libosmogsm.la
gb_gprs_ns_test_SOURCES = gb/gprs_ns_test.c
-gb_gprs_ns_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL) \
+gb_gprs_ns_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
$(top_builddir)/src/gsm/libosmogsm.la
logging_logging_test_SOURCES = logging/logging_test.c
fr_fr_test_SOURCES = fr/fr_test.c
-fr_fr_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL) \
+fr_fr_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
$(top_builddir)/src/gsm/libosmogsm.la
codec_codec_test_SOURCES = codec/codec_test.c