United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7152519 Dependency on non-POSIX header file <link.h> causes portability problem
JDK-7152519 : Dependency on non-POSIX header file causes portability problem

Details
Type:
Bug
Submit Date:
2012-03-09
Status:
Resolved
Updated Date:
2012-12-13
Project Name:
JDK
Resolved Date:
2012-04-25
Component:
client-libs
OS:
linux
Sub-Component:
2d
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:

Related Reports
Backport:
Relates:

Sub Tasks

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.
                                     
2012-03-12



Hardware and Software, Engineered to Work Together