diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-05-04 19:21:58 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-05-04 19:25:16 +0200 |
commit | cacaa4a1616d7c0ea370ff197d816f706909bde5 (patch) | |
tree | 70cae92ad01846cdeda2d0df8a2ecd3992730a0e | |
parent | 686eba9bfcdd229bc1e40c75a220cfd379d15b8c (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.ac | 6 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 6 |
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 |