Fwd: Remove including of link.h to improve portability

Jonathan Lu luchsh at linux.vnet.ibm.com
Sun Mar 11 19:45:43 PDT 2012


Copy to security-dev and nio-dev since files from these two modules are 
also included in this patch.

-Jonathan

-------- Original Message --------
Subject: 	Remove including of link.h to improve portability
Date: 	Fri, 9 Mar 2012 19:49:06 +0800
From: 	Jonathan Lu <luchsh at linux.vnet.ibm.com>
To: 	2d-dev at openjdk.java.net



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/ 
<http://cr.openjdk.java.net/%7Eluchsh/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/nio-dev/attachments/20120312/dee3534b/attachment.html 


More information about the nio-dev mailing list