Description: JNIEXPORT definition does not work with -fvisibility=hidden Since GCC 4, GCC supports symbol visibility. If compiler option -fvisibility=hidden, then all symbols are hidden by default and export symbols should be marked with __attribute__ ((visibility ("default"))). Author: Damien Raude-Morvan Author: Tommi Vainikainen Bug-Debian: http://bugs.debian.org/670896 Bug-GCC: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30999 Last-Update: 2012-06-14 Forwarded: no --- openjdk/jdk/src/solaris/javavm/export/jni_md.h.orig +++ openjdk/jdk/src/solaris/javavm/export/jni_md.h @@ -26,7 +26,11 @@ #ifndef _JAVASOFT_JNI_MD_H_ #define _JAVASOFT_JNI_MD_H_ +#if defined(__GNUC__) && __GNUC__ > 3 +#define JNIEXPORT __attribute__ ((visibility("default"))) +#else #define JNIEXPORT +#endif #define JNIIMPORT #define JNICALL