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

Langer, Christoph christoph.langer at sap.com
Fri Dec 23 11:11:04 UTC 2016


Hi Volker,

I think this is no concern. Either both, fdopendir and fdopendir64, exist (in AIX 7.1) or none (earlier AIX releases).
And the code can live with both situations, as the functions are dynamically loaded and these capabilities are registered at runtime.

Best regards
Christoph

> -----Original Message-----
> From: Volker Simonis [mailto:volker.simonis at gmail.com]
> Sent: Freitag, 23. Dezember 2016 11:46
> To: Langer, Christoph <christoph.langer at sap.com>
> Cc: core-libs-dev at openjdk.java.net; nio-dev at openjdk.java.net; ppc-aix-port-
> dev at openjdk.java.net; Brian Burkhalter <brian.burkhalter at oracle.com>;
> Roger Riggs <Roger.Riggs at oracle.com>; Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com>
> Subject: Re: RFR(S): 8171906: Changes for 8148023 break AIX build
> 
> 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.baset
> rf1/opendir.htm
> >
> >


More information about the nio-dev mailing list