Date: Sun, 1 Jun 2014 18:28:17 +0200 From: Tijl Coosemans <tijl@FreeBSD.org> To: gnome@FreeBSD.org Subject: [patch] devel/glib20: fix crash in multimedia/vlc Message-ID: <20140601182817.5c68df56@kalimero.tijl.coosemans.org>
next in thread | raw e-mail | index | archive | help
--MP_/DY/Wlnh4A/yXTSmMgQJzp+b Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, The attached patch fixes these PRs for multimedia/vlc (all duplicates): http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/172185 http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/183683 http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/186629 The vlc-cache-gen program dlopens each plugin, looks for some symbols (like a description string), stores that into a cache file and then dlcloses the plugin. For some combinations of options this causes libgobject to be loaded, unloaded and then loaded again (as a dependency of some plugins). This is not supported. See: https://bugzilla.gnome.org/show_bug.cgi?id=707298 https://git.gnome.org/browse/glib/commit/?h=glib-2-40&id=3662eb9759fe225d1c214db6927c667a1b733e8a The attached patch has been derived from that commit. It adds -Wl,-z,nodelete to the libgobject linker flags. Ok to commit? --MP_/DY/Wlnh4A/yXTSmMgQJzp+b Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=glib20.patch Index: devel/glib20/Makefile =================================================================== --- devel/glib20/Makefile (revision 355871) +++ devel/glib20/Makefile (working copy) @@ -4,7 +4,7 @@ PORTNAME= glib PORTVERSION= 2.36.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= GNOME DIST_SUBDIR= gnome2 Index: devel/glib20/files/patch-gobject_Makefile.in =================================================================== --- devel/glib20/files/patch-gobject_Makefile.in (revision 355871) +++ devel/glib20/files/patch-gobject_Makefile.in (working copy) @@ -1,6 +1,15 @@ --- gobject/Makefile.in.orig 2012-05-03 11:42:11.000000000 +0200 +++ gobject/Makefile.in 2012-05-03 11:42:51.000000000 +0200 -@@ -1381,7 +1381,7 @@ +@@ -565,7 +565,7 @@ + @OS_WIN32_AND_DLL_COMPILATION_TRUE@gobject_win32_res = gobject-win32-res.o + @OS_WIN32_AND_DLL_COMPILATION_TRUE@gobject_win32_res_ldflag = -Wl,$(gobject_win32_res) + libgobjectincludedir = $(includedir)/glib-2.0/gobject +-libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \ ++libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) -Wl,-z,nodelete \ + $(gobject_win32_res_ldflag) \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -export-dynamic $(no_undefined) +@@ -1331,7 +1331,7 @@ info-am: @@ -9,7 +18,7 @@ install-libgobjectincludeHEADERS install-tapsetDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook -@@ -1649,9 +1649,7 @@ +@@ -1586,9 +1586,7 @@ uninstall-gdb: -rm -r $(DESTDIR)$(datadir)/gdb --MP_/DY/Wlnh4A/yXTSmMgQJzp+b--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140601182817.5c68df56>