RFR(S): 8171906: Changes for 8148023 break AIX build

Volker Simonis volker.simonis at gmail.com
Fri Dec 23 10:46:18 UTC 2016


On Thu, Dec 22, 2016 at 4:03 PM, Langer, Christoph
<christoph.langer at sap.com> wrote:
> Hi,
>
>
>
> after the fix for 8148023 was pushed, the AIX build is broken. Please review
> a fix for this:
>
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8171906
>
> Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8171906.0/
>
>
>
> The build breaks because NAME_MAX is not defined on AIX (just like Solaris,
> I guess) and we have to define it in UnixFileSystem_md.c.
>
>
>
> When working on this fix, I spotted some compiler warnings indicating that
> if one is working with the APIs readdir64 and friends on AIX, one has to use
> the type DIR64 instead of DIR and to open/close with opendir64/closedir64. I
> guess that’s specific to AIX, see IBM’s documentation [1].
>
> Furthermore, although fdopendir64 is not mentioned there but just fdopendir,
> both APIs exist from AIX 7.1 onwards (look at <sys/dir.h> on an AIX 7.1). So
> I added some defines for AIX to redirect the API calls.
>

Not sure if we've already agreed to only support AIX 7.1 and higher with Java 9.
If yes, the change is fine, otherwise we may check the result of
dlsym(RTLD_DEFAULT, "fdopendir64") and fallback to dlsym(RTLD_DEFAULT,
"fdopendir") if the former is NULL.

Regards,
Volker

>
>
> Thanks and best regards
>
> Christoph
>
>
>
> [1]
> http://www.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.basetrf1/opendir.htm
>
>


More information about the nio-dev mailing list