RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-06-07 Thread Langer, Christoph
Hi Ichiroh,

your proposal seems to make sense. I have created a bug for this: 
https://bugs.openjdk.java.net/browse/JDK-8204541

Can you please generate a webrev (referencing this bug, -c option of 
webrev.ksh) and mail it over to me. Then I'll upload it and you can post an 
official RFR mail.

Best regards
Christoph

> -Original Message-
> From: Ichiroh Takiguchi [mailto:taki...@linux.vnet.ibm.com]
> Sent: Dienstag, 5. Juni 2018 08:59
> To: Baesken, Matthias 
> Cc: Langer, Christoph ; 'build-
> d...@openjdk.java.net' ; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> Goetz 
> Subject: RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> 12.1
> 
> Hello Matthias and Christoph.
> Thank you for your explanations.
> 
> I did not have enough knowledge about "visibility".
> 
> I created following patches.
> 
> 
> diff -r 02934b0d661b
> src/java.base/share/native/libjimage/NativeImageBuffer.cpp
> --- a/src/java.base/share/native/libjimage/NativeImageBuffer.cpp  Wed
> May
> 30 14:46:28 2018 +0200
> +++ b/src/java.base/share/native/libjimage/NativeImageBuffer.cpp  Tue Jun
> 05 12:10:41 2018 +0900
> @@ -39,7 +39,9 @@
>   #include "imageFile.hpp"
>   #include "inttypes.hpp"
>   #include "jimage.hpp"
> +#if !defined(_AIX)
>   #include "osSupport.hpp"
> +#endif
> 
>   #include "jdk_internal_jimage_NativeImageBuffer.h"
> 
> diff -r 02934b0d661b src/java.base/unix/native/include/jni_md.h
> --- a/src/java.base/unix/native/include/jni_md.h  Wed May 30 14:46:28
> 2018 +0200
> +++ b/src/java.base/unix/native/include/jni_md.h  Tue Jun 05 12:10:41
> 2018 +0900
> @@ -29,7 +29,8 @@
>   #ifndef __has_attribute
> #define __has_attribute(x) 0
>   #endif
> -#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) &&
> (__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
> +#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) &&
> (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) \
> +|| (defined(_AIX) && (defined(__xlC__) && (__xlC__ >= 0xD01)))
> #ifdef ARM
>   #define JNIEXPORT
> __attribute__((externally_visible,visibility("default")))
>   #define JNIIMPORT
> __attribute__((externally_visible,visibility("default")))
> 
> 
> If "osSupport.hpp" was included, XLC++ compiler complained.
> I could not understand, which part was invalid...
> I'm not sure, "osSupport.hpp" is really required on
> NativeImageBuffer.cpp or not...
> 
> I added __xlC__ macro to determine XLC/C++'s version# into jni_md.h. [1]
> 0xD01 means 13.1 by hexadecimal.
> 
> I checked symbol table by "dump -Tv -X64". [2]
> It seemed it was fine, some symbols were hidden.
> 
> Does someone review my code?
> 
> [1]
> https://www.ibm.com/support/knowledgecenter/en/SSGH2K_13.1.3/com.i
> bm.xlc1313.aix.doc/compiler_ref/xlmacros.html
> [2]
> https://www.ibm.com/developerworks/aix/library/au-aix-symbol-
> visibility/index.html
> 
> On 2018-06-01 21:12, Baesken, Matthias wrote:
> > 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 
> >> Cc: Baesken, Matthias ; 'build-
> >> d...@openjdk.java.net' ; ppc-aix-port-
> >> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> >> Goetz 
> >> Subject: RE: RFR : 8202322: AIX: symbol visibility fl

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-06-05 Thread Ichiroh Takiguchi

Hello Matthias and Christoph.
Thank you for your explanations.

I did not have enough knowledge about "visibility".

I created following patches.


diff -r 02934b0d661b 
src/java.base/share/native/libjimage/NativeImageBuffer.cpp
--- a/src/java.base/share/native/libjimage/NativeImageBuffer.cpp	Wed May 
30 14:46:28 2018 +0200
+++ b/src/java.base/share/native/libjimage/NativeImageBuffer.cpp	Tue Jun 
05 12:10:41 2018 +0900

@@ -39,7 +39,9 @@
 #include "imageFile.hpp"
 #include "inttypes.hpp"
 #include "jimage.hpp"
+#if !defined(_AIX)
 #include "osSupport.hpp"
+#endif

 #include "jdk_internal_jimage_NativeImageBuffer.h"

diff -r 02934b0d661b src/java.base/unix/native/include/jni_md.h
--- a/src/java.base/unix/native/include/jni_md.h	Wed May 30 14:46:28 
2018 +0200
+++ b/src/java.base/unix/native/include/jni_md.h	Tue Jun 05 12:10:41 
2018 +0900

@@ -29,7 +29,8 @@
 #ifndef __has_attribute
   #define __has_attribute(x) 0
 #endif
-#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && 
(__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
+#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && 
(__GNUC_MINOR__ > 2))) || __has_attribute(visibility) \

+|| (defined(_AIX) && (defined(__xlC__) && (__xlC__ >= 0xD01)))
   #ifdef ARM
 #define JNIEXPORT 
__attribute__((externally_visible,visibility("default")))
 #define JNIIMPORT 
__attribute__((externally_visible,visibility("default")))



If "osSupport.hpp" was included, XLC++ compiler complained.
I could not understand, which part was invalid...
I'm not sure, "osSupport.hpp" is really required on 
NativeImageBuffer.cpp or not...


I added __xlC__ macro to determine XLC/C++'s version# into jni_md.h. [1]
0xD01 means 13.1 by hexadecimal.

I checked symbol table by "dump -Tv -X64". [2]
It seemed it was fine, some symbols were hidden.

Does someone review my code?

[1] 
https://www.ibm.com/support/knowledgecenter/en/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/xlmacros.html
[2] 
https://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/index.html


On 2018-06-01 21:12, Baesken, Matthias wrote:

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 
Cc: Baesken, Matthias ; 'build-
d...@openjdk.java.net' ; ppc-aix-port-
d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
Goetz 
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 
> Cc: Baesken, Matthias ; 'build-
> d...@openjdk.java.net' ; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> Goetz 
> 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],
> &qu

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-06-01 Thread Baesken, Matthias
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 
> Cc: Baesken, Matthias ; 'build-
> d...@openjdk.java.net' ; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> Goetz 
> 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 
> > Cc: Baesken, Matthias ; 'build-
> > d...@openjdk.java.net' ; ppc-aix-port-
> > d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> > Goetz 
> > 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 ;
> > > 'build-dev@openjdk.java.net' ;
> > > ppc-aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
> > > Cc: Lindenmaier, Goetz 
> > > 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
> > > mailto:matthias.baes...@sap.com>>;
> > > '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
> > > mailto:volker.simo...@sap.com>>
> > > Subject: RE: RFR 

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-06-01 Thread Langer, Christoph
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 
> Cc: Baesken, Matthias ; 'build-
> d...@openjdk.java.net' ; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@openjdk.java.net; Lindenmaier,
> Goetz 
> 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 ;
> > 'build-dev@openjdk.java.net' ;
> > ppc-aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
> > Cc: Lindenmaier, Goetz 
> > 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
> > mailto:matthias.baes...@sap.com>>;
> > '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-...@openjdk.java.net>
> > Cc: Simonis, Volker
> > 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'
> > 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-...@openjdk.java.net>
> > Cc: Langer, Christoph
> > mailto:christoph.lan...@sap.com>>; Simonis,
> > Volker 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
> >

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-05-31 Thread Ichiroh Takiguchi

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 ;
'build-dev@openjdk.java.net' ;
ppc-aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
Cc: Lindenmaier, Goetz 
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
mailto:matthias.baes...@sap.com>>;
'build-dev@openjdk.java.net'
mailto:build-dev@openjdk.java.net>>;
ppc-aix-port-...@openjdk.java.net<mailto:ppc-aix-port-...@openjdk.java.net>;
core-libs-...@openjdk.java.net<mailto:core-libs-...@openjdk.java.net>
Cc: Simonis, Volker 
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'
mailto:build-dev@openjdk.java.net>>;
ppc-aix-port-...@openjdk.java.net<mailto:ppc-aix-port-...@openjdk.java.net>;
core-libs-...@openjdk.java.net<mailto:core-libs-...@openjdk.java.net>
Cc: Langer, Christoph
mailto:christoph.lan...@sap.com>>; Simonis,
Volker 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..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..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




RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-05-16 Thread Langer, Christoph
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-...@openjdk.java.net>; 
core-libs-...@openjdk.java.net<mailto:core-libs-...@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-...@openjdk.java.net>; 
core-libs-...@openjdk.java.net<mailto:core-libs-...@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..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..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




RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-05-16 Thread Baesken, Matthias
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>; 'build-dev@openjdk.java.net' 
<build-dev@openjdk.java.net>; ppc-aix-port-...@openjdk.java.net; 
core-libs-...@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-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-...@openjdk.java.net>; 
core-libs-...@openjdk.java.net<mailto:core-libs-...@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..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..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




Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Thomas Stüfe
On Fri, Apr 27, 2018 at 5:01 PM, Baesken, Matthias
<matthias.baes...@sap.com> wrote:
>> I see tons of exports listed, most of which do not have the static
>> keyword. So, I would expect them to be exported from their compilation
>> unit, but not from the linked shared library? Am I making a thinking
>> error here?
>
> Hi Thomas , I see  "a ton"  of exported symbols as well  when looking into it 
> (e.g. libjvm.so)  with dump .
> More than one would like to have .
>

Okay, thanks for confirming this! I was not sure if I was using nm
correctly, or if it was lying to me.

> However  for now I think we  should progress with the suggested patch as it 
> is.
>

I agree, patch is fine. Thanks for fixing this.

> Once we switch to xlc 13  (or some follow up release of xlc)  that  supports  
> the visibility attributes
> ( as decribed in   
> https://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/index.html
>   )
>  we can open a follow up item  with compiler flag adjustment and  adjust 
> src/java.base/unix/native/include/jni_md.h , I think this file misses  a 
> proper  JNIEXPORT definition for AIX / xlc 13.1  ).
>

Okay, fine with me.

Best Regards, Thomas

>
> Best regards, Matthias
>
>
>
>> -Original Message-
>> From: Thomas Stüfe [mailto:thomas.stu...@gmail.com]
>> Sent: Freitag, 27. April 2018 10:04
>> 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-...@openjdk.java.net; build-
>> d...@openjdk.java.net
>> Subject: Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
>> 12.1
>>
>> On Fri, Apr 27, 2018 at 9:27 AM, Langer, Christoph
>> <christoph.lan...@sap.com> wrote:
>> > 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...
>> >
>>
>> :) Thanks for that pointer.
>>
>> I did read:
>>
>> "Consequently, as we have mentioned at the beginning of this article,
>> if the programmer does not explicitly specify the visibility attribute
>> for a symbol, on Linux, the visibility of the symbol could be
>> thedefault. But on AIX, the visibility would be unspecified."
>>
>> So I thought, default is "unspecified", which is not hidden.
>>
>> I just had a look at the libjvm.so from our nightly fastdebug build,
>> using "nm -g".
>>
>> I see tons of exports listed, most of which do not have the static
>> keyword. So, I would expect them to be exported from their compilation
>> unit, but not from the linked shared library? Am I making a thinking
>> error here?
>>
>> Anyway. I do not want to hold up this patch if you guys think it is
>> okay to ignore the compiler warning, so it is okay by me.
>>
>> Best Regards, Thomas
>>
>>
>> > Best regards
>> > Christoph
>> >
>> >> -Original Message-
>&

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Baesken, Matthias
> I see tons of exports listed, most of which do not have the static
> keyword. So, I would expect them to be exported from their compilation
> unit, but not from the linked shared library? Am I making a thinking
> error here?

Hi Thomas , I see  "a ton"  of exported symbols as well  when looking into it 
(e.g. libjvm.so)  with dump .
More than one would like to have .

However  for now I think we  should progress with the suggested patch as it is.

Once we switch to xlc 13  (or some follow up release of xlc)  that  supports  
the visibility attributes 
( as decribed in   
https://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/index.html
  )
 we can open a follow up item  with compiler flag adjustment and  adjust 
src/java.base/unix/native/include/jni_md.h , I think this file misses  a 
proper  JNIEXPORT definition for AIX / xlc 13.1  ).
 

Best regards, Matthias



> -Original Message-
> From: Thomas Stüfe [mailto:thomas.stu...@gmail.com]
> Sent: Freitag, 27. April 2018 10:04
> 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-...@openjdk.java.net; build-
> d...@openjdk.java.net
> Subject: Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> 12.1
> 
> On Fri, Apr 27, 2018 at 9:27 AM, Langer, Christoph
> <christoph.lan...@sap.com> wrote:
> > 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...
> >
> 
> :) Thanks for that pointer.
> 
> I did read:
> 
> "Consequently, as we have mentioned at the beginning of this article,
> if the programmer does not explicitly specify the visibility attribute
> for a symbol, on Linux, the visibility of the symbol could be
> thedefault. But on AIX, the visibility would be unspecified."
> 
> So I thought, default is "unspecified", which is not hidden.
> 
> I just had a look at the libjvm.so from our nightly fastdebug build,
> using "nm -g".
> 
> I see tons of exports listed, most of which do not have the static
> keyword. So, I would expect them to be exported from their compilation
> unit, but not from the linked shared library? Am I making a thinking
> error here?
> 
> Anyway. I do not want to hold up this patch if you guys think it is
> okay to ignore the compiler warning, so it is okay by me.
> 
> Best Regards, Thomas
> 
> 
> > 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-...@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, Christo

Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Thomas Stüfe
On Fri, Apr 27, 2018 at 9:27 AM, Langer, Christoph
<christoph.lan...@sap.com> wrote:
> 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...
>

:) Thanks for that pointer.

I did read:

"Consequently, as we have mentioned at the beginning of this article,
if the programmer does not explicitly specify the visibility attribute
for a symbol, on Linux, the visibility of the symbol could be
thedefault. But on AIX, the visibility would be unspecified."

So I thought, default is "unspecified", which is not hidden.

I just had a look at the libjvm.so from our nightly fastdebug build,
using "nm -g".

I see tons of exports listed, most of which do not have the static
keyword. So, I would expect them to be exported from their compilation
unit, but not from the linked shared library? Am I making a thinking
error here?

Anyway. I do not want to hold up this patch if you guys think it is
okay to ignore the compiler warning, so it is okay by me.

Best Regards, Thomas


> 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-...@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-...@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
>> >>
>> >>

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Langer, Christoph
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-...@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-...@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

Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Thomas Stüfe
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-...@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-dev@openjdk.java.net>, "ppc-aix-port-
>> d...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, "core-libs-
>> d...@openjdk.java.net" <core-libs-...@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.1which  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-dev@openjdk.java.net>; ppc-aix-port-
>> d...@openjdk.java.net; core-libs-...@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

RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-27 Thread Langer, Christoph
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.

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-...@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-dev@openjdk.java.net>, "ppc-aix-port-
> d...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, "core-libs-
> d...@openjdk.java.net" <core-libs-...@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.1which  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-dev@openjdk.java.net>; ppc-aix-port-
> d...@openjdk.java.net; core-libs-...@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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; ppc-
> aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
> >>  Cc: Langer, 

Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Thomas Stüfe
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-dev@openjdk.java.net'" <build-dev@openjdk.java.net>, 
>> "ppc-aix-port-...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, 
>> "core-libs-...@openjdk.java.net" <core-libs-...@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.1which  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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; 
>> ppc-aix-port-...@openjdk.java.net; core-libs-...@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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; 
>> ppc-aix-port-...@openjdk.java.net; core-libs-...@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..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..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
>>
>>
>>
>>


Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Erik Joelsson

Looks ok.

/Erik


On 2018-04-26 07:13, Baesken, Matthias wrote:

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..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..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






Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Volker Simonis
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-dev@openjdk.java.net'" <build-dev@openjdk.java.net>, 
> "ppc-aix-port-...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, 
> "core-libs-...@openjdk.java.net" <core-libs-...@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.1which  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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; 
> ppc-aix-port-...@openjdk.java.net; core-libs-...@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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; 
> ppc-aix-port-...@openjdk.java.net; core-libs-...@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..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..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
>
>
>
>


RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Bhaktavatsal R Maram
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-dev@openjdk.java.net'" <build-dev@openjdk.java.net>, 
"ppc-aix-port-...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>, 
"core-libs-...@openjdk.java.net" <core-libs-...@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.1which  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-dev@openjdk.java.net' 
<build-dev@openjdk.java.net>; ppc-aix-port-...@openjdk.java.net; 
core-libs-...@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-dev@openjdk.java.net' <build-dev@openjdk.java.net>; 
ppc-aix-port-...@openjdk.java.net; core-libs-...@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..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..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
  
  
  



RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Baesken, Matthias
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.1which  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-dev@openjdk.java.net' 
<build-dev@openjdk.java.net>; ppc-aix-port-...@openjdk.java.net; 
core-libs-...@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-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-...@openjdk.java.net>; 
core-libs-...@openjdk.java.net<mailto:core-libs-...@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..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..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




RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Langer, Christoph
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' ; 
ppc-aix-port-...@openjdk.java.net; core-libs-...@openjdk.java.net
Cc: Langer, Christoph ; Simonis, Volker 

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..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..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




RE: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Baesken, Matthias

> Its right in time. I am facing "Undefined Symbol" errors with XLC 13.1 due to
> "-qvisibility=hidden" which hides all symbols by default. I workaround that by
> removing this flag

Hello,   so  it seems  that I  better  remove   the  "-qvisibility="  
completely  for xlc  (and not only for xlc12.1)   ?

(we currently  compile only  with XLC 12.1  ,   there might be more issues  
with 13.1 )


Best regards, Matthias



> -Original Message-
> From: Bhaktavatsal R Maram [mailto:bhama...@in.ibm.com]
> Sent: Donnerstag, 26. April 2018 16:32
> To: Baesken, Matthias <matthias.baes...@sap.com>
> Cc: 'build-dev@openjdk.java.net' <build-dev@openjdk.java.net>; ppc-aix-
> port-...@openjdk.java.net; core-libs-...@openjdk.java.net; Simonis,
> Volker <volker.simo...@sap.com>
> Subject: Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 
> 12.1
> 
> Hi Matthias,
> 
> Its right in time. I am facing "Undefined Symbol" errors with XLC 13.1 due to
> "-qvisibility=hidden" which hides all symbols by default. I workaround that by
> removing this flag
> 
> -bash-4.4$ xlC -qversion
> IBM XL C/C++ for AIX, V13.1.3 (5725-C72, 5765-J07)
> Version: 13.01.0003.
> 
> Looks like there are many function declarations that require changes to make
> function visible.
> 
> Thanks,
> Bhaktavatsal Reddy
> 
> 
> 
> -"core-libs-dev" <core-libs-dev-boun...@openjdk.java.net> wrote: -
> To: "'build-dev@openjdk.java.net'" <build-dev@openjdk.java.net>, "ppc-
> aix-port-...@openjdk.java.net" <ppc-aix-port-...@openjdk.java.net>,
> "core-libs-...@openjdk.java.net" <core-libs-...@openjdk.java.net>
> From: "Baesken, Matthias"
> Sent by: "core-libs-dev"
> Date: 04/26/2018 07:45PM
> Cc: "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..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..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://urldefense.proofpoint.com/v2/url?u=https-
> 3A__bugs.openjdk.java.net_browse_JDK-
> 2D8202322=DwIFAg=jf_iaSHvJObTbx-
> siA1ZOg=KUVGEwJiRVpNtQ9wUhGP6BKqzSTV1OWX31WWPdQMmqg
> =F6_aATE7bsRWZG5lPZhJUESHNGqST5MNbkULllIH8l4=M4IJ-
> YdB3dfN7lj0DEWozQbipDXmgKtSu3pEyMcJF_E=
> 
> Change :
> 
> https://urldefense.proofpoint.com/v2/url?u=http-
> 3A__cr.openjdk.java.net_-
> 7Embaesken_webrevs_8202322_=DwIFAg=jf_iaSHvJObTbx-
> siA1ZOg=KUVGEwJiRVpNtQ9wUhGP6BKqzSTV1OWX31WWPdQMmqg
> =F6_aATE7bsRWZG5lPZhJUESHNGqST5MNbkULllIH8l4=gb0OP9fQTAWWJb
> BZDK6L_0gTKf1pwna8aXaYr_uVv8Q=
> 
> 
> Best regards, Matthias
> 
> 



Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Bhaktavatsal R Maram
Hi Matthias,

Its right in time. I am facing "Undefined Symbol" errors with XLC 13.1 due to 
"-qvisibility=hidden" which hides all symbols by default. I workaround that by 
removing this flag

-bash-4.4$ xlC -qversion
IBM XL C/C++ for AIX, V13.1.3 (5725-C72, 5765-J07)
Version: 13.01.0003.

Looks like there are many function declarations that require changes to make 
function visible.

Thanks,
Bhaktavatsal Reddy

  

-"core-libs-dev"  wrote: -
To: "'build-dev@openjdk.java.net'" , 
"ppc-aix-port-...@openjdk.java.net" , 
"core-libs-...@openjdk.java.net" 
From: "Baesken, Matthias" 
Sent by: "core-libs-dev" 
Date: 04/26/2018 07:45PM
Cc: "Simonis, Volker" 
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..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..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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8202322=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=KUVGEwJiRVpNtQ9wUhGP6BKqzSTV1OWX31WWPdQMmqg=F6_aATE7bsRWZG5lPZhJUESHNGqST5MNbkULllIH8l4=M4IJ-YdB3dfN7lj0DEWozQbipDXmgKtSu3pEyMcJF_E=

Change :

https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Embaesken_webrevs_8202322_=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=KUVGEwJiRVpNtQ9wUhGP6BKqzSTV1OWX31WWPdQMmqg=F6_aATE7bsRWZG5lPZhJUESHNGqST5MNbkULllIH8l4=gb0OP9fQTAWWJbBZDK6L_0gTKf1pwna8aXaYr_uVv8Q=


Best regards, Matthias





Re: RFR : 8202322: AIX: symbol visibility flags not support on xlc 12.1

2018-04-26 Thread Thomas Stüfe
Hi Matthias,

I would prefer a numerical comparison to version < 13. Otherwise the
code looks like you want to just exclude 12.1 for some reason when in
reality you want to omit the flag for any compiler older than xlc 13.

Best Regards, Thomas


On Thu, Apr 26, 2018 at 4:13 PM, Baesken, Matthias
 wrote:
> 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..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..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
>
>