8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change
authormartin
Mon, 15 Apr 2013 14:07:17 -0700
changeset 16862 247af361e9ca
parent 16861 9dd215f8cc5a
child 16863 f51406efb328
8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change Summary: Define JNIEXPORT to use "default" visibility where possible. Reviewed-by: coleenp, ddehaven, dcubed, anthony
jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
jdk/src/share/npt/npt.h
jdk/src/solaris/javavm/export/jni_md.h
jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
--- a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h	Sun Apr 14 19:17:30 2013 +0100
+++ b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h	Mon Apr 15 14:07:17 2013 -0700
@@ -143,9 +143,9 @@
  * structure from the information present in a given Java Composite
  * object.
  */
-typedef JNIEXPORT void (JNICALL CompInfoFunc)(JNIEnv *env,
-                                              CompositeInfo *pCompInfo,
-                                              jobject Composite);
+typedef void (JNICALL CompInfoFunc)(JNIEnv *env,
+                                    CompositeInfo *pCompInfo,
+                                    jobject Composite);
 
 /*
  * The additional information needed to implement a primitive that
--- a/jdk/src/share/npt/npt.h	Sun Apr 14 19:17:30 2013 +0100
+++ b/jdk/src/share/npt/npt.h	Mon Apr 15 14:07:17 2013 -0700
@@ -94,13 +94,13 @@
 
 JNIEXPORT void JNICALL nptInitialize
                        (NptEnv **pnpt, char *nptVersion, char *options);
-typedef JNIEXPORT void (JNICALL *NptInitialize)
-                       (NptEnv **pnpt, char *nptVersion, char *options);
+typedef void (JNICALL *NptInitialize)
+             (NptEnv **pnpt, char *nptVersion, char *options);
 
 JNIEXPORT void JNICALL nptTerminate
                        (NptEnv* npt, char *options);
-typedef JNIEXPORT void (JNICALL *NptTerminate)
-                       (NptEnv* npt, char *options);
+typedef void (JNICALL *NptTerminate)
+             (NptEnv* npt, char *options);
 
 #ifdef __cplusplus
 } /* extern "C" */
--- a/jdk/src/solaris/javavm/export/jni_md.h	Sun Apr 14 19:17:30 2013 +0100
+++ b/jdk/src/solaris/javavm/export/jni_md.h	Mon Apr 15 14:07:17 2013 -0700
@@ -26,8 +26,17 @@
 #ifndef _JAVASOFT_JNI_MD_H_
 #define _JAVASOFT_JNI_MD_H_
 
-#define JNIEXPORT
-#define JNIIMPORT
+#ifndef __has_attribute
+  #define __has_attribute(x) 0
+#endif
+#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
+  #define JNIEXPORT     __attribute__((visibility("default")))
+  #define JNIIMPORT     __attribute__((visibility("default")))
+#else
+  #define JNIEXPORT
+  #define JNIIMPORT
+#endif
+
 #define JNICALL
 
 typedef int jint;
--- a/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c	Sun Apr 14 19:17:30 2013 +0100
+++ b/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c	Mon Apr 15 14:07:17 2013 -0700
@@ -43,7 +43,7 @@
 
 static void *awtHandle = NULL;
 
-typedef JNIEXPORT jint JNICALL JNI_OnLoad_type(JavaVM *vm, void *reserved);
+typedef jint JNICALL JNI_OnLoad_type(JavaVM *vm, void *reserved);
 
 /* Initialize the Java VM instance variable when the library is
    first loaded */
@@ -206,7 +206,7 @@
                                      jobject frame, jstring jcommand)
 {
     /* type of the old backdoor function */
-    typedef JNIEXPORT void JNICALL
+    typedef void JNICALL
         XsessionWMcommand_type(JNIEnv *env, jobject this,
                                jobject frame, jstring jcommand);
 
@@ -234,7 +234,7 @@
 JNIEXPORT void JNICALL
 Java_sun_awt_motif_XsessionWMcommand_New(JNIEnv *env, jobjectArray jargv)
 {
-    typedef JNIEXPORT void JNICALL
+    typedef void JNICALL
         XsessionWMcommand_New_type(JNIEnv *env, jobjectArray jargv);
 
     static XsessionWMcommand_New_type *XsessionWMcommand = NULL;