components/desktop/pulseaudio/patches/01-ld-nodelete.patch
changeset 7557 d7e607817552
parent 7556 51e515988b39
child 7560 9732971b7855
equal deleted inserted replaced
7556:51e515988b39 7557:d7e607817552
     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