--- jdk.old/make/gensrc/GensrcMisc.gmk +++ jdk/make/gensrc/GensrcMisc.gmk @@ -76,7 +76,7 @@ INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \ LANG := C, \ CC := $(BUILD_CC), \ - LDEXE := $(BUILD_LD), \ + LDEXE := $(BUILD_CC), \ OBJECT_DIR := $(GENSRC_SOR_BIN), \ OUTPUT_DIR := $(GENSRC_SOR_BIN), \ PROGRAM := genSocketOptionRegistry)) --- jdk.old/make/gensrc/GensrcMisc.gmk.orig +++ jdk/make/gensrc/GensrcMisc.gmk.orig @@ -0,0 +1,215 @@ +# +# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +# 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. +# + +include ProfileNames.gmk + +########################################################################################## +# Install the launcher name, release version string, full version +# string and the runtime name into the Version.java file. +# To be printed by java -version + +$(JDK_OUTPUTDIR)/gensrc/sun/misc/Version.java \ +$(PROFILE_VERSION_JAVA_TARGETS): \ + $(JDK_TOPDIR)/src/share/classes/sun/misc/Version.java.template + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(ECHO) Generating sun/misc/Version.java $(call profile_version_name, $@) + $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ + -e 's/@@java_version@@/$(RELEASE)/g' \ + -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ + -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ + -e 's/@@java_profile_name@@/$(call profile_version_name, $@)/g' \ + $< > $@.tmp + $(MV) $@.tmp $@ + +GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/misc/Version.java \ + $(PROFILE_VERSION_JAVA_TARGETS) + +########################################################################################## +# Version file for jconsole + +$(JDK_OUTPUTDIR)/gensrc/sun/tools/jconsole/Version.java: \ + $(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/Version.java.template + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(ECHO) $(LOG_INFO) Generating sun/tools/jconsole/Version.java + $(SED) -e 's/@@jconsole_version@@/$(FULL_VERSION)/g' $< > $@.tmp + $(MV) $@.tmp $@ + +GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/tools/jconsole/Version.java + +########################################################################################## + +GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java + +GENSRC_SOR_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/ch +GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c +GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/btnative/genSocketOptionRegistry + +SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \ + $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') + +$(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE, \ + SRC := $(GENSRC_SOR_SRC), \ + INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \ + LANG := C, \ + CC := $(BUILD_CC), \ + LDEXE := $(BUILD_LD), \ + OBJECT_DIR := $(GENSRC_SOR_BIN), \ + OUTPUT_DIR := $(GENSRC_SOR_BIN), \ + PROGRAM := genSocketOptionRegistry)) + +SOR_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template + +ifeq ($(wildcard $(SOR_PREGEN_FILE)), ) + $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(BUILD_GENSRC_SOR_EXE) + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp + $(BUILD_GENSRC_SOR_EXE) >> $@.tmp + $(MV) $@.tmp $@ +else + $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(SOR_PREGEN_FILE) + $(call install-file) +endif + +########################################################################################## + +ifneq ($(OPENJDK_TARGET_OS), windows) + + GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java + + GENSRC_UC_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs + GENSRC_UC_SRC_FILE := genUnixConstants.c + GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/btnative/genUnixConstants + + UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \ + $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') + + $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE, \ + SRC := $(GENSRC_UC_SRC), \ + INCLUDE_FILES := $(GENSRC_UC_SRC_FILE), \ + LANG := C, \ + CC := $(BUILD_CC), \ + LDEXE := $(BUILD_CC), \ + CFLAGS := $(filter -D%, $(CFLAGS_JDKEXE)), \ + OBJECT_DIR := $(GENSRC_UC_BIN), \ + OUTPUT_DIR := $(GENSRC_UC_BIN), \ + PROGRAM := genUnixConstants)) + + UC_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template + + ifeq ($(wildcard $(UC_PREGEN_FILE)), ) + $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(BUILD_GENSRC_UC_EXE) + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp + $(BUILD_GENSRC_UC_EXE) >> $@.tmp + $(MV) $@.tmp $@ + else + $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(UC_PREGEN_FILE) + $(call install-file) + endif + +endif + +########################################################################################## + +ifeq ($(OPENJDK_TARGET_OS), solaris) + + GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java + + GENSRC_SOL_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs + GENSRC_SOL_SRC_FILE := genSolarisConstants.c + GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/btnative/genSolarisConstants + + SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \ + $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') + + $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE, \ + SRC := $(GENSRC_SOL_SRC), \ + INCLUDE_FILES := $(GENSRC_SOL_SRC_FILE), \ + LANG := C, \ + CC := $(BUILD_CC), \ + LDEXE := $(BUILD_CC), \ + OBJECT_DIR := $(GENSRC_SOL_BIN), \ + OUTPUT_DIR := $(GENSRC_SOL_BIN), \ + PROGRAM := genSolarisConstants)) + + $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java: $(BUILD_GENSRC_SOL_EXE) + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp + $(BUILD_GENSRC_SOL_EXE) >> $@.tmp + $(MV) $@.tmp $@ + + +endif + +########################################################################################## + + ifeq ($(OPENJDK_TARGET_OS), windows) + + AB_GENSRC_DIR := $(JDK_OUTPUTDIR)/gensrc_ab + AB_SRC_DIR := $(JDK_TOPDIR)/src/windows/classes/com/sun/java/accessibility + + ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) + $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridgeLoader.java: \ + $(AB_SRC_DIR)/32bit/AccessBridgeLoader.java + $(install-file) + + $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java: \ + $(AB_SRC_DIR)/AccessBridge.java + $(install-file) + + $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridgeLoader.java: \ + $(AB_SRC_DIR)/legacy/AccessBridgeLoader.java + $(install-file) + + $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java: \ + $(AB_SRC_DIR)/AccessBridge.java + $(install-file) + + GENSRC_MISC += $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridgeLoader.java \ + $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridgeLoader.java \ + $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java \ + $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java + + else + $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridgeLoader.java: \ + $(AB_SRC_DIR)/64bit/AccessBridgeLoader.java + $(install-file) + + $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java: \ + $(AB_SRC_DIR)/AccessBridge.java + $(install-file) + + GENSRC_MISC += $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridgeLoader.java \ + $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java + + endif + endif + +########################################################################################## --- jdk.old/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java +++ jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java @@ -283,9 +283,11 @@ checkCurrencyCode(newCurrency); String timeString = currencyInfo.substring(4, length - 4); long time = format.parse(timeString).getTime(); - if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { - throw new RuntimeException("time is more than 10 years from present: " + time); - } + +// if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { +// throw new RuntimeException("time is more than 10 years from present: " + time); +// } + specialCaseCutOverTimes[specialCaseCount] = time; specialCaseOldCurrencies[specialCaseCount] = oldCurrency; specialCaseOldCurrenciesDefaultFractionDigits[specialCaseCount] = getDefaultFractionDigits(oldCurrency); --- jdk.old/src/solaris/native/java/lang/childproc.c +++ jdk/src/solaris/native/java/lang/childproc.c @@ -33,6 +33,7 @@ #include "childproc.h" +const char * const *parentPathv; ssize_t restartableWrite(int fd, const void *buf, size_t count) --- jdk.old/src/solaris/native/java/lang/childproc.h +++ jdk/src/solaris/native/java/lang/childproc.h @@ -119,7 +119,7 @@ * The cached and split version of the JDK's effective PATH. * (We don't support putenv("PATH=...") in native code) */ -const char * const *parentPathv; +extern const char * const *parentPathv; ssize_t restartableWrite(int fd, const void *buf, size_t count); int restartableDup2(int fd_from, int fd_to); --- jdk.old/src/solaris/native/sun/awt/gtk2_interface.c +++ jdk/src/solaris/native/sun/awt/gtk2_interface.c @@ -35,6 +35,79 @@ #include #include "awt.h" +/* ---------------------------------------------------------------- */ + +gchar* (*fp_gtk_check_version)(guint required_major, + guint required_minor, guint required_micro); + +void (*fp_g_free)(gpointer mem); +void (*fp_g_object_unref)(gpointer object); +int (*fp_gdk_pixbuf_get_bits_per_sample)(const GdkPixbuf *pixbuf); +guchar *(*fp_gdk_pixbuf_get_pixels)(const GdkPixbuf *pixbuf); +gboolean (*fp_gdk_pixbuf_get_has_alpha)(const GdkPixbuf *pixbuf); +int (*fp_gdk_pixbuf_get_height)(const GdkPixbuf *pixbuf); +int (*fp_gdk_pixbuf_get_n_channels)(const GdkPixbuf *pixbuf); +int (*fp_gdk_pixbuf_get_rowstride)(const GdkPixbuf *pixbuf); +int (*fp_gdk_pixbuf_get_width)(const GdkPixbuf *pixbuf); +GdkPixbuf *(*fp_gdk_pixbuf_new_from_file)(const char *filename, GError **error); +void (*fp_gtk_widget_destroy)(GtkWidget *widget); +void (*fp_gtk_window_present)(GtkWindow *window); +void (*fp_gtk_window_move)(GtkWindow *window, gint x, gint y); +void (*fp_gtk_window_resize)(GtkWindow *window, gint width, gint height); + +/** + * Function Pointers for GtkFileChooser + */ +gchar* (*fp_gtk_file_chooser_get_filename)(GtkFileChooser *chooser); +void (*fp_gtk_widget_hide)(GtkWidget *widget); +void (*fp_gtk_main_quit)(void); +GtkWidget* (*fp_gtk_file_chooser_dialog_new)(const gchar *title, + GtkWindow *parent, GtkFileChooserAction action, + const gchar *first_button_text, ...); +gboolean (*fp_gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser, + const gchar *filename); +gboolean (*fp_gtk_file_chooser_set_filename)(GtkFileChooser *chooser, + const char *filename); +void (*fp_gtk_file_chooser_set_current_name) + (GtkFileChooser *chooser, const gchar *name); +void (*fp_gtk_file_filter_add_custom)(GtkFileFilter *filter, + GtkFileFilterFlags needed, GtkFileFilterFunc func, gpointer data, + GDestroyNotify notify); +void (*fp_gtk_file_chooser_set_filter)(GtkFileChooser *chooser, + GtkFileFilter *filter); +GType (*fp_gtk_file_chooser_get_type)(void); +GtkFileFilter* (*fp_gtk_file_filter_new)(void); +void (*fp_gtk_file_chooser_set_do_overwrite_confirmation)( + GtkFileChooser *chooser, gboolean do_overwrite_confirmation); +void (*fp_gtk_file_chooser_set_select_multiple)( + GtkFileChooser *chooser, gboolean select_multiple); +gchar* (*fp_gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser); +GSList* (*fp_gtk_file_chooser_get_filenames)(GtkFileChooser *chooser); +guint (*fp_gtk_g_slist_length)(GSList *list); +gulong (*fp_g_signal_connect_data)(gpointer instance, + const gchar *detailed_signal, GCallback c_handler, gpointer data, + GClosureNotify destroy_data, GConnectFlags connect_flags); +void (*fp_gtk_widget_show)(GtkWidget *widget); +void (*fp_gtk_main)(void); +guint (*fp_gtk_main_level)(void); +gchar* (*fp_g_path_get_dirname) (const gchar *file_name); + +/** + * This function is available for GLIB > 2.20, so it MUST be + * called within GLIB_CHECK_VERSION(2, 20, 0) check. + */ +gboolean (*fp_g_thread_get_initialized)(void); + +void (*fp_g_thread_init)(GThreadFunctions *vtable); +void (*fp_gdk_threads_init)(void); +void (*fp_gdk_threads_enter)(void); +void (*fp_gdk_threads_leave)(void); + +gboolean (*fp_gtk_show_uri)(GdkScreen *screen, + const gchar *uri, guint32 timestamp, GError **error); + +/* ---------------------------------------------------------------- */ + #define GTK2_LIB_VERSIONED VERSIONED_JNI_LIB_NAME("gtk-x11-2.0", "0") #define GTK2_LIB JNI_LIB_NAME("gtk-x11-2.0") #define GTHREAD_LIB_VERSIONED VERSIONED_JNI_LIB_NAME("gthread-2.0", "0") --- jdk.old/src/solaris/native/sun/awt/gtk2_interface.h +++ jdk/src/solaris/native/sun/awt/gtk2_interface.h @@ -674,8 +674,8 @@ * NULL if the GTK+ library is compatible with the given version, or a string * describing the version mismatch. */ -gchar* (*fp_gtk_check_version)(guint required_major, guint required_minor, - guint required_micro); +extern gchar* (*fp_gtk_check_version)(guint required_major, +guint required_minor, guint required_micro); /* * Load the gtk2 library. If the library is already loaded this method has no * effect and returns success. @@ -767,70 +767,70 @@ void gtk2_set_range_value(WidgetType widget_type, jdouble value, jdouble min, jdouble max, jdouble visible); -void (*fp_g_free)(gpointer mem); -void (*fp_g_object_unref)(gpointer object); -int (*fp_gdk_pixbuf_get_bits_per_sample)(const GdkPixbuf *pixbuf); -guchar *(*fp_gdk_pixbuf_get_pixels)(const GdkPixbuf *pixbuf); -gboolean (*fp_gdk_pixbuf_get_has_alpha)(const GdkPixbuf *pixbuf); -int (*fp_gdk_pixbuf_get_height)(const GdkPixbuf *pixbuf); -int (*fp_gdk_pixbuf_get_n_channels)(const GdkPixbuf *pixbuf); -int (*fp_gdk_pixbuf_get_rowstride)(const GdkPixbuf *pixbuf); -int (*fp_gdk_pixbuf_get_width)(const GdkPixbuf *pixbuf); -GdkPixbuf *(*fp_gdk_pixbuf_new_from_file)(const char *filename, GError **error); -void (*fp_gtk_widget_destroy)(GtkWidget *widget); -void (*fp_gtk_window_present)(GtkWindow *window); -void (*fp_gtk_window_move)(GtkWindow *window, gint x, gint y); -void (*fp_gtk_window_resize)(GtkWindow *window, gint width, gint height); +extern void (*fp_g_free)(gpointer mem); +extern void (*fp_g_object_unref)(gpointer object); +extern int (*fp_gdk_pixbuf_get_bits_per_sample)(const GdkPixbuf *pixbuf); +extern guchar *(*fp_gdk_pixbuf_get_pixels)(const GdkPixbuf *pixbuf); +extern gboolean (*fp_gdk_pixbuf_get_has_alpha)(const GdkPixbuf *pixbuf); +extern int (*fp_gdk_pixbuf_get_height)(const GdkPixbuf *pixbuf); +extern int (*fp_gdk_pixbuf_get_n_channels)(const GdkPixbuf *pixbuf); +extern int (*fp_gdk_pixbuf_get_rowstride)(const GdkPixbuf *pixbuf); +extern int (*fp_gdk_pixbuf_get_width)(const GdkPixbuf *pixbuf); +extern GdkPixbuf *(*fp_gdk_pixbuf_new_from_file)(const char *filename, GError **error); +extern void (*fp_gtk_widget_destroy)(GtkWidget *widget); +extern void (*fp_gtk_window_present)(GtkWindow *window); +extern void (*fp_gtk_window_move)(GtkWindow *window, gint x, gint y); +extern void (*fp_gtk_window_resize)(GtkWindow *window, gint width, gint height); /** * Function Pointers for GtkFileChooser */ -gchar* (*fp_gtk_file_chooser_get_filename)(GtkFileChooser *chooser); -void (*fp_gtk_widget_hide)(GtkWidget *widget); -void (*fp_gtk_main_quit)(void); -GtkWidget* (*fp_gtk_file_chooser_dialog_new)(const gchar *title, +extern gchar* (*fp_gtk_file_chooser_get_filename)(GtkFileChooser *chooser); +extern void (*fp_gtk_widget_hide)(GtkWidget *widget); +extern void (*fp_gtk_main_quit)(void); +extern GtkWidget* (*fp_gtk_file_chooser_dialog_new)(const gchar *title, GtkWindow *parent, GtkFileChooserAction action, const gchar *first_button_text, ...); -gboolean (*fp_gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser, +extern gboolean (*fp_gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser, const gchar *filename); -gboolean (*fp_gtk_file_chooser_set_filename)(GtkFileChooser *chooser, +extern gboolean (*fp_gtk_file_chooser_set_filename)(GtkFileChooser *chooser, const char *filename); -void (*fp_gtk_file_chooser_set_current_name)(GtkFileChooser *chooser, - const gchar *name); -void (*fp_gtk_file_filter_add_custom)(GtkFileFilter *filter, +extern void (*fp_gtk_file_chooser_set_current_name) + (GtkFileChooser *chooser, const gchar *name); +extern void (*fp_gtk_file_filter_add_custom)(GtkFileFilter *filter, GtkFileFilterFlags needed, GtkFileFilterFunc func, gpointer data, GDestroyNotify notify); -void (*fp_gtk_file_chooser_set_filter)(GtkFileChooser *chooser, +extern void (*fp_gtk_file_chooser_set_filter)(GtkFileChooser *chooser, GtkFileFilter *filter); -GType (*fp_gtk_file_chooser_get_type)(void); -GtkFileFilter* (*fp_gtk_file_filter_new)(void); -void (*fp_gtk_file_chooser_set_do_overwrite_confirmation)( +extern GType (*fp_gtk_file_chooser_get_type)(void); +extern GtkFileFilter* (*fp_gtk_file_filter_new)(void); +extern void (*fp_gtk_file_chooser_set_do_overwrite_confirmation)( GtkFileChooser *chooser, gboolean do_overwrite_confirmation); -void (*fp_gtk_file_chooser_set_select_multiple)( +extern void (*fp_gtk_file_chooser_set_select_multiple)( GtkFileChooser *chooser, gboolean select_multiple); -gchar* (*fp_gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser); -GSList* (*fp_gtk_file_chooser_get_filenames)(GtkFileChooser *chooser); -guint (*fp_gtk_g_slist_length)(GSList *list); -gulong (*fp_g_signal_connect_data)(gpointer instance, +extern gchar* (*fp_gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser); +extern GSList* (*fp_gtk_file_chooser_get_filenames)(GtkFileChooser *chooser); +extern guint (*fp_gtk_g_slist_length)(GSList *list); +extern gulong (*fp_g_signal_connect_data)(gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags); -void (*fp_gtk_widget_show)(GtkWidget *widget); -void (*fp_gtk_main)(void); -guint (*fp_gtk_main_level)(void); -gchar* (*fp_g_path_get_dirname) (const gchar *file_name); +extern void (*fp_gtk_widget_show)(GtkWidget *widget); +extern void (*fp_gtk_main)(void); +extern guint (*fp_gtk_main_level)(void); +extern gchar* (*fp_g_path_get_dirname) (const gchar *file_name); /** * This function is available for GLIB > 2.20, so it MUST be * called within GLIB_CHECK_VERSION(2, 20, 0) check. */ -gboolean (*fp_g_thread_get_initialized)(void); +extern gboolean (*fp_g_thread_get_initialized)(void); -void (*fp_g_thread_init)(GThreadFunctions *vtable); -void (*fp_gdk_threads_init)(void); -void (*fp_gdk_threads_enter)(void); -void (*fp_gdk_threads_leave)(void); +extern void (*fp_g_thread_init)(GThreadFunctions *vtable); +extern void (*fp_gdk_threads_init)(void); +extern void (*fp_gdk_threads_enter)(void); +extern void (*fp_gdk_threads_leave)(void); -gboolean (*fp_gtk_show_uri)(GdkScreen *screen, const gchar *uri, - guint32 timestamp, GError **error); +extern gboolean (*fp_gtk_show_uri)(GdkScreen *screen, + const gchar *uri, guint32 timestamp, GError **error); #endif /* !_GTK2_INTERFACE_H */ --- jdk.old/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c +++ jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c @@ -28,6 +28,9 @@ #include #include "NativeFunc.h" +/* global GSS function table */ +GSS_FUNCTION_TABLE_PTR ftab; + /* standard GSS method names (ordering is from mapfile) */ static const char RELEASE_NAME[] = "gss_release_name"; static const char IMPORT_NAME[] = "gss_import_name"; --- jdk.old/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.h +++ jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.h @@ -265,6 +265,6 @@ typedef GSS_FUNCTION_TABLE *GSS_FUNCTION_TABLE_PTR; /* global GSS function table */ -GSS_FUNCTION_TABLE_PTR ftab; +extern GSS_FUNCTION_TABLE_PTR ftab; #endif