/hg/release/icedtea7-forest-2.3/jdk: 7 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Wed Aug 29 09:58:31 PDT 2012


changeset f1899c9e9c91 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=f1899c9e9c91
author: andrew
date: Thu Aug 23 15:42:23 2012 +0100

	7192804: Build should not install jvisualvm man page for OpenJDK
	Summary: OpenJDK builds don't ship VisualVM so shouldn't ship its man page either.
	Reviewed-by: dholmes


changeset b57e148ffeeb in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=b57e148ffeeb
author: andrew
date: Fri Aug 24 00:49:47 2012 +0100

	PR1140: Unnecessary diz files should not be installed


changeset 4d9d19e8b601 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=4d9d19e8b601
author: andrew
date: Wed Aug 22 16:39:22 2012 +0100

	PR1095: Allow -Werror to be turned off.


changeset 86bafb456559 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=86bafb456559
author: andrew
date: Mon Aug 06 13:31:40 2012 +0100

	Make dynamic support for GConf work again.


changeset b65b0ea0d246 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=b65b0ea0d246
author: andrew
date: Wed Aug 08 18:26:51 2012 +0100

	Allow system GIO with in-tree GConf to work again, following previous fix.


changeset ae5c5c93d36e in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=ae5c5c93d36e
author: andrew
date: Wed Aug 29 17:19:20 2012 +0100

	RH852051, CVE-2012-4681: Reintroduce PackageAccessible checks removed in 6788531.


changeset 507eee662587 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=507eee662587
author: andrew
date: Wed Aug 29 17:57:30 2012 +0100

	Added tag icedtea-2.3.1 for changeset ae5c5c93d36e


diffstat:

 .hgtags                                                       |   1 +
 make/com/sun/nio/sctp/Makefile                                |   2 +
 make/common/Library.gmk                                       |  40 ++++---
 make/common/Program.gmk                                       |  54 +++++-----
 make/common/Release.gmk                                       |   5 +-
 make/java/net/Makefile                                        |   2 +-
 make/java/nio/Makefile                                        |   2 +-
 make/java/sun_nio/Makefile                                    |   2 +-
 make/sun/native2ascii/Makefile                                |   2 +-
 make/sun/nio/cs/Makefile                                      |   2 +-
 make/tools/Makefile                                           |   9 +-
 src/share/classes/com/sun/beans/finder/ConstructorFinder.java |   5 +-
 src/share/classes/com/sun/beans/finder/FieldFinder.java       |   5 +-
 src/share/classes/com/sun/beans/finder/MethodFinder.java      |   5 +-
 src/solaris/native/common/deps/gconf2/gconf/gconf-client.h    |   1 -
 src/solaris/native/common/deps/gconf2/gconf_fp.c              |  10 +-
 src/solaris/native/common/deps/gconf2/gconf_fp.h              |   2 +-
 src/solaris/native/common/deps/glib2/gio/gio_typedefs.h       |   2 -
 src/solaris/native/common/deps/glib2/gio_fp.h                 |   8 +-
 src/solaris/native/common/deps/glib2/glib_fp.h                |  41 ++++++++
 20 files changed, 134 insertions(+), 66 deletions(-)

diffs (488 lines):

diff -r 903978f9ea49 -r 507eee662587 .hgtags
--- a/.hgtags	Wed Aug 15 19:38:26 2012 +0100
+++ b/.hgtags	Wed Aug 29 17:57:30 2012 +0100
@@ -207,3 +207,4 @@
 1c775da998735711853cfe1ae1d6baddc5f12a66 jdk7u6-b24
 4bd0528374971157afd6372890f4250e1cf712d9 jdk7u6-b30
 2029e066b8c29fc043a751a1d0541b9195e27007 icedtea-2.3
+ae5c5c93d36e36e33c46eb82dcb04f2616652dfd icedtea-2.3.1
diff -r 903978f9ea49 -r 507eee662587 make/com/sun/nio/sctp/Makefile
--- a/make/com/sun/nio/sctp/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/com/sun/nio/sctp/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -60,7 +60,9 @@
   -I$(CLASSHDRDIR)/../../../../java/java.nio/nio/CClassHeaders
 
 ifeq ($(PLATFORM), linux)
+ifneq ($(COMPILER_WARNINGS_FATAL),false)
 COMPILER_WARNINGS_FATAL=true
+endif
 #OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
 OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -lnio -lnet -lpthread -ldl
 endif
diff -r 903978f9ea49 -r 507eee662587 make/common/Library.gmk
--- a/make/common/Library.gmk	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/common/Library.gmk	Wed Aug 29 17:57:30 2012 +0100
@@ -269,6 +269,7 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+      ifneq ($(STRIP_POLICY),no_strip)
         ifeq ($(PLATFORM), solaris)
 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
@@ -279,19 +280,20 @@
 #
 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-         $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
-	)
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+           $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
+	  )
         else # PLATFORM != solaris
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	 $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
-	)
-        endif # PLATFORM == solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	   $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
+	  )
+          endif # PLATFORM == solaris
+        endif # STRIP_POLICY != no_strip
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
@@ -305,12 +307,14 @@
           # implied else here is no stripping at all
           endif
         endif
-        ifeq ($(ZIP_DEBUGINFO_FILES),1)
-	  (set -e ; \
-	   $(CD) $(@D) ; \
-	   $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	   $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	  )
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	    (set -e ; \
+	     $(CD) $(@D) ; \
+	     $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	     $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	    )
+          endif
         endif
       endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
     endif # ENABLE_FULL_DEBUG_SYMBOLS
diff -r 903978f9ea49 -r 507eee662587 make/common/Program.gmk
--- a/make/common/Program.gmk	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/common/Program.gmk	Wed Aug 29 17:57:30 2012 +0100
@@ -276,7 +276,8 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
-        ifeq ($(PLATFORM), solaris)
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(PLATFORM), solaris)
 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 # empty section headers until a fixed $(OBJCOPY) is available.
@@ -286,19 +287,20 @@
 #
 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
-         $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \
-	)
-        else # PLATFORM != solaris
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
-	 $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \
-	)
-        endif # PLATFORM == solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
+           $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \
+	  )
+          else # PLATFORM != solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
+	   $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \
+	  )
+          endif # PLATFORM == solaris
+        endif
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
@@ -312,17 +314,19 @@
           # implied else here is no stripping at all
           endif
         endif
-        ifeq ($(ZIP_DEBUGINFO_FILES),1)
-	  (set -e ; \
-	   $(CD) $(@D) ; \
-	   $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \
-	   $(RM) $(@F).debuginfo ; \
-	  )
-          # save ZIP'ed debug info with rest of the program's build artifacts
-	  $(MV) $@.diz $(OBJDIR)
-        else
-          # save debug info with rest of the program's build artifacts
-	  $(MV) $@.debuginfo $(OBJDIR)
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	    (set -e ; \
+	     $(CD) $(@D) ; \
+	     $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \
+	     $(RM) $(@F).debuginfo ; \
+	    )
+            # save ZIP'ed debug info with rest of the program's build artifacts
+	    $(MV) $@.diz $(OBJDIR)
+          else
+            # save debug info with rest of the program's build artifacts
+	    $(MV) $@.debuginfo $(OBJDIR)
+          endif
         endif
       endif # PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS
     endif # ENABLE_FULL_DEBUG_SYMBOLS
diff -r 903978f9ea49 -r 507eee662587 make/common/Release.gmk
--- a/make/common/Release.gmk	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/common/Release.gmk	Wed Aug 29 17:57:30 2012 +0100
@@ -158,7 +158,6 @@
         jstack.1           \
         jstat.1            \
         jstatd.1           \
-        jvisualvm.1        \
 	native2ascii.1     \
 	rmic.1             \
         schemagen.1        \
@@ -167,6 +166,10 @@
         wsimport.1         \
         xjc.1
 
+ifndef OPENJDK
+  JDK_MAN_PAGES += jvisualvm.1
+endif
+
 ifeq ($(PLATFORM), solaris)
   MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR)
   MAN1SUBDIR=sun/man/man1
diff -r 903978f9ea49 -r 507eee662587 make/java/net/Makefile
--- a/make/java/net/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/java/net/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -121,7 +121,7 @@
   OTHER_LDLIBS += $(GCONF_LIBS) $(GOBJECT_LIBS)
   CPPFLAGS += $(GCONF_CFLAGS) $(GOBJECT_CFLAGS) -DUSE_SYSTEM_GCONF
 else
-  CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/gconf2
+  CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/gconf2 -I$(PLATFORM_SRC)/native/common/deps/glib2
   OTHER_LDLIBS += $(LIBDL)
 endif
 
diff -r 903978f9ea49 -r 507eee662587 make/java/nio/Makefile
--- a/make/java/nio/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/java/nio/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -31,7 +31,7 @@
 PACKAGE = java.nio
 LIBRARY = nio
 PRODUCT = java
-OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror
+OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial
 include $(BUILDDIR)/common/Defs.gmk
 
 NIO_SRC = $(SHARE_SRC)/classes/java/nio
diff -r 903978f9ea49 -r 507eee662587 make/java/sun_nio/Makefile
--- a/make/java/sun_nio/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/java/sun_nio/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -31,7 +31,7 @@
 PACKAGE = sun.nio
 PRODUCT = sun
 
-OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
+OTHER_JAVACFLAGS += -Xlint:serial,-deprecation
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff -r 903978f9ea49 -r 507eee662587 make/sun/native2ascii/Makefile
--- a/make/sun/native2ascii/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/sun/native2ascii/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -30,7 +30,7 @@
 BUILDDIR = ../..
 PACKAGE = sun.tools.native2ascii
 PRODUCT = sun
-OTHER_JAVACFLAGS += -Xlint:serial -Werror
+OTHER_JAVACFLAGS += -Xlint:serial
 include $(BUILDDIR)/common/Defs.gmk
 
 # This program must contain a manifest that defines the execution level
diff -r 903978f9ea49 -r 507eee662587 make/sun/nio/cs/Makefile
--- a/make/sun/nio/cs/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/sun/nio/cs/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -36,7 +36,7 @@
 # This re-directs all the class files to a separate location
 CLASSDESTDIR = $(TEMPDIR)/classes
 
-OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
+OTHER_JAVACFLAGS += -Xlint:serial,-deprecation
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff -r 903978f9ea49 -r 507eee662587 make/tools/Makefile
--- a/make/tools/Makefile	Wed Aug 15 19:38:26 2012 +0100
+++ b/make/tools/Makefile	Wed Aug 29 17:57:30 2012 +0100
@@ -29,7 +29,14 @@
 
 BUILDDIR = ..
 
-SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true JAVAC_WARNINGS_FATAL=true
+ifndef JAVAC_MAX_WARNINGS
+  SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
+endif
+
+ifndef JAVAC_WARNINGS_FATAL
+  SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
+endif
+
 include $(BUILDDIR)/common/Defs.gmk
 
 # Note: freetypecheck is built by Sanity.gmk if needed
diff -r 903978f9ea49 -r 507eee662587 src/share/classes/com/sun/beans/finder/ConstructorFinder.java
--- a/src/share/classes/com/sun/beans/finder/ConstructorFinder.java	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/share/classes/com/sun/beans/finder/ConstructorFinder.java	Wed Aug 29 17:57:30 2012 +0100
@@ -29,6 +29,8 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Modifier;
 
+import sun.reflect.misc.ReflectUtil;
+
 /**
  * This utility class provides {@code static} methods
  * to find a public constructor with specified parameter types
@@ -61,7 +63,8 @@
         if (Modifier.isAbstract(type.getModifiers())) {
             throw new NoSuchMethodException("Abstract class cannot be instantiated");
         }
-        if (!Modifier.isPublic(type.getModifiers())) {
+        if (!ReflectUtil.isPackageAccessible(type)
+	    || !Modifier.isPublic(type.getModifiers())) {
             throw new NoSuchMethodException("Class is not accessible");
         }
         PrimitiveWrapperMap.replacePrimitivesWithWrappers(args);
diff -r 903978f9ea49 -r 507eee662587 src/share/classes/com/sun/beans/finder/FieldFinder.java
--- a/src/share/classes/com/sun/beans/finder/FieldFinder.java	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/share/classes/com/sun/beans/finder/FieldFinder.java	Wed Aug 29 17:57:30 2012 +0100
@@ -27,6 +27,8 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 
+import sun.reflect.misc.ReflectUtil;
+
 /**
  * This utility class provides {@code static} methods
  * to find a public field with specified name
@@ -56,7 +58,8 @@
         if (!Modifier.isPublic(field.getModifiers())) {
             throw new NoSuchFieldException("Field '" + name + "' is not public");
         }
-        if (!Modifier.isPublic(field.getDeclaringClass().getModifiers())) {
+        if (!ReflectUtil.isPackageAccessible(field.getDeclaringClass()) ||
+	    !Modifier.isPublic(field.getDeclaringClass().getModifiers())) {
             throw new NoSuchFieldException("Field '" + name + "' is not accessible");
         }
         return field;
diff -r 903978f9ea49 -r 507eee662587 src/share/classes/com/sun/beans/finder/MethodFinder.java
--- a/src/share/classes/com/sun/beans/finder/MethodFinder.java	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/share/classes/com/sun/beans/finder/MethodFinder.java	Wed Aug 29 17:57:30 2012 +0100
@@ -33,6 +33,8 @@
 import java.lang.reflect.Type;
 import java.util.Arrays;
 
+import sun.reflect.misc.ReflectUtil;
+
 /**
  * This utility class provides {@code static} methods
  * to find a public method with specified name and parameter types
@@ -120,7 +122,8 @@
      */
     public static Method findAccessibleMethod(Method method) throws NoSuchMethodException {
         Class<?> type = method.getDeclaringClass();
-        if (Modifier.isPublic(type.getModifiers())) {
+        if (ReflectUtil.isPackageAccessible(type)
+	    && Modifier.isPublic(type.getModifiers())) {
             return method;
         }
         if (Modifier.isStatic(method.getModifiers())) {
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/gconf2/gconf/gconf-client.h
--- a/src/solaris/native/common/deps/gconf2/gconf/gconf-client.h	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/solaris/native/common/deps/gconf2/gconf/gconf-client.h	Wed Aug 29 17:57:30 2012 +0100
@@ -37,6 +37,5 @@
 typedef int   fp_client_get_int_func(void*, char *, void**);
 typedef int   fp_client_get_bool_func(void*, char *, void**);
 typedef int   fp_conf_init_func(int, char**, void**);
-typedef void  fp_type_init_func ();
 
 #endif
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/gconf2/gconf_fp.c
--- a/src/solaris/native/common/deps/gconf2/gconf_fp.c	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/solaris/native/common/deps/gconf2/gconf_fp.c	Wed Aug 29 17:57:30 2012 +0100
@@ -32,7 +32,8 @@
 fp_client_get_int_func* my_get_int_func = NULL;
 fp_client_get_bool_func* my_get_bool_func = NULL;
 fp_conf_init_func* my_gconf_init_func = NULL;
-fp_type_init_func* my_g_type_init_func = NULL;
+type_init_func type_init = NULL;
+free_func gfree = NULL;
 
 jboolean init_gconf(int* gconf_ver, void** gconf_client)
 {
@@ -48,13 +49,14 @@
     /*
      * Now let's get pointer to the functions we need.
      */
-    my_g_type_init_func = (fp_type_init_func*) dlsym(RTLD_DEFAULT, "g_type_init");
+    type_init = (type_init_func) dlsym(RTLD_DEFAULT, "g_type_init");
+    gfree = (free_func) dlsym(RTLD_DEFAULT, "g_free");
     my_get_default_func = (fp_client_get_default_func*) dlsym(RTLD_DEFAULT, "gconf_client_get_default");
-    if (my_g_type_init_func != NULL && my_get_default_func != NULL) {
+    if (type_init != NULL && gfree != NULL && my_get_default_func != NULL) {
       /**
        * Try to connect to GConf.
        */
-      (*my_g_type_init_func)();
+      (*type_init)();
       (*gconf_client) = (*my_get_default_func)();
       if ((*gconf_client) != NULL) {
         my_get_string_func = (fp_client_get_string_func*) dlsym(RTLD_DEFAULT, "gconf_client_get_string");
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/gconf2/gconf_fp.h
--- a/src/solaris/native/common/deps/gconf2/gconf_fp.h	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/solaris/native/common/deps/gconf2/gconf_fp.h	Wed Aug 29 17:57:30 2012 +0100
@@ -26,6 +26,7 @@
 #ifndef GCONF_GCONF_FP_H
 #define GCONF_GCONF_FP_H
 
+#include <glib_fp.h>
 #include <gconf/gconf-client.h>
 #include <jni.h>
 #include <stddef.h>
@@ -35,7 +36,6 @@
 extern fp_client_get_int_func* my_get_int_func;
 extern fp_client_get_bool_func* my_get_bool_func;
 extern fp_conf_init_func* my_gconf_init_func;
-extern fp_type_init_func* my_g_type_init_func;
 
 #define gconf_client_get_default (*my_get_default_func)
 #define gconf_client_get_string (*my_get_string_func)
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/glib2/gio/gio_typedefs.h
--- a/src/solaris/native/common/deps/glib2/gio/gio_typedefs.h	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/solaris/native/common/deps/glib2/gio/gio_typedefs.h	Wed Aug 29 17:57:30 2012 +0100
@@ -45,7 +45,6 @@
   G_FILE_QUERY_INFO_NONE = 0
 } GFileQueryInfoFlags;
 
-typedef void (*type_init_func)(void);
 typedef void (*object_unref_func)(gpointer object);
 typedef GFile* (*file_new_for_path_func)(const char* path);
 typedef GFileInfo* (*file_query_info_func)(GFile *file,
@@ -62,6 +61,5 @@
 typedef gint (*settings_get_int_func) (GSettings *settings, const gchar *key);
 typedef GSettings* (*settings_get_child_func) (GSettings *settings, const gchar *name);
 typedef void (*strfreev_func) (gchar **str_array);
-typedef void (*free_func) (gpointer mem);
 
 #endif
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/glib2/gio_fp.h
--- a/src/solaris/native/common/deps/glib2/gio_fp.h	Wed Aug 15 19:38:26 2012 +0100
+++ b/src/solaris/native/common/deps/glib2/gio_fp.h	Wed Aug 29 17:57:30 2012 +0100
@@ -28,7 +28,8 @@
 
 #include <gio/gio_typedefs.h>
 
-extern type_init_func type_init;
+#include <glib_fp.h>
+
 extern object_unref_func object_unref;
 extern file_new_for_path_func file_new_for_path;
 extern file_query_info_func file_query_info;
@@ -41,10 +42,9 @@
 extern settings_get_int_func settings_get_int;
 extern settings_get_child_func settings_get_child;
 extern strfreev_func gstrfreev;
-extern free_func gfree;
 
-#define g_type_init (*type_init)
 #define g_object_unref (*object_unref)
+#define g_strfreev (*gstrfreev)
 #define g_file_new_for_path (*file_new_for_path)
 #define g_file_query_info (*file_query_info)
 #define g_file_info_get_content_type (*file_info_get_content_type)
@@ -55,8 +55,6 @@
 #define g_settings_get_strv (*settings_get_strv)
 #define g_settings_get_int (*settings_get_int)
 #define g_settings_get_child (*settings_get_child)
-#define g_strfreev (*gstrfreev)
-#define g_free (*gfree)
 
 jboolean gio_init();
 
diff -r 903978f9ea49 -r 507eee662587 src/solaris/native/common/deps/glib2/glib_fp.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/native/common/deps/glib2/glib_fp.h	Wed Aug 29 17:57:30 2012 +0100
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012 Red Hat Inc.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#ifndef __GLIB_FP_H__
+#define __GLIB_FP_H__
+
+typedef void (*type_init_func)(void);
+typedef void (*free_func) (void* mem);
+
+extern type_init_func type_init;
+extern free_func gfree;
+
+#ifndef USE_SYSTEM_GIO
+#define g_type_init (*type_init)
+#define g_free (*gfree)
+#endif
+
+#endif /* __GLIB_FP_H__ */



More information about the distro-pkg-dev mailing list