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