1 Fixes the application of -znodelete, both at configure time and build time; |
|
2 submitted upstream, accepted for next release |
|
3 |
|
4 90878 nodelete linker configure test is wrong and is wrongly applied to executables |
|
5 https://bugs.freedesktop.org/show_bug.cgi?id=90878 |
|
6 |
|
7 --- pulseaudio-6.0/configure.ac 2015-02-12 13:40:53.687711343 -0700 |
|
8 +++ pulseaudio-6.0/configure.ac 2015-06-05 06:10:35.000000000 -0800 |
|
9 @@ -212,7 +212,7 @@ |
|
10 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly, |
|
11 # so we request the nodelete flag to be enabled. |
|
12 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell. |
|
13 -AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS]) |
|
14 +AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS], [-shared]) |
|
15 AC_SUBST([NODELETE_LDFLAGS]) |
|
16 |
|
17 # Check for the proper way to build libraries that have no undefined symbols |
|
18 --- pulseaudio-6.0/src/Makefile.am 2015-02-12 06:10:35.000000000 -0800 |
|
19 +++ pulseaudio-6.0/src/Makefile.am 2015-06-05 16:05:06.407285790 -0700 |
|
20 @@ -54,7 +54,9 @@ |
|
21 |
|
22 AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS) |
|
23 AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) |
|
24 -AM_LDFLAGS = $(NODELETE_LDFLAGS) |
|
25 +AM_LDFLAGS = |
|
26 +# Should only be applied to libraries. |
|
27 +AM_LIBLDFLAGS = $(NODELETE_LDFLAGS) |
|
28 |
|
29 if HAVE_GCOV |
|
30 AM_CFLAGS+=$(GCOV_CFLAGS) |
|
31 @@ -77,7 +79,7 @@ |
|
32 |
|
33 FOREIGN_CFLAGS = -w |
|
34 |
|
35 -MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS) |
|
36 +MODULE_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS) |
|
37 MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
38 |
|
39 ################################### |
|
40 @@ -712,7 +714,7 @@ |
|
41 endif |
|
42 |
|
43 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS) $(LIBSNDFILE_CFLAGS) |
|
44 -libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
45 +libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
46 libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBJSON_LIBS) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS) |
|
47 |
|
48 if HAVE_X11 |
|
49 @@ -862,7 +864,7 @@ |
|
50 |
|
51 libpulse_la_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS) |
|
52 libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBJSON_LIBS) libpulsecommon-@[email protected] |
|
53 -libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO) |
|
54 +libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO) |
|
55 |
|
56 if HAVE_DBUS |
|
57 li1Gbpulse_la_CFLAGS += $(DBUS_CFLAGS) |
|
58 @@ -872,12 +874,12 @@ |
|
59 libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h |
|
60 1Glibpulse_simple_la_CFLAGS = $(AM_CFLAGS) |
|
61 libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@[email protected] |
|
62 -libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO) |
|
63 +libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO) |
|
64 |
|
65 libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c |
|
66 libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS) |
|
67 libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@[email protected] $(GLIB20_LIBS) |
|
68 -libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO) |
|
69 +libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO) |
|
70 |
|
71 ################################### |
|
72 # OSS emulation # |
|
73 @@ -901,7 +903,7 @@ |
|
74 libpulsedsp_la_SOURCES = utils/padsp.c |
|
75 libpulsedsp_la_CFLAGS = $(AM_CFLAGS) |
|
76 libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@[email protected] |
|
77 -libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -disable-static |
|
78 +libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version -disable-static |
|
79 |
|
80 ################################### |
|
81 # Daemon core library # |
|
82 @@ -961,7 +963,7 @@ |
|
83 pulsecore/database.h |
|
84 |
|
85 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS) |
|
86 -libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
87 +libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
88 libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@[email protected] libpulse.la libpulsecore-foreign.la |
|
89 |
|
90 if HAVE_NEON |
|
91 @@ -1070,24 +1072,24 @@ |
|
92 endif |
|
93 |
|
94 libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h |
|
95 -libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
96 +libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
97 libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
98 |
|
99 libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h |
|
100 -libcli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
101 +libcli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
102 libcli_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
103 |
|
104 libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h |
|
105 -libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
106 +libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
107 libprotocol_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la libcli.la |
|
108 |
|
109 libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h pulsecore/mime-type.c pulsecore/mime-type.h |
|
110 -libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
111 +libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
112 libprotocol_http_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
113 |
|
114 libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h |
|
115 libprotocol_native_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) |
|
116 -libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
117 +libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
118 libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
119 if HAVE_DBUS |
|
120 libprotocol_native_la_CFLAGS += $(DBUS_CFLAGS) |
|
121 @@ -1096,7 +1098,7 @@ |
|
122 |
|
123 if HAVE_ESOUND |
|
124 libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h |
|
125 -libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
126 +libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
127 libprotocol_esound_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
128 endif |
|
129 |
|
130 @@ -1106,19 +1108,19 @@ |
|
131 modules/rtp/sap.c modules/rtp/sap.h \ |
|
132 modules/rtp/rtsp_client.c modules/rtp/rtsp_client.h \ |
|
133 modules/rtp/headerlist.c modules/rtp/headerlist.h |
|
134 -librtp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
135 +librtp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
136 librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
137 |
|
138 libraop_la_SOURCES = \ |
|
139 modules/raop/raop_client.c modules/raop/raop_client.h \ |
|
140 modules/raop/base64.c modules/raop/base64.h |
|
141 libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp |
|
142 -libraop_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
143 +libraop_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
144 libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@[email protected] librtp.la libpulsecommon-@[email protected] libpulse.la |
|
145 |
|
146 # Avahi |
|
147 libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h |
|
148 -libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version |
|
149 +libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version |
|
150 libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) |
|
151 libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore-@[email protected] libpulsecommon-@[email protected] libpulse.la |
|
152 |
|