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