ibmruntimes / openj9-openjdk-jdk21

GNU General Public License v2.0
8 stars 40 forks source link

[FFI] Handling the default library loading on z/OS #159

Closed ChengJin01 closed 5 months ago

ChengJin01 commented 5 months ago

The changes follow the same way of accessing the default libraries on AIX with the inlined functions in a list to address the issue with the default libraries during the FFI downcall on z/OS.

Related: Internal 441

Signed-off-by: ChengJin01 jincheng@ca.ibm.com

ChengJin01 commented 5 months ago

Note: [1] The PR (passed in compilation on Linux & verified on AIX) is based on the internal changes (which was verifeidon the default library specific tests in OpenJ9 & Jtreg except the testes related to the string conversion as discussed in the internal issue. [2] The PR includes the RTLD_DEFAULT based solution to lookup the function symbol (in which case it goes ahead with the inlined function list when the lookup fails) to minimze the code changes in the future, assuming the RTLD_DEFAULT specific issue will be resolved by the z/OS team. [3] The PRs on JDK22+ will be created later after this PR is approved.

ChengJin01 commented 5 months ago

Reviewer: @tajila FYI: @keithc-ca, @pshipton, @joransiu

ChengJin01 commented 5 months ago

Looking at https://openj9-jenkins.osuosl.org/job/PullRequest-CopyrightCheck-OpenJDK21/260/console

22:53:24  The following files were modified and have incorrect copyrights
[Pipeline] echo
22:53:24  src/java.base/share/classes/jdk/internal/foreign/Utils.java
22:53:24    IBM Copyright (basic) is missing from the file

There is no problem with the IBM copyright at src/java.base/share/classes/jdk/internal/foreign/Utils.java given our code is totally removed from there in which case the IBM copyright is no longer required in the code.

keithc-ca commented 5 months ago

Please prepare changes for https://github.com/ibmruntimes/openj9-openjdk-jdk and https://github.com/ibmruntimes/openj9-openjdk-jdk22, which should be merged before this.

ChengJin01 commented 5 months ago

Please prepare changes for https://github.com/ibmruntimes/openj9-openjdk-jdk and https://github.com/ibmruntimes/openj9-openjdk-jdk22, which should be merged before this.

These PR are created at https://github.com/ibmruntimes/openj9-openjdk-jdk22/pull/61 and https://github.com/ibmruntimes/openj9-openjdk-jdk/pull/794.

ChengJin01 commented 5 months ago

Updated the code against the suggestion at https://github.com/ibmruntimes/openj9-openjdk-jdk/pull/794#issuecomment-2135119774.

keithc-ca commented 5 months ago

Jenkins test sanity aix,amac jdk21