Hi ,  my change  8202322   just  handled  the fact   that  the  visibility - 
flags   are not supported  with  xlc 12.1  ,  so  setting them generated a TON 
of compile - time  warnings .

The introduction of   the  "-qvisibility=hidden"    came with the  mapfile 
removal changes :

8200358: Remove mapfiles for JDK executables
http://hg.openjdk.java.net/jdk/jdk/rev/210cf224b690

8200178: Remove mapfiles for JDK native libraries
http://hg.openjdk.java.net/jdk/jdk/rev/396ea30afbd5

I guess it  might  need further  testing+adjustments  to make  the  "visibility 
hiding" work nicely   with XLC13  ,  but currently  we build only with XLC12 .  

As a workaround  you might want to  remove  the  "-qvisibility=hidden"  setting 
for XLC 13 as well  ,  like I did  for XLC12 with  the change   8202322   .


Best regards, Matthias




> -----Original Message-----
> From: Langer, Christoph
> Sent: Freitag, 1. Juni 2018 10:57
> To: Ichiroh Takiguchi <taki...@linux.vnet.ibm.com>
> Cc: Baesken, Matthias <matthias.baes...@sap.com>; 'build-
> d...@openjdk.java.net' <build-dev@openjdk.java.net>; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> Goetz <goetz.lindenma...@sap.com>
> Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> 12.1
> 
> Hi Ichiroh,
> 
> we do not use the XLC 13 compiler on AIX yet here at SAP and I believe
> nobody of my colleagues has played with it yet. So you are on a new
> playground here 😊
> 
> However, I believe the idea in OpenJDK with the abolition of map files is that
> symbols should be invisible externally unless they are declared exported,
> e.g. JNIEXPORT. So I would think "-qvisibility=hidden" should be the correct
> default and whatever JNIEXPORT expands to should contain the right
> attributes to get that symbol visible.
> 
> Can you check if either my assumption is completely wrong, JNIEXPORT does
> not expand to the right thing, XLC 13 has a bug or maybe just sume specific
> required symbols are not declared correctly?
> 
> Best regards
> Christoph
> 
> > -----Original Message-----
> > From: Ichiroh Takiguchi [mailto:taki...@linux.vnet.ibm.com]
> > Sent: Donnerstag, 31. Mai 2018 09:55
> > To: Langer, Christoph <christoph.lan...@sap.com>
> > Cc: Baesken, Matthias <matthias.baes...@sap.com>; 'build-
> > d...@openjdk.java.net' <build-dev@openjdk.java.net>; ppc-aix-port-
> > d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> > Goetz <goetz.lindenma...@sap.com>
> > Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> > 12.1
> >
> > Hello.
> > 8202322 was integrated into jdk-11+15.
> > I'm using XLC 13.1.3 on AIX 7.1.4.
> > Build was failed because of "-qvisibility=hidden" on
> > make/lib/LibCommon.gmk.
> > According to "XL C/C++ for AIX 13.1.3" documentation [1],
> > "-qvisibility=hidden" cannot create shared libraries entry points.
> > For example, libverify.so was there, but entry points were not resolved
> > by "-lverify" option.
> > I think it should be "-qvisibility=default" (I tried, it worked)
> > or "-qvisibility=protected" (I had not tried) ?
> > I'm not familiar with -qvisibility option, but I'd like to find out
> > right way.
> >
> > [1]
> >
> https://www.ibm.com/support/knowledgecenter/SSGH3R_13.1.3/com.ibm.
> > xlcpp1313.aix.doc/compiler_ref/opt_visibility.html
> >
> > On 2018-05-16 16:08, Langer, Christoph wrote:
> > > Hi Matthias,
> > >
> > > yes, reviewed.
> > >
> > > Best regards
> > > Christoph
> > >
> > > From: Baesken, Matthias
> > > Sent: Mittwoch, 16. Mai 2018 09:06
> > > To: Langer, Christoph <christoph.lan...@sap.com>;
> > > 'build-dev@openjdk.java.net' <build-dev@openjdk.java.net>;
> > > ppc-aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
> > > Cc: Lindenmaier, Goetz <goetz.lindenma...@sap.com>
> > > Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on
> > > xlc 12.1
> > >
> > > Hi  Christoph can I add you as second reviewer  (other reviewer was
> > > Erik Joelsson) can push the change ?
> > >
> > > Best regards, Matthias
> > >
> > >
> > >
> > > From: Langer, Christoph
> > > Sent: Donnerstag, 26. April 2018 16:38
> > > To: Baesken, Matthias
> > > <matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>>;
> > > 'build-dev@openjdk.java.net'
> > > <build-dev@openjdk.java.net<mailto:build-dev@openjdk.java.net>>;
> > > ppc-aix-port-...@openjdk.java.net<mailto:ppc-aix-port-
> > d...@openjdk.java.net>;
> > > core-libs-...@openjdk.java.net<mailto:core-libs-
> d...@openjdk.java.net>
> > > Cc: Simonis, Volker
> > > <volker.simo...@sap.com<mailto:volker.simo...@sap.com>>
> > > Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on
> > > xlc 12.1
> > >
> > > Hi Matthias,
> > >
> > > to me the change in principal looks good.
> > >
> > > I'm wondering if it is possible to do a comparison like xlc < 13 (e.g.
> > > extract major number before the first dot, then compare numerically) -
> > > but maybe it is too complicated and the current single version compare
> > > suits our needs ?
> > >
> > > Best regards
> > > Christoph
> > >
> > > From: Baesken, Matthias
> > > Sent: Donnerstag, 26. April 2018 16:14
> > > To: 'build-dev@openjdk.java.net'
> > > <build-dev@openjdk.java.net<mailto:build-dev@openjdk.java.net>>;
> > > ppc-aix-port-...@openjdk.java.net<mailto:ppc-aix-port-
> > d...@openjdk.java.net>;
> > > core-libs-...@openjdk.java.net<mailto:core-libs-
> d...@openjdk.java.net>
> > > Cc: Langer, Christoph
> > > <christoph.lan...@sap.com<mailto:christoph.lan...@sap.com>>;
> Simonis,
> > > Volker <volker.simo...@sap.com<mailto:volker.simo...@sap.com>>
> > > Subject: RFR : 8202322: AIX: symbol visibility flags not support on xlc
> > > 12.1
> > >
> > > Hello  ,  could you please review this small adjustment to  the symbol
> > > visibility compilation settings on AIX ?
> > > Currently  we use  XLC 12.1  to compile  JDK on AIX .
> > >
> > > However XLC 12.1   does not support  the "-qvisibility=hidden"
> > > setting currently set on AIX.
> > > It was introduced with  XLC 13.1 . Christoph found some info about it
> > > here :
> > >
> > > https://www.ibm.com/developerworks/aix/library/au-aix-symbol-
> > visibility-part2/index.html
> > >
> > > Setting it  only generates  hundreds  of warnings  in the build log ,
> > > warnings look like this :
> > > XlC12.1
> > >
> > > bash-4.4$ xlC -qversion
> > > IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72)
> > > Version: 12.01.0000.0019
> > >
> > > bash-4.4$ xlC -qvisibility=hidden sizeof.c -o sizeof_aixxlc
> > > 1506-173 (W) Option visibility=hidden is not valid. Enter xlC for list
> > > of valid options.
> > >
> > > Compare to XLC13.1
> > >
> > > bash-3.00$ xlC -qversion
> > > IBM XL C/C++ for AIX, V13.1 (5725-C72, 5765-J07)
> > > Version: 13.01.0000.0008
> > > bash-3.00$ xlC -qvisibility=default sizeof.c -o sizeof_aixxlc
> > > bash-3.00$ xlC -qvisibility=hidden sizeof.c -o sizeof_aixxlc
> > >
> > >
> > > So it is better to avoid  setting these flags when using xlc12.1   .
> > > Please review :
> > >
> > > Bug :
> > >
> > > https://bugs.openjdk.java.net/browse/JDK-8202322
> > >
> > > Change :
> > >
> > > http://cr.openjdk.java.net/~mbaesken/webrevs/8202322/
> > >
> > >
> > > Best regards, Matthias

Reply via email to