Details
-
Enhancement
-
Resolution: Fixed
-
P3
-
None
-
b17
Description
All JNI entrypoints that exist in JDK static libraries are by default declared as exported. If a dynamic library is built from these static libraries, we end up with many exported symbols even though we don't want to provide access to these entrypoints.
This RFE will allow the definition of JNIEXPORT in jni_md.h to be overridden and will change JDK build to override the declaration of JNIEXPORT for libraries built statically in order to inhibit the entrypoints from being exported. This will still allow linking of these functions into native libraries but will not export the JDK symbols outside of the generated libs.
This RFE will allow the definition of JNIEXPORT in jni_md.h to be overridden and will change JDK build to override the declaration of JNIEXPORT for libraries built statically in order to inhibit the entrypoints from being exported. This will still allow linking of these functions into native libraries but will not export the JDK symbols outside of the generated libs.
Attachments
Issue Links
- csr for
-
JDK-8239791 Reduce public exports in dynamic libraries built from JDK static libraries
- Closed
- relates to
-
JDK-8304871 Use default visibility for static library builds
- Resolved