diff --git a/configure.ac b/configure.ac index 2a820b91d..0084c86e4 100644 --- a/configure.ac +++ b/configure.ac @@ -213,6 +213,9 @@ AC_SUBST([VERSIONING_LDFLAGS]) # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later. AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS]) AC_SUBST([IMMEDIATE_LDFLAGS]) +AS_CASE([$IMMEDIATE_LDFLAGS],[*-z,now*], + [AC_DEFINE([HAVE_BIND_NOW],[1], + [Define to 1 if immediate binding is available])]) # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly, # so we request the nodelete flag to be enabled. diff --git a/src/daemon/main.c b/src/daemon/main.c index 55af4eca6..c80fa9437 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -397,7 +397,7 @@ int main(int argc, char *argv[]) { pa_log_set_level(PA_LOG_NOTICE); pa_log_set_flags(PA_LOG_COLORS|PA_LOG_PRINT_FILE|PA_LOG_PRINT_LEVEL, PA_LOG_RESET); -#if defined(__linux__) && defined(__OPTIMIZE__) +#if !defined(HAVE_BIND_NOW) && defined(__linux__) && defined(__OPTIMIZE__) /* Disable lazy relocations to make usage of external libraries more deterministic for our RT threads. We abuse __OPTIMIZE__ as