OSDN Git Service

2007-06-28 Jan Nijtmans <nijtmans@users.sourceforge.net>
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jun 2007 19:35:25 +0000 (19:35 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jun 2007 19:35:25 +0000 (19:35 +0000)
PR libgcj/30999:
* jni_md.h: Add the possibility to compile jni code with.
-fvisibility=hidden. This causes all symbols to be hidden
except the JNI functions which need to be exported.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126090 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/include/jni_md.h

index 5189d15..c6db9fb 100644 (file)
@@ -1,3 +1,10 @@
+2007-06-28  Jan Nijtmans  <nijtmans@users.sourceforge.net>
+
+       PR libgcj/30999:
+       * jni_md.h: Add the possibility to compile jni code with.
+       -fvisibility=hidden. This causes all symbols to be hidden
+       except the JNI functions which need to be exported.
+
 2007-06-28  Andreas Tobler  <a.tobler@schweiz.org>
 
        * testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one): Pass
index 6ea90ab..f806bac 100644 (file)
@@ -124,6 +124,19 @@ typedef uint16_t jchar;
 
 #define JNICALL          __stdcall
 
+#else /* !( _WIN32 || __WIN32__ || WIN32) */
+
+#define JNIIMPORT
+#if defined(__GNUC__) && __GNUC__ > 3
+#define JNIEXPORT __attribute__ ((visibility("default")))
+#else
+#define JNIEXPORT
+#endif
+
+#define JNICALL
+
+#endif /* !( _WIN32 || __WIN32__ || WIN32) */
+
 /* These defines apply to symbols in libgcj */
 #ifdef __GCJ_DLL__
 # ifdef __GCJ_JNI_IMPL__
@@ -135,14 +148,4 @@ typedef uint16_t jchar;
 # define _CLASSPATH_JNIIMPEXP
 #endif /*  __GCJ_DLL__ */
 
-#else /* !( _WIN32 || __WIN32__ || WIN32) */
-
-#define JNIIMPORT
-#define JNIEXPORT
-#define JNICALL
-#define _CLASSPATH_JNIIMPEXP
-
-#endif /* !( _WIN32 || __WIN32__ || WIN32) */
-
-
 #endif /* __GCJ_JNI_MD_H__ */