From 8b7999f8e0f797a593ac2f4697ba3be983b421ae Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 30 Aug 2010 07:39:56 -0400 Subject: [PATCH] config: use libtool -export-dynamic option for reverse dependencies This replaces -rdynamic which is a GNU/Linux only solution. "If symbols from your executable are needed to satisfy unresolved references in a library you want to dlopen you will have to use the flag -export-dynamic. You should use -export-dynamic while linking the executable that calls dlopen." It is used by the xserver, in Xdmx for example. Signed-off-by: Gaetan Nadon --- Makefile.am | 5 ++++- configure.ac | 9 --------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Makefile.am b/Makefile.am index fa1b0c4..15abb8c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,7 +45,10 @@ AM_CFLAGS = $(CWARNFLAGS) # xdm_CFLAGS = $(XDM_CFLAGS) -xdm_LDADD = $(XDM_LIBS) $(XDM_LDFLAGS) +# The xdm binary needs to export symbols so that they can be used from +# libXdmGreet.so loaded through a dlopen call from session.c +xdm_LDFLAGS = -export-dynamic +xdm_LDADD = $(XDM_LIBS) xdm_SOURCES = \ auth.c \ --- xdm-1.1.10/configure.ac.orig 2011-08-25 12:23:38.000000000 +0200 +++ xdm-1.1.10/configure.ac 2011-08-25 13:51:34.000000000 +0200 @@ -408,14 +408,6 @@ if test "x$DYNAMIC_GREETER" = "xyes" ; t GREETER_CFLAGS="$GREETER_CFLAGS -DGREET_LIB" - # The xdm binary needs to export symbols so that they can be used from - # libXdmGreet.so. Some platforms require extra flags to do this. - # gcc should set these flags when -rdynamic is passed to it, other - # compilers/linkers may need to be added - if test "x$GCC" = "xyes"; then - XDM_LDFLAGS="$XDM_LDFLAGS -rdynamic" - fi - PKG_CHECK_MODULES(XDMGREET, xt x11 xext) GREETERLIB="${XDMLIBDIR}/libXdmGreet.so" @@ -471,7 +463,6 @@ AC_SEARCH_LIBS(crypt, crypt) AC_SUBST(XDM_CFLAGS) AC_SUBST(XDM_LIBS) -AC_SUBST(XDM_LDFLAGS) # # xdmshell