Hi Thomas,

let me cite one section from the article:

----------------------------------------------

Visibility attribute and backward compatibility on AIX

As we know from the previous article, on AIX, symbols are not visible by 
default unless we export them at the linking stage, either manually or with the 
help of CreateExportList. However, on Linux, symbols are, by default, with 
export (namely default) visibility. This brings a gap between the AIX 
visibility attribute and the GNU visibility attribute. To be backward 
compatible, on AIX, XL C/C++ would not set all the symbols to be exported like 
Linux. It might consider symbol without any visibility setting to be an 
unspecific visibility, which aligns with an old AIX implementation. For such 
symbols, AIX compiler, linker, and related tools would handle it as before. 
However, unspecific visibility does not mean that the symbol is internal or 
invisible at all. It is just a visibility that is specially designed to keep 
the compatibility.

...

----------------------------------------------

It says in the first sentence: " As we know from the previous article, on AIX, 
symbols are not visible by default unless we export them at the linking stage, 
either manually or with the help of CreateExportList". I guess that is why I 
was under the impression that with xlc12 symbols would not be visible...

Best regards
Christoph

> -----Original Message-----
> From: Thomas Stüfe [mailto:thomas.stu...@gmail.com]
> Sent: Freitag, 27. April 2018 09:21
> To: Langer, Christoph <christoph.lan...@sap.com>
> Cc: Volker Simonis <volker.simo...@gmail.com>; Baesken, Matthias
> <matthias.baes...@sap.com>; Simonis, Volker <volker.simo...@sap.com>;
> ppc-aix-port-...@openjdk.java.net; core-libs-dev@openjdk.java.net; build-
> d...@openjdk.java.net
> Subject: Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> 12.1
> 
> Hi Christoph
> 
> On Fri, Apr 27, 2018 at 8:07 AM, Langer, Christoph
> <christoph.lan...@sap.com> wrote:
> > Hi Thomas,
> >
> > Look at this blog: https://www.ibm.com/developerworks/aix/library/au-
> aix-symbol-visibility-part2/index.html
> >
> > if I understand it correctly, the xlc 12 default behavior should be like 
> > what
> we'd expect from -qvisibility=hidden.
> >
> 
> Where in this article do you read this?
> 
> ..Thomas
> 
> > Best regards
> > Christoph
> >
> >> -----Original Message-----
> >> From: build-dev [mailto:build-dev-boun...@openjdk.java.net] On Behalf
> Of
> >> Thomas Stüfe
> >> Sent: Freitag, 27. April 2018 06:55
> >> To: Volker Simonis <volker.simo...@gmail.com>; Baesken, Matthias
> >> <matthias.baes...@sap.com>
> >> Cc: Simonis, Volker <volker.simo...@sap.com>; ppc-aix-port-
> >> d...@openjdk.java.net; core-libs-dev@openjdk.java.net; build-
> >> d...@openjdk.java.net
> >> Subject: Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc
> 12.1
> >>
> >> Hi,
> >>
> >> This was added by "8200178: Remove mapfiles for JDK native libraries".
> >> But if the flag is not accepted, what is the default behavior? Do we
> >> now export everything?
> >>
> >> I'd like to understand this first before removing the flag to get rid
> >> of the warnings.
> >>
> >> Best Regards, Thomas
> >>
> >> On Thu, Apr 26, 2018 at 5:16 PM, Volker Simonis
> >> <volker.simo...@gmail.com> wrote:
> >> > Hi Matthias,
> >> >
> >> > after Bhaktavatsal Reddy's report about the problems with
> >> > "-qvisibility" with xlC 13 and taking into account that we can't test
> >> > this anyway because we don't currently have xlC 13
> >> >  on our machines I think it would be best to completely remove this
> >> > option for now on AIX. Once we get xlC 13 we can revisit the issue.
> >> >
> >> > Thanks,
> >> > Volker
> >> >
> >> >
> >> > On Thu, Apr 26, 2018 at 4:59 PM, Bhaktavatsal R Maram
> >> > <bhama...@in.ibm.com> wrote:
> >> >> Hi Matthias,
> >> >>
> >> >> At this point, I think we can remove the flag as you found that it is 
> >> >> not
> >> supported in XLC < 13. And with XLC 13, it require more work to use this
> flag.
> >> >>
> >> >> Thanks,
> >> >> Bhaktavatsal Reddy
> >> >>
> >> >>
> >> >>
> >> >> -----"Baesken, Matthias" <matthias.baes...@sap.com> wrote: -----
> >> >> To: "Langer, Christoph" <christoph.lan...@sap.com>, "'build-
> >> d...@openjdk.java.net'" <build-...@openjdk.java.net>, "ppc-aix-port-
> >> d...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, "core-
> libs-
> >> d...@openjdk.java.net" <core-libs-dev@openjdk.java.net>
> >> >> From: "Baesken, Matthias" <matthias.baes...@sap.com>
> >> >> Date: 04/26/2018 08:23PM
> >> >> Cc: "Simonis, Volker" <volker.simo...@sap.com>, Bhaktavatsal R
> Maram
> >> <bhama...@in.ibm.com>
> >> >> Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on 
> >> >> xlc
> >> 12.1
> >> >>
> >> >>
> >> >>  Hello Christoph,   I think  all XLC versions  < 12.1   are unsupported
> (and
> >> probably not working anyway)  for the OpenJDK  build .
> >> >>  I am only aware   of  XLC  versions  12.1  and 13.1    which  work / 
> >> >> in case
> of
> >> 13.1  “might” work   for OpenJDK compilation .
> >> >>  And for 12.1  I want to remove the flags  .
> >> >>
> >> >>  ( waiting for the feedback  of   Bhaktavatsal Reddy ,  in case he  
> >> >> prefers
> it
> >> I remove them for all xlC versions including 13.1 )
> >> >>
> >> >>  Best regards, Matthias
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>  From: Langer, Christoph
> >> >>  Sent: Donnerstag, 26. April 2018 16:38
> >> >>  To: Baesken, Matthias <matthias.baes...@sap.com>; 'build-
> >> d...@openjdk.java.net' <build-...@openjdk.java.net>; ppc-aix-port-
> >> d...@openjdk.java.net; core-libs-dev@openjdk.java.net
> >> >>  Cc: Simonis, Volker <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-...@openjdk.java.net' <build-...@openjdk.java.net>;
> ppc-
> >> aix-port-...@openjdk.java.net; core-libs-dev@openjdk.java.net
> >> >>  Cc: Langer, Christoph <christoph.lan...@sap.com>; Simonis, Volker
> >> <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