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

@ -19,6 +19,7 @@ AC_PROG_YACC
AC_PROG_CXX
LT_INIT([win32-dll])
AX_BSYMBOLIC
# Use -Werror since using -fvisibility under MinGW is only a warning.
# (The option is ignored anyway since this does not make sense under windows).

1
buddy/m4/symbolic.m4 Symbolic link
View file

@ -0,0 +1 @@
../../m4/symbolic.m4

View file

@ -5,7 +5,7 @@ BUDDY_FLAGS = -I$(top_builddir) -DVERSION=23 -DBUDDY_DLL_EXPORTS -DBUDDY_DLL
lib_LTLIBRARIES = libbddx.la
# See the `Updating version info' node of the Libtool manual before
# changing this.
libbddx_la_LDFLAGS = -no-undefined -version-info 0:0:0
libbddx_la_LDFLAGS = -no-undefined -version-info 0:0:0 $(SYMBOLIC_LDFLAGS)
libbddx_la_CPPFLAGS = $(BUDDY_FLAGS)
libbddx_la_SOURCES = \
bddio.c \