-
Notifications
You must be signed in to change notification settings - Fork 710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake enablement for libjvm31 shim library #13365
Conversation
@pshipton / @dnakamura : Do you mind reviewing? This is related to enabling CMake to build the shim library for 31/64-bit interop on z/OS. Thanks! |
e71c75e
to
f2c13e1
Compare
@pshipton : Would appreciate another review of this PR. I fixed an additional issue w..r.t JAVA_SPEC_VERSION not being picked up properly, which affected GetModule API for Java 11+. The extensions repo PR to stage the various libjvm31.* and headers artifacts is : ibmruntimes/openj9-openjdk-jdk#378 Internal zOS Personal Builds IDs: HYC-Jenkins: 11228 and Axxon: 16965. |
f2c13e1
to
4a3c09d
Compare
099ba12
to
247e0ad
Compare
- Add CMake files to enable building of shim libjvm31.so library on z/OS - CMakeLists.txt in j9vm31 directory builds the 31-bit library in what is otherwise a 64-bit build. - Removes XPLINK and 64-bit compile and link options. - Exports the standard JNI and Invoke interface methods, which translates to EXPORTALL on z/OS. - Add staging of include31 generated header files, as jni.h needs to be customized for the reference types and various parameter struct definitions for 31-bit code to invoke 64-bit JDK. - Invokes generation of jni.h from jni.h.m4, and copying of jni_convert.h and jniport.h Signed-off-by: Joran Siu <joransiu@ca.ibm.com>
GetModule API is guarded by JAVA_SPEC_VERSION check that requires j9cfg.h from the 'include' directory. Add that directory for j9vm31 compiles. This directory needs to be placed after include31, to ensure the correct jni headers are used. Signed-off-by: Joran Siu <joransiu@ca.ibm.com>
247e0ad
to
5ac801c
Compare
Jenkins compile alinux64 jdk8,jdk17 |
We have no external PR testing for z/OS, but the builds for alinux succeeded. |
types and various parameter struct definitions for 31-bit code to invoke 64-bit JDK.
Signed-off-by: Joran Siu joransiu@ca.ibm.com