[OpenJDK 2D-Dev] Remove including of link.h to improve portability
Jonathan Lu
luchsh at linux.vnet.ibm.com
Tue Mar 13 03:14:19 PDT 2012
Hi Phil,
Thanks a lot for the review and testing, I've splited the patch into two
parts, one for 2D repository and another for TL. Here's the patch for 2D
repository:
http://cr.openjdk.java.net/~luchsh/7152519/
So could anybody please help to do another review?
Thanks a lot!
- Jonathan
On 03/13/2012 02:22 AM, Phil Race wrote:
> 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