pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/glib2
Module Name: pkgsrc
Committed By: prlw1
Date: Mon Oct 8 10:12:06 UTC 2018
Modified Files:
pkgsrc/devel/glib2: Makefile distinfo
pkgsrc/devel/glib2/patches: patch-aa patch-ak
Added Files:
pkgsrc/devel/glib2/patches: patch-gmodule_gmodule-ar.c
patch-gmodule_gmodule-dl.c patch-gmodule_gmodule-dyld.c
patch-gmodule_gmodule-win32.c patch-gmodule_gmodule.c
Removed Files:
pkgsrc/devel/glib2/patches: patch-ab patch-ac patch-ae
Log Message:
glib2's gobject subsystem is essentially a wrapper for dlopen. In
view of comments in PR lib/49791 which can be summarised as
"RTLD_GLOBAL is a bug", make gobject use RTLD_DEFAULT instead.
To generate a diff of this commit:
cvs rdiff -u -r1.242 -r1.243 pkgsrc/devel/glib2/Makefile
cvs rdiff -u -r1.235 -r1.236 pkgsrc/devel/glib2/distinfo
cvs rdiff -u -r1.61 -r1.62 pkgsrc/devel/glib2/patches/patch-aa
cvs rdiff -u -r1.14 -r0 pkgsrc/devel/glib2/patches/patch-ab
cvs rdiff -u -r1.10 -r0 pkgsrc/devel/glib2/patches/patch-ac
cvs rdiff -u -r1.5 -r0 pkgsrc/devel/glib2/patches/patch-ae
cvs rdiff -u -r1.20 -r1.21 pkgsrc/devel/glib2/patches/patch-ak
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-ar.c \
pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dl.c \
pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dyld.c \
pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-win32.c \
pkgsrc/devel/glib2/patches/patch-gmodule_gmodule.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/glib2/Makefile
diff -u pkgsrc/devel/glib2/Makefile:1.242 pkgsrc/devel/glib2/Makefile:1.243
--- pkgsrc/devel/glib2/Makefile:1.242 Wed Aug 22 09:43:31 2018
+++ pkgsrc/devel/glib2/Makefile Mon Oct 8 10:12:05 2018
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.242 2018/08/22 09:43:31 wiz Exp $
+# $NetBSD: Makefile,v 1.243 2018/10/08 10:12:05 prlw1 Exp $
-PKGREVISION= 1
+PKGREVISION= 2
.include "Makefile.common"
CATEGORIES= devel gnome
Index: pkgsrc/devel/glib2/distinfo
diff -u pkgsrc/devel/glib2/distinfo:1.235 pkgsrc/devel/glib2/distinfo:1.236
--- pkgsrc/devel/glib2/distinfo:1.235 Sun Aug 19 18:32:27 2018
+++ pkgsrc/devel/glib2/distinfo Mon Oct 8 10:12:05 2018
@@ -1,18 +1,15 @@
-$NetBSD: distinfo,v 1.235 2018/08/19 18:32:27 wiz Exp $
+$NetBSD: distinfo,v 1.236 2018/10/08 10:12:05 prlw1 Exp $
SHA1 (glib-2.56.2.tar.xz) = 8b18a92f81a8d033abfb43a628bae3bbaf71800c
RMD160 (glib-2.56.2.tar.xz) = 8fe9fd51a84ebe0f61b5cb2ab97325baa51c4eb3
SHA512 (glib-2.56.2.tar.xz) = 8201ea82d3613d2e879284abe01520b766da30957c5a1a22f3e6019b0cce6bf95d25beae78867b6a133401c4165153c0c92974dd459ab12f9e0e9dd0c95df5d4
Size (glib-2.56.2.tar.xz) = 8041756 bytes
SHA1 (patch-Makefile.in) = 4d587eb9ff27ff2b3489c59388319142e2fb6ced
-SHA1 (patch-aa) = 5aac049588b3f2cb63d86259cf9ebeed61081c52
-SHA1 (patch-ab) = 04bde955a2a588011a8c77ada4923d5464a0d544
-SHA1 (patch-ac) = 96e153339675457356f71e35d20375bed669d337
-SHA1 (patch-ae) = 09f16e8e14bdea3ee0e478d335f65cb66939e5f5
+SHA1 (patch-aa) = 01bdbcb6e49e440eefba966471a986215daec2e9
SHA1 (patch-af) = f21f5c5f799189885a3826fde8ad079f599ae26b
SHA1 (patch-ah) = d523967c88fc06f46de1d7f2eb04be65db04ada2
SHA1 (patch-aha) = ade66edd87a5e76a1256bd8bcdc9bc3dd614885c
-SHA1 (patch-ak) = a7dd9b100b05424a76476754c2ee9896b5ae6d26
+SHA1 (patch-ak) = 040c679220988b31bd9d3e5c80a4fc6c2551e067
SHA1 (patch-al) = af8428eeb6ce5e4dd70ddf972693df18d6c26d50
SHA1 (patch-am) = 99f54927d76580dfeda2a6b1909e1bea5dbdc293
SHA1 (patch-an) = 47986cfa2374ad4a89887bee5896d477a31f651f
@@ -28,6 +25,11 @@ SHA1 (patch-gio_inotify_inotify-kernel.c
SHA1 (patch-glib_gmain.c) = d09ff66e475ee52d37ac0dcb463110f690ce6511
SHA1 (patch-glib_gthread-posix.c) = ca93c8dc358453eb79b518c884464c90d7628888
SHA1 (patch-glib_gtimezone.c) = 3f72bc2ed4447d60871e66984a5e3a80ca8c75f4
+SHA1 (patch-gmodule_gmodule-ar.c) = e382a0ada232e083d51cbede7f689a50ebeff4d8
+SHA1 (patch-gmodule_gmodule-dl.c) = b678a04debbc79ebb67d91db7716990658e76da4
+SHA1 (patch-gmodule_gmodule-dyld.c) = 5adf62970d9cff22d451307aaa0b00d975dab138
+SHA1 (patch-gmodule_gmodule-win32.c) = 477a861f8590a62c3dbc0aa4ad728cc86ebb34dd
+SHA1 (patch-gmodule_gmodule.c) = 55c5f9d16e3517f3fdc04d40922f50d9c66b0b9a
SHA1 (patch-gobject_Makefile.am) = 6eed6b57f5ff0aa0dfb623110b23a3ff78aa4e75
SHA1 (patch-gobject_Makefile.in) = a4768ff7b0607a8a4dfbb2cff087a987b451fd18
SHA1 (patch-gobject_glib-genmarshal.in) = f21ca416d4eb4ad5a8ce3ffa053f8bcd2be8953a
Index: pkgsrc/devel/glib2/patches/patch-aa
diff -u pkgsrc/devel/glib2/patches/patch-aa:1.61 pkgsrc/devel/glib2/patches/patch-aa:1.62
--- pkgsrc/devel/glib2/patches/patch-aa:1.61 Wed Aug 1 17:43:25 2018
+++ pkgsrc/devel/glib2/patches/patch-aa Mon Oct 8 10:12:06 2018
@@ -1,20 +1,10 @@
-$NetBSD: patch-aa,v 1.61 2018/08/01 17:43:25 jperkin Exp $
+$NetBSD: patch-aa,v 1.62 2018/10/08 10:12:06 prlw1 Exp $
- solaris sun studio check and fix
- use pkgsrc libtool
-- broken dlopen(NULL,0) detection and workaround
- http://bugzilla.gnome.org/show_bug.cgi?id=140329
--- configure.orig 2018-04-07 02:37:11.000000000 +0000
+++ configure
-@@ -736,6 +736,7 @@ GIO
- GSPAWN
- GLIB_DEBUG_FLAGS
- G_MODULE_NEED_USCORE
-+G_MODULE_BROKEN_DLOPEN_NULL
- G_MODULE_BROKEN_RTLD_GLOBAL
- G_MODULE_HAVE_DLERROR
- G_MODULE_LDFLAGS
@@ -5512,6 +5513,9 @@ $as_echo_n "checking for Mac OS X Carbon
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -105,14 +95,6 @@ $NetBSD: patch-aa,v 1.61 2018/08/01 17:4
esac
if test "$ac_cv_func_statfs" = yes; then :
-@@ -25692,6 +25733,7 @@ else
- fi
- G_MODULE_NEED_USCORE=0
- G_MODULE_BROKEN_RTLD_GLOBAL=0
-+G_MODULE_BROKEN_DLOPEN_NULL=0
- G_MODULE_HAVE_DLERROR=0
- if test -z "$G_MODULE_IMPL"; then
- case "$host" in
@@ -25817,9 +25859,9 @@ if test "$G_MODULE_IMPL" = "G_MODULE_IM
LIBS="$G_MODULE_LIBS $LIBS"
LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
@@ -125,63 +107,6 @@ $NetBSD: patch-aa,v 1.61 2018/08/01 17:4
${LDFLAGS} -module -o plugin.la -export-dynamic \
-shrext ".o" -avoid-version plugin.lo \
-rpath /dont/care >/dev/null 2>&1
-@@ -25957,6 +25999,56 @@ fi
- LIBS="$LIBS_orig"
-
- fi
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen(NULL, 0) brokenness" >&5
-+$as_echo_n "checking for dlopen(NULL, 0) brokenness... " >&6; }
-+if ${glib_cv_dlopennull_broken+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+
-+ if test "$cross_compiling" = yes; then :
-+ glib_cv_dlopennull_broken=no
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+#include <stdio.h>
-+#include <dlfcn.h>
-+#ifndef RTLD_GLOBAL
-+# define RTLD_GLOBAL 0
-+#endif
-+#ifndef RTLD_LAZY
-+# define RTLD_LAZY 0
-+#endif
-+int gettext;
-+int main () {
-+ void *handle;
-+ handle = dlopen ("libm.so", RTLD_GLOBAL | RTLD_LAZY);
-+ if (!handle) return 0;
-+ handle = dlopen (NULL, 0);
-+ if (!handle) return 0;
-+ handle = dlsym (handle, "sin");
-+ return handle == NULL;
-+}
-+
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ glib_cv_dlopennull_broken=no
-+else
-+ glib_cv_dlopennull_broken=yes
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glib_cv_dlopennull_broken" >&5
-+$as_echo "$glib_cv_dlopennull_broken" >&6; }
-+ if test "x$glib_cv_dlopennull_broken" = "xyes"; then
-+ G_MODULE_BROKEN_DLOPEN_NULL=1
-+ else
-+ G_MODULE_BROKEN_DLOPEN_NULL=0
-+ fi
- if test -z "$G_MODULE_IMPL"; then
- G_MODULE_IMPL=0
- G_MODULE_SUPPORTED=false
@@ -25989,6 +26081,7 @@ fi
Index: pkgsrc/devel/glib2/patches/patch-ak
diff -u pkgsrc/devel/glib2/patches/patch-ak:1.20 pkgsrc/devel/glib2/patches/patch-ak:1.21
--- pkgsrc/devel/glib2/patches/patch-ak:1.20 Fri Oct 13 15:35:10 2017
+++ pkgsrc/devel/glib2/patches/patch-ak Mon Oct 8 10:12:06 2018
@@ -1,9 +1,7 @@
-$NetBSD: patch-ak,v 1.20 2017/10/13 15:35:10 prlw1 Exp $
+$NetBSD: patch-ak,v 1.21 2018/10/08 10:12:06 prlw1 Exp $
- solaris sun studio check and fix
- use pkgsrc libtool
-- broken dlopen(NULL,0) detection and workaround
- http://bugzilla.gnome.org/show_bug.cgi?id=140329
--- configure.ac.orig 2017-06-22 13:15:19.000000000 +0000
+++ configure.ac
@@ -43,14 +41,6 @@ $NetBSD: patch-ak,v 1.20 2017/10/13 15:3
esac
dnl
-@@ -1383,6 +1395,7 @@ fi
- dnl G_MODULE_IMPL= don't reset, so cmd-line can override
- G_MODULE_NEED_USCORE=0
- G_MODULE_BROKEN_RTLD_GLOBAL=0
-+G_MODULE_BROKEN_DLOPEN_NULL=0
- G_MODULE_HAVE_DLERROR=0
- dnl *** force native WIN32 shared lib loader
- if test -z "$G_MODULE_IMPL"; then
@@ -1427,9 +1440,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODUL
LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
@@ -63,53 +53,6 @@ $NetBSD: patch-ak,v 1.20 2017/10/13 15:3
${LDFLAGS} -module -o plugin.la -export-dynamic \
-shrext ".o" -avoid-version plugin.lo \
-rpath /dont/care >/dev/null 2>&1
-@@ -1496,6 +1509,38 @@ dnl *** check for having dlerror()
- [G_MODULE_HAVE_DLERROR=0])
- LIBS="$LIBS_orig"
- ])
-+dnl *** check for dlopen(NULL, 0) brokenness
-+ AC_CACHE_CHECK([for dlopen(NULL, 0) brokenness],
-+ glib_cv_dlopennull_broken,[
-+ AC_TRY_RUN([
-+#include <stdio.h>
-+#include <dlfcn.h>
-+#ifndef RTLD_GLOBAL
-+# define RTLD_GLOBAL 0
-+#endif
-+#ifndef RTLD_LAZY
-+# define RTLD_LAZY 0
-+#endif
-+int gettext;
-+int main () {
-+ void *handle;
-+ handle = dlopen ("libm.so", RTLD_GLOBAL | RTLD_LAZY);
-+ if (!handle) return 0;
-+ handle = dlopen (NULL, 0);
-+ if (!handle) return 0;
-+ handle = dlsym (handle, "sin");
-+ return handle == NULL;
-+}
-+ ],
-+ [glib_cv_dlopennull_broken=no],
-+ [glib_cv_dlopennull_broken=yes],
-+ [glib_cv_dlopennull_broken=no])
-+ ])
-+ if test "x$glib_cv_dlopennull_broken" = "xyes"; then
-+ G_MODULE_BROKEN_DLOPEN_NULL=1
-+ else
-+ G_MODULE_BROKEN_DLOPEN_NULL=0
-+ fi
- dnl *** done, have we got an implementation?
- if test -z "$G_MODULE_IMPL"; then
- G_MODULE_IMPL=0
-@@ -1525,6 +1570,7 @@ AC_SUBST(G_MODULE_PLUGIN_LIBS)
- AC_SUBST(G_MODULE_LDFLAGS)
- AC_SUBST(G_MODULE_HAVE_DLERROR)
- AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
-+AC_SUBST(G_MODULE_BROKEN_DLOPEN_NULL)
- AC_SUBST(G_MODULE_NEED_USCORE)
- AC_SUBST(GLIB_DEBUG_FLAGS)
-
@@ -1919,22 +1965,8 @@ AS_IF([ test x"$have_threads" = xposix],
G_THREAD_LIBS="-lpthread -lthread"
;;
Added files:
Index: pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-ar.c
diff -u /dev/null pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-ar.c:1.1
--- /dev/null Mon Oct 8 10:12:06 2018
+++ pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-ar.c Mon Oct 8 10:12:06 2018
@@ -0,0 +1,29 @@
+$NetBSD: patch-gmodule_gmodule-ar.c,v 1.1 2018/10/08 10:12:06 prlw1 Exp $
+
+https://gitlab.gnome.org/GNOME/glib/issues/19
+
+--- gmodule/gmodule-ar.c.orig 2017-07-13 23:03:39.000000000 +0000
++++ gmodule/gmodule-ar.c
+@@ -141,19 +141,10 @@ _g_module_self (void)
+ }
+
+ static void
+-_g_module_close (gpointer handle,
+- gboolean is_unref)
++_g_module_close (gpointer handle)
+ {
+- /* are there any systems out there that have dlopen()/dlclose()
+- * without a reference count implementation?
+- */
+- is_unref |= 1;
+-
+- if (is_unref)
+- {
+- if (dlclose (handle) != 0)
+- g_module_set_error (fetch_dlerror (TRUE));
+- }
++ if (dlclose (handle) != 0)
++ g_module_set_error (fetch_dlerror (TRUE));
+ }
+
+ static gpointer
Index: pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dl.c
diff -u /dev/null pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dl.c:1.1
--- /dev/null Mon Oct 8 10:12:06 2018
+++ pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dl.c Mon Oct 8 10:12:06 2018
@@ -0,0 +1,57 @@
+$NetBSD: patch-gmodule_gmodule-dl.c,v 1.1 2018/10/08 10:12:06 prlw1 Exp $
+
+RTLD_GLOBAL is a bug.
+https://gitlab.gnome.org/GNOME/glib/issues/19
+
+--- gmodule/gmodule-dl.c.orig 2018-01-08 21:34:19.000000000 +0000
++++ gmodule/gmodule-dl.c
+@@ -106,46 +106,13 @@ _g_module_open (const gchar *file_name,
+ static gpointer
+ _g_module_self (void)
+ {
+- gpointer handle;
+-
+- /* to query symbols from the program itself, special link options
+- * are required on some systems.
+- */
+-
+- /* On Android 32 bit (i.e. not __LP64__), dlopen(NULL)
+- * does not work reliable and generally no symbols are found
+- * at all. RTLD_DEFAULT works though.
+- * On Android 64 bit, dlopen(NULL) seems to work but dlsym(handle)
+- * always returns 'undefined symbol'. Only if RTLD_DEFAULT or
+- * NULL is given, dlsym returns an appropriate pointer.
+- */
+-#if defined(__BIONIC__)
+- handle = RTLD_DEFAULT;
+-#else
+- handle = dlopen (NULL, RTLD_GLOBAL | RTLD_LAZY);
+-#endif
+- if (!handle)
+- g_module_set_error (fetch_dlerror (TRUE));
+-
+- return handle;
++ return RTLD_DEFAULT;
+ }
+
+ static void
+-_g_module_close (gpointer handle,
+- gboolean is_unref)
++_g_module_close (gpointer handle)
+ {
+- /* are there any systems out there that have dlopen()/dlclose()
+- * without a reference count implementation?
+- *
+- * See above for the Android special case
+- */
+-#if defined(__BIONIC__)
+- is_unref = (handle != RTLD_DEFAULT);
+-#else
+- is_unref |= 1;
+-#endif
+-
+- if (is_unref)
++ if (handle != RTLD_DEFAULT)
+ {
+ if (dlclose (handle) != 0)
+ g_module_set_error (fetch_dlerror (TRUE));
Index: pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dyld.c
diff -u /dev/null pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dyld.c:1.1
--- /dev/null Mon Oct 8 10:12:06 2018
+++ pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-dyld.c Mon Oct 8 10:12:06 2018
@@ -0,0 +1,32 @@
+$NetBSD: patch-gmodule_gmodule-dyld.c,v 1.1 2018/10/08 10:12:06 prlw1 Exp $
+
+http://bugzilla.gnome.org/show_bug.cgi?id=107626
+https://gitlab.gnome.org/GNOME/glib/issues/19
+
+--- gmodule/gmodule-dyld.c.orig 2018-09-14 11:18:09.527026838 +0000
++++ gmodule/gmodule-dyld.c
+@@ -96,8 +96,7 @@ _g_module_self (void)
+ }
+
+ static void
+-_g_module_close (gpointer handle,
+- gboolean is_unref)
++_g_module_close (gpointer handle)
+ {
+ if (handle == &self_module)
+ return;
+@@ -118,7 +117,13 @@ _g_module_symbol (gpointer handle,
+ if (NSIsSymbolNameDefined (symbol_name))
+ sym = NSLookupAndBindSymbol (symbol_name);
+ else
+- sym = NULL;
++ {
++ GModule *mod;
++ for (mod = modules, sym = NULL; mod && !sym; mod = mod->next)
++ {
++ sym = NSLookupSymbolInModule (mod->handle, symbol_name);
++ }
++ }
+ }
+ else
+ sym = NSLookupSymbolInModule (handle, symbol_name);
Index: pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-win32.c
diff -u /dev/null pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-win32.c:1.1
--- /dev/null Mon Oct 8 10:12:06 2018
+++ pkgsrc/devel/glib2/patches/patch-gmodule_gmodule-win32.c Mon Oct 8 10:12:06 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-gmodule_gmodule-win32.c,v 1.1 2018/10/08 10:12:06 prlw1 Exp $
+
+https://gitlab.gnome.org/GNOME/glib/issues/19
+
+--- gmodule/gmodule-win32.c.orig 2018-01-08 21:34:19.000000000 +0000
++++ gmodule/gmodule-win32.c
+@@ -105,8 +105,7 @@ _g_module_self (void)
+ }
+
+ static void
+-_g_module_close (gpointer handle,
+- gboolean is_unref)
++_g_module_close (gpointer handle)
+ {
+ if (handle != null_module_handle)
+ if (!FreeLibrary (handle))
Index: pkgsrc/devel/glib2/patches/patch-gmodule_gmodule.c
diff -u /dev/null pkgsrc/devel/glib2/patches/patch-gmodule_gmodule.c:1.1
--- /dev/null Mon Oct 8 10:12:06 2018
+++ pkgsrc/devel/glib2/patches/patch-gmodule_gmodule.c Mon Oct 8 10:12:06 2018
@@ -0,0 +1,57 @@
+$NetBSD: patch-gmodule_gmodule.c,v 1.1 2018/10/08 10:12:06 prlw1 Exp $
+
+RTLD_GLOBAL is a bug.
+https://gitlab.gnome.org/GNOME/glib/issues/19
+
+--- gmodule/gmodule.c.orig 2018-01-08 21:34:19.000000000 +0000
++++ gmodule/gmodule.c
+@@ -207,8 +207,7 @@ struct _GModule
+ static gpointer _g_module_open (const gchar *file_name,
+ gboolean bind_lazy,
+ gboolean bind_local);
+-static void _g_module_close (gpointer handle,
+- gboolean is_unref);
++static void _g_module_close (gpointer handle);
+ static gpointer _g_module_self (void);
+ static gpointer _g_module_symbol (gpointer handle,
+ const gchar *symbol_name);
+@@ -299,8 +298,7 @@ _g_module_open (const gchar *file_name,
+ return NULL;
+ }
+ static void
+-_g_module_close (gpointer handle,
+- gboolean is_unref)
++_g_module_close (gpointer handle)
+ {
+ }
+ static gpointer
+@@ -510,9 +508,8 @@ g_module_open (const gchar *file_name
+ if (!main_module)
+ {
+ handle = _g_module_self ();
+-/* On Android 64 bit, RTLD_DEFAULT is (void *)0x0
+- * so it always fails to create main_module if file_name is NULL */
+-#if !defined(__BIONIC__) || !defined(__LP64__)
++/* On Linux, handle == RTLD_DEFAULT is (void *)0x0 */
++#if G_MODULE_IMPL != G_MODULE_IMPL_DL
+ if (handle)
+ #endif
+ {
+@@ -617,7 +614,7 @@ g_module_open (const gchar *file_name
+ module = g_module_find_by_handle (handle);
+ if (module)
+ {
+- _g_module_close (module->handle, TRUE);
++ _g_module_close (module->handle);
+ module->ref_count++;
+ g_module_set_error (NULL);
+
+@@ -723,7 +720,7 @@ g_module_close (GModule *module)
+ }
+ module->next = NULL;
+
+- _g_module_close (module->handle, FALSE);
++ _g_module_close (module->handle);
+ g_free (module->file_name);
+ g_free (module);
+ }
Home |
Main Index |
Thread Index |
Old Index