mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
daemon: don't re-exec if the linker supports the -z,now option
Usually PulseAudio is built with a linker that supports the -z,now option, and that option should have the same effect (i.e. the dynamic linker resolves all symbols when the program is started) as re-execing with the LD_BIND_NOW environment variable set, so usually the re-execing is redundant. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104789
This commit is contained in:
parent
f250341b80
commit
6d7e057b37
2 changed files with 4 additions and 1 deletions
|
|
@ -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.
|
# 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])
|
AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
|
||||||
AC_SUBST([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,
|
# 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.
|
# so we request the nodelete flag to be enabled.
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,7 @@ int main(int argc, char *argv[]) {
|
||||||
pa_log_set_level(PA_LOG_NOTICE);
|
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);
|
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
|
Disable lazy relocations to make usage of external libraries
|
||||||
more deterministic for our RT threads. We abuse __OPTIMIZE__ as
|
more deterministic for our RT threads. We abuse __OPTIMIZE__ as
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue