Skip site navigation (1)Skip section navigation (2)
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>