[OpenJDK 2D-Dev] Remove including of link.h to improve portability
Phil Race
philip.race at oracle.com
Mon Mar 12 11:22:40 PDT 2012
I added two of those includes myself I believe and I doubt I did it
unless needed
and others apparently found it necessary too. So we need to be sure this
is OK.
However at least one of those I added dates back to Solaris 8 being the
build platform
so maybe its no longer needed.
I ran the patch through our internal jprt build system on all platforms
which
for Solaris uses a recent Solaris 10 update and it built fine. I didn't
notice
any new warnings on the files I know anything about.
> 7152519
It was incorrectly submitted as awt, I moved it to 2D.
But I think you should split this into 2 patches.
The above bug can be used for all the 2D ones and push to 2d.
The other one for the nio and security patches can go to the "tl" repo.
-phil.
On 3/11/2012 8:29 PM, Jonathan Lu wrote:
> Bug 7152519 has been created for this patch.
>
> - Jonathan
>
> On 03/09/2012 07:49 PM, Jonathan Lu wrote:
>> 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
>>
>
More information about the nio-dev
mailing list