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

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Thu Dec 22 16:03:19 UTC 2016


Hi Christoph,

> -----Original Message-----
> From: Langer, Christoph
> Sent: Donnerstag, 22. Dezember 2016 16:20
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
> Cc: Brian Burkhalter <brian.burkhalter at oracle.com>; Roger Riggs
> <Roger.Riggs at Oracle.com>; Volker Simonis <volker.simonis at gmail.com>;
> core-libs-dev at openjdk.java.net; nio-dev at openjdk.java.net; ppc-aix-port-
> dev at openjdk.java.net
> Subject: RE: RFR(S): 8171906: Changes for 8148023 break AIX build
> 
> Hi Goetz,
> 
> thanks for your comments.
> 
> The platform sorting I'm using usually (in libnet) is Linux, AIX, Solaris, BSD. As
> we are libnio, are there other wishes ore guidelines?
No, if it is consistent in that component it's fine.

> As for fdopendir in UnixNativeDispatcher: This function is resolved via dlsym to
> a function pointer. So I thought it's ok to just load fdopendir64 at dlsym time to
> the fdopendir ptr and we don't have to have #ifdefs in the function where
> fdopendir is called.
Oh, right, it's a string anyways ...

Looks good.

Best, Goetz.


> 
> Best regards
> Christoph
> 
> > -----Original Message-----
> > From: Lindenmaier, Goetz
> > Sent: Donnerstag, 22. Dezember 2016 16:14
> > To: Langer, Christoph <christoph.langer at sap.com>; core-libs-
> > dev at openjdk.java.net; nio-dev at openjdk.java.net; ppc-aix-port-
> > dev at openjdk.java.net
> > Cc: Brian Burkhalter <brian.burkhalter at oracle.com>; Roger Riggs
> > <Roger.Riggs at Oracle.com>; Volker Simonis <volker.simonis at gmail.com>
> > Subject: RE: RFR(S): 8171906: Changes for 8148023 break AIX build
> >
> > Hi Christoph,
> >
> > good to get this fixed.
> >
> > As you move the solaris section in UnixFileSystem_md.c, you could move it
> > behind BSD
> > to sort it alphabetically as in other places.
> >
> > Why did you choose to define opendir to opendir64, but not so for fdopendir
> in
> > UnixNativeDispatcher.c?
> >
> > Looks good otherwise.
> >
> > Best regards,
> >   Goetz.
> >
> > > -----Original Message-----
> > > From: Langer, Christoph
> > > Sent: Donnerstag, 22. Dezember 2016 16:04
> > > To: core-libs-dev at openjdk.java.net; nio-dev at openjdk.java.net; ppc-aix-
> port-
> > > dev at openjdk.java.net
> > > Cc: Brian Burkhalter <brian.burkhalter at oracle.com>; Roger Riggs
> > > <Roger.Riggs at Oracle.com>; Volker Simonis <volker.simonis at gmail.com>;
> > > Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
> > > Subject: RFR(S): 8171906: Changes for 8148023 break AIX build
> > >
> > > 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.
> > >
> > >
> > >
> > > 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 core-libs-dev mailing list