RFR: JDK-8214063: OpenJDK will not build on AIX while using the xlc 13.1 compiler
Adam Farley8
adam.farley at uk.ibm.com
Tue Nov 20 17:11:58 UTC 2018
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?
Best Regards
Adam Farley
IBM Runtimes
"Thomas Stüfe" <thomas.stuefe at gmail.com> wrote on 20/11/2018 16:44:07:
> From: "Thomas Stüfe" <thomas.stuefe at gmail.com>
> To: Adam Farley8 <adam.farley at uk.ibm.com>
> Cc: Java Core Libs <core-libs-dev at openjdk.java.net>
> 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 <adam.farley at uk.ibm.com>
wrote:
> >
> > Hi Tom,
> >
> > Sounds reasonable. I've added a webex to the bug, and here's a
> link to the bug.
> >
> > INVALID URI REMOVED
>
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" <thomas.stuefe at gmail.com> wrote on 19/11/2018 18:11:34:
> >
> > > From: "Thomas Stüfe" <thomas.stuefe at gmail.com>
> > > To: Adam Farley8 <adam.farley at uk.ibm.com>
> > > Cc: Java Core Libs <core-libs-dev at openjdk.java.net>
> > > 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
> <adam.farley at uk.ibm.com> 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
More information about the core-libs-dev
mailing list