Hi Christoph, 

This looks good now.  Please adapt the copyright year in java_md.h.
I would appreciate this getting pushed to get our builds going again.

Best regards,
  Goetz.




> -----Original Message-----
> From: Langer, Christoph
> Sent: Montag, 19. September 2016 10:45
> To: Volker Simonis <volker.simo...@gmail.com>
> Cc: Kumar Srinivasan <kumar.x.sriniva...@oracle.com>; Mandy Chung
> <mandy.ch...@oracle.com>; Chris Bensen <chris.ben...@oracle.com>;
> Lindenmaier, Goetz <goetz.lindenma...@sap.com>; core-libs-dev <core-libs-
> d...@openjdk.java.net>; ppc-aix-port-...@openjdk.java.net; Dmitry
> Samersoff <dmitry.samers...@oracle.com>
> Subject: RE: RFR: 8166189: Fix for Bug 8165524 breaks AIX build
> 
> Hi all,
> 
> thanks for your valuable input.
> 
> So, since libjli.so can't use libjvm.so and its dladdr() port, there's no way
> around the libjli.so specific version of it. However, in libjli.so it is only 
> used for
> resolving pathnames of the program, so the code can be very lean. Hence I
> completely reduced it to delivering the pathname of a module. And this code
> is not thread safe, as Volker mentioned. I would think/hope that a launcher
> would do its resolving work all in one thread and this should not be an issue.
> Maybe someone of the jli experts can confirm this or object against it. For
> now I would not spend more efforts in making this multi thread capable.
> 
> As for the libawt version of dladdr(), this one should be removed and
> redirected to hotspot. I'll have a look at this when I find time.
> 
> Please find a new webrev where I have addressed all findings and concerns
> - corrected spaces and indentation
> - removed the printf output in favor of handling the return code
> - only fill the info->dli_fname field
> - move conditional include to src/java.base/unix/native/libjli/java_md.h
> 
> http://cr.openjdk.java.net/~clanger/webrevs/8166189.1/
> 
> Best regards
> Christoph
> 
> > -----Original Message-----
> > From: Volker Simonis [mailto:volker.simo...@gmail.com]
> > Sent: Freitag, 16. September 2016 19:34
> > To: Langer, Christoph <christoph.lan...@sap.com>
> > Cc: Kumar Srinivasan <kumar.x.sriniva...@oracle.com>; Mandy Chung
> > <mandy.ch...@oracle.com>; Chris Bensen <chris.ben...@oracle.com>;
> > Thomas Stüfe <thomas.stu...@gmail.com>; Lindenmaier, Goetz
> > <goetz.lindenma...@sap.com>; core-libs-dev <core-libs-
> > d...@openjdk.java.net>; ppc-aix-port-...@openjdk.java.net
> > Subject: Re: RFR: 8166189: Fix for Bug 8165524 breaks AIX build
> >
> > Hi Christoph,
> >
> > I think your change is fine as a quick-fix to fix the build. But
> > you're completely right that this should be reworked in the long term.
> > I hate to see that we now have the third version of these routines in
> > the OpenJDK. Unfortunately a clean solution is not trivial.
> >
> > libjli is not linked against libjvm because libjli is actually used to
> > load libjvm. So we can not put the dladdr routines for AIX there. But
> > I think we should at least consolidate the two versions which will be
> > in the class library after your change. Initially I intentionally put
> > porting_aix.{c,h} into jdk/aix/porting with the intent to make it
> > available to ALL jdk native libraries.
> >
> > Unfortunately, with the source code reorganization due to the modular
> > changes, the common, top-level aix repository had to go away and the
> > code was moved to src/java.desktop/aix/native/libawt/porting_aix.c.
> > With the reorganized, modularized source code layout and build system
> > it is not possible to share code between modules. We somehow have to
> > fix this although I currently don't know how. IF somebody has an idea,
> > please let me know :)
> >
> > Regarding your change:
> >
> > - can you please move
> >
> > +#if defined(_AIX)
> > +#include "java_md_aix.h"
> > +#endif
> > +
> >
> > from java_md_common.c to the end of
> > java.base/unix/native/libjli/java_md.h. It will then be automatically
> > included into java_md_common.c trough java.h which includes java_md.h
> >
> > Also, this version of dladdr is inherently not thread safe. I don't
> > think that's a problem here, but it would be nice if you could quickly
> > check if that's indeed true.
> >
> > Besides that, looks good.
> >
> > Thanks for fixing,
> > Volker
> >
> >
> >
> >
> > On Fri, Sep 16, 2016 at 11:58 AM, Langer, Christoph
> > <christoph.lan...@sap.com> wrote:
> > > Hi,
> > >
> > > the fix for https://bugs.openjdk.java.net/browse/JDK-8165524 breaks
> the AIX
> > build as function dladdr is not available on AIX.
> > >
> > > There already exist ports of that API in hotspot and awt. With the
> proposed
> > change I duplicate the awt port to libjli. This is maybe only a quick fix -
> > eventually we should think about consolidating and using the hotspot port
> in all
> > places by exporting it from libjvm.so for AIX.
> > >
> > > Bug: https://bugs.openjdk.java.net/browse/JDK-8166189
> > > Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8166189.0/
> > >
> > > Thanks
> > > Christoph
> > >
> > >
> > >> -----Original Message-----
> > >> From: core-libs-dev [mailto:core-libs-dev-boun...@openjdk.java.net]
> On
> > Behalf
> > >> Of Kumar Srinivasan
> > >> Sent: Montag, 12. September 2016 22:57
> > >> To: core-libs-dev <core-libs-dev@openjdk.java.net>; Mandy Chung
> > >> <mandy.ch...@oracle.com>; Chris Bensen
> <chris.ben...@oracle.com>
> > >> Subject: RFR: 8165524: Better detect JRE that Linux JLI will be using
> > >>
> > >> Hello,
> > >>
> > >> I am sponsoring this changeset for Chris Bensen of the java packager
> > >> team, please review  fix for the launcher to  better locate java.home.
> > >>
> > >> http://cr.openjdk.java.net/~ksrini/8165524/
> > >>
> > >> Thanks
> > >> Kumar
> > >

Reply via email to