[OpenJDK 2D-Dev] Remove including of link.h to improve portability

Jonathan Lu luchsh at linux.vnet.ibm.com
Fri Mar 9 11:49:06 UTC 2012


 Hello 2d-dev,

I find that link.h is included in several place of OpenJDK code, mostly
together with dlfcn.h, but this caused portability problem in my testing on
some Unix platforms, such as AIX.
So far as I see OpenJDK only makes use of basic POSIX.1-2001 compatible
dynamic library manipulation functions, such as dlopen, dlclose, dlsym,
dlerr functions, no other extensions found, so is link.h still neccessary
for current implementation? because link.h is not found in the c-POSIX
standard headers (http://en.wikipedia.org/wiki/C_POSIX_library) and I think
this removal will be an enhancement for portability, does that make sense?

Here's the proposed patch, since most parts of it are from Java2d so I post
it here for discussion.
http://cr.openjdk.java.net/~luchsh/remove_link_h/

And one more question, in
src/solaris/native/sun/java2d/x11/XRBackendNative.c I found following
comments
 #ifdef __solaris__
 /* Solaris 10 will not have these symbols at runtime */
 #include <link.h>

And in src/solaris/native/sun/awt/fontpath.c,
 #include <dlfcn.h>
 #ifndef __linux__ /* i.e. is solaris */
 #include <link.h>
 #endif

I've built successfully on Ubuntu 11.10 32bit and OpenSolaris Express
2010.11 x86, the patch seems to be OK, but does anybody know the situation
on Solaris (e.g. Solaris 10) of this problem?
I assume it will also comply with POSIX.1-2001 standard, and provide all
the required functions in dlfcn.h, right?

Cheers!
- Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20120309/7132ccb1/attachment.html>


More information about the 2d-dev mailing list