JDK-7152519 : Dependency on non-POSIX header file causes portability problem
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2012-03-09
  • Updated: 2013-08-21
  • Resolved: 2012-04-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8
7u40Fixed 8 b36Fixed
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :


ADDITIONAL OS VERSION INFORMATION :
Linux 3.0, IBM AIX 7.1

A DESCRIPTION OF THE PROBLEM :
link.h is included in following source files from OpenJDK codebase

src/solaris/npt/npt_md.h
src/solaris/native/sun/awt/fontpath.c
src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
src/solaris/native/sun/java2d/x11/XRBackendNative.c
src/solaris/native/sun/security/pkcs11/j2secmod_md.c
src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c
src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c
src/solaris/native/sun/security/smartcardio/pcsc_md.c
src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c

But link.h is not part of POSIX standard, see http://en.wikipedia.org/wiki/C_POSIX_library, moreover this including causes portability problem for other Unix-like platforms, such as AIX. So far as I see, OpenJDK only uses POSIX.1-2001 compatible dlopen, dlclose, dlsym, dlerror functions, no special extensions involved, so here suggest to remove link.h and use dlfcn.h only.



REPRODUCIBILITY :
This bug can be reproduced always.

Comments
EVALUATION If we can prove they aren't needed on Solaris then we can remove these.
12-03-2012