From owner-freebsd-gnome@FreeBSD.ORG Sun Jun 1 16:28:27 2014 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 422DFCA5 for ; Sun, 1 Jun 2014 16:28:27 +0000 (UTC) Received: from mailrelay008.isp.belgacom.be (mailrelay008.isp.belgacom.be [195.238.6.174]) by mx1.freebsd.org (Postfix) with ESMTP id D48812A3A for ; Sun, 1 Jun 2014 16:28:26 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlEKACdUi1NbsUMn/2dsb2JhbABZgwdSSwqtHwGWPhd0gwJfNCpAiD0BCKF8s1QXjm+EKgSRUogtgT+Rb4M6Oy8 Received: from 39.67-177-91.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([91.177.67.39]) by relay.skynet.be with ESMTP; 01 Jun 2014 18:28:19 +0200 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.8/8.14.8) with ESMTP id s51GSHOU008603 for ; Sun, 1 Jun 2014 18:28:18 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Sun, 1 Jun 2014 18:28:17 +0200 From: Tijl Coosemans To: gnome@FreeBSD.org Subject: [patch] devel/glib20: fix crash in multimedia/vlc Message-ID: <20140601182817.5c68df56@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/DY/Wlnh4A/yXTSmMgQJzp+b" X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jun 2014 16:28:27 -0000 --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--