Use -Bsymbolic-functions and -Bsymbolic

This avoids dynamic lookups to resolve symbols inside the library, but
disallows symbol interposition.

* m4/symbolic.m4: New file.
* buddy/m4/symbolic.m4: New link.
* configure.ac, buddy/configure.ac: Add AX_SYMBOLIC.
* buddy/src/Makefile.am, iface/ltsmin/Makefile.am, src/Makefile.am,
wrap/python/Makefile.am: Link with $(SYMBOLIC_LDFLAGS).
This commit is contained in:
Alexandre Duret-Lutz 2015-11-10 08:31:54 +01:00
parent 0553842347
commit 86abd6c1c0
8 changed files with 40 additions and 4 deletions

View file

@ -36,7 +36,7 @@ MAINTAINERCLEANFILES = \
## spot
_spot_impl_la_SOURCES = $(srcdir)/spot_impl_wrap.cxx
_spot_impl_la_LDFLAGS = -avoid-version -module
_spot_impl_la_LDFLAGS = -avoid-version -module -no-undefined $(SYMBOLIC_LDFLAGS)
_spot_impl_la_LIBADD = $(top_builddir)/src/libspot.la
$(srcdir)/spot_impl_wrap.cxx: $(srcdir)/spot_impl.i
@ -49,7 +49,8 @@ $(srcdir)/spot_impl.py: $(srcdir)/spot_impl.i
## buddy
_buddy_la_SOURCES = $(srcdir)/buddy_wrap.cxx
_buddy_la_LDFLAGS = -avoid-version -module $(BUDDY_LDFLAGS)
_buddy_la_LDFLAGS = -avoid-version -module $(BUDDY_LDFLAGS) \
-no-undefined $(SYMBOLIC_LDFLAGS)
$(srcdir)/buddy_wrap.cxx: $(srcdir)/buddy.i
$(SWIG) -c++ -python $(BUDDY_CPPFLAGS) $(srcdir)/buddy.i