On Tue, Nov 20, 2018 at 6:12 PM Adam Farley8 <[email protected]> wrote: > > Heya Tom, > > "In JDK11 and JDK12, source files are compiled with -qvisibility=hidden > when using xlc version other than 12.1. That doesn't seem to play well > with link option -bexpall. " > > Found that buried in one of the associated Git issues. It appears that > it's OpenJDK's use of that option that's causing the problem, though > I couldn't speculate as to why it was added in the first place. > > I see this has also been noted in > https://bugs.openjdk.java.net/browse/JDK-8204541 > > Does that answer your question? >
Yes, Thank you. Odd. Will have to do archeology on that one. ..Thomas > Best Regards > > Adam Farley > IBM Runtimes > > > "Thomas Stüfe" <[email protected]> wrote on 20/11/2018 16:44:07: > > > From: "Thomas Stüfe" <[email protected]> > > To: Adam Farley8 <[email protected]> > > Cc: Java Core Libs <[email protected]> > > Date: 20/11/2018 16:48 > > Subject: Re: RFR: JDK-8214063: OpenJDK will not build on AIX while > > using the xlc 13.1 compiler > > > > Hi Adam, > > > > On Tue, Nov 20, 2018 at 5:12 PM Adam Farley8 <[email protected]> wrote: > > > > > > Hi Tom, > > > > > > Sounds reasonable. I've added a webex to the bug, and here's a > > link to the bug. > > > > > > https://urldefense.proofpoint.com/v2/url? > > u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8214063&d=DwIFaQ&c=jf_iaSHvJObTbx- > > siA1ZOg&r=P5m8KWUXJf- > > CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=z8YYwBXEfN7UtX1suPjpp9CZSHf8v0GrIMK3XGIC9VY&s=81TP9mIjhYD2Hmt8g7p2EHWRZXgiep21hxKLYRU7zIQ&e= > > > > > > This patch is required because otherwise, when building on AIX > > using xlc 3.1, > > > the build fails with this error: > > > > > > "Visibility is not allowed on a reference to an imported symbol." > > > > > > We believe this is caused by JNIEXPORT and JNIIMPORT not being > > defined. Without > > > this, almost no symbols are exported from shared libraries due to use of > > > -qvisibility=hidden as specified in make/lib/LibCommon.gmk. > > > > Yes but what I try to understand is why does this happen now with > > xlc13? Did xlc change the rules for -qvisibility from v12 to v13 ? > > That would be quite a break in backward compatibility. > > > > > > > > For convenience, here's a summary of the diffs: > > > > > > -------------------------------------- > > > File 1 of 2) src/java.base/share/native/libjimage/NativeImageBuffer.cpp > > > > > > #include "osSupport.hpp" > > > > > > +#if defined(__xlC__) && (__xlC__ >= 0x0d01) > > > +/* > > > + * Version 13.1.3 of xlc seems to have trouble parsing the > > > `__attribute__` > > > + * annotation in the generated header file we're about to > > include. Repeating > > > + * the forward declaration (without the braces) here avoids the > > > diagnostic: > > > + * 1540-0040 (S) The text "void" is unexpected. "visibility" > > may be undeclared or ambiguous. > > > + */ > > > +extern "C" JNIEXPORT jobject JNICALL > > Java_jdk_internal_jimage_NativeImageBuffer_getNativeMap(JNIEnv *, > > jclass, jstring); > > > +#endif > > > + > > > #include "jdk_internal_jimage_NativeImageBuffer.h" > > > -------------------------------------- > > > File 2 of 2) src/java.base/unix/native/include/jni_md.h > > > > > > #define JNIIMPORT __attribute__((visibility("default"))) > > > #endif > > > +#elif defined(__xlC__) && (__xlC__ >= 0x0d01) /* xlc version 13.1 > > or better required */ > > > + #define JNIEXPORT __attribute__((visibility("default"))) > > > + #define JNIIMPORT __attribute__((visibility("default"))) > > > #else > > > #define JNIEXPORT > > > -------------------------------------- > > > > > > > Thank you. > > > > Cheers, Thomas > > > > > Best Regards > > > > > > Adam Farley > > > IBM Runtimes > > > > > > > > > "Thomas Stüfe" <[email protected]> wrote on 19/11/2018 18:11:34: > > > > > > > From: "Thomas Stüfe" <[email protected]> > > > > To: Adam Farley8 <[email protected]> > > > > Cc: Java Core Libs <[email protected]> > > > > Date: 19/11/2018 18:12 > > > > Subject: Re: RFR: JDK-8214063: OpenJDK will not build on AIX while > > > > using the xlc 13.1 compiler > > > > > > > > Hi Adam, > > > > > > > > could you please include link to the JBS issue and either link to the > > > > patch/webrev or link to the webrev, or at the very least the patch > > > > verbatim? > > > > > > > > As for the issue itself: could you please elaborate why this > > fails with xlc13? > > > > > > > > Also, a real patch would be helpful instead here of yet another link > > > > to some J9 issue. We are really strapped for manpower and the AIX port > > > > eats up enough time as it is. > > > > > > > > Thanks, Thomas > > > > > > > > On Mon, Nov 19, 2018 at 6:28 PM Adam Farley8 > > <[email protected]> wrote: > > > > > > > > > > Hi All > > > > > > > > > > Both the problem and the solution appear straight-forward enough. > > > > > > > > > > Details included in the bug description. > > > > > > > > > > Thoughts and opinions welcome. > > > > > > > > > > Best Regards > > > > > > > > > > Adam Farley > > > > > IBM Runtimes > > > > > > > > > > Unless stated otherwise above: > > > > > IBM United Kingdom Limited - Registered in England and Wales with > > > > > number > > > > > 741598. > > > > > Registered office: PO Box 41, North Harbour, Portsmouth, > > Hampshire PO6 3AU > > > > > > > > > > Unless stated otherwise above: > > > IBM United Kingdom Limited - Registered in England and Wales with > > number 741598. > > > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU > > > > Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with number > 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
