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