-
Notifications
You must be signed in to change notification settings - Fork 727
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
Modifications to ensure compatibility with OpenXL and xlC on AIX #20690
base: master
Are you sure you want to change the base?
Conversation
The OMR PR eclipse-omr/omr#7561 |
@zl-wang here is the new OpenXL PR for OpenJ9. Marked as a WIP since I'm still addressing the remaining review comments from Ishita's PR |
8661a7b
to
6b6cfe5
Compare
It's @keithc-ca who should take a look, probably most of the comments were from him. |
I didn't see anything obvious. We'll need to check it doesn't break xlc, both on jenkins and vmfarm, if that hasn't been done yet. |
6b6cfe5
to
eac524c
Compare
To ensure that OpenJ9 can be built on AIX with both OpenXL and xlC, make modifications to compiler flags, macros, and linked libraries. Signed-off-by: midronij <[email protected]>
I've confirmed that these changes don't break the xlC build on either jenkins or vmfarm. However, I did run into some issues when trying to do an OpenXL build on jenkins. Namely, when building DDR this error message popped up:
(source: https://hyc-runtimes-jenkins.swg-devops.com/job/Build_JDK23_ppc64_aix_Personal/61/console) I'm able to bypass this temporarily by adding
(source: https://hyc-runtimes-jenkins.swg-devops.com/job/Build_JDK23_ppc64_aix_Personal/62/console) I've run into errors like this when building locally, and was able to deal with them by adding additional libraries to the linker commands, but as far as I can tell, the makefile that I would need to modify to deal with this one in particular isn't part of OpenJ9 or OMR:
|
I believe we have 17.1.1.2 as per https://github.ibm.com/runtimes/infrastructure/issues/7704, but current issue is https://github.ibm.com/runtimes/infrastructure/issues/9368 |
i have these on my machine:
and, shr2_64.o is indeed in
it might be due to your OpenXL ND (non default) installation, such that libraries were not installed under the usual directory ( |
On the build machine
|
I tried building again with
(source: https://hyc-runtimes-jenkins.swg-devops.com/job/Build_JDK23_ppc64_aix_Personal/63/console) |
you need to add one config option to indicate to the linker where to look up the runtime libraries (instead of the default location on AIX machine ... i.e. /usr/lib or /usr/lib64). peter already got you that location: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a few questions since some of these changes impact platforms that are not AIX+OPENXL.
runtime/jilgen/CMakeLists.txt
Outdated
@@ -35,6 +35,7 @@ target_link_libraries(constgen | |||
j9vm_interface | |||
omrport | |||
j9thr | |||
j9util |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the implications of this for non AIX+OPENXL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same q as below.
runtime/verbose/CMakeLists.txt
Outdated
j9gc | ||
j9gctrc | ||
j9gcapi | ||
j9gctrcstandard | ||
j9gctrcvlhgc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the implications of this for non AIX+OPENXL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this affect configs that are not AIX+OPENXL, so shouldn't this also be moved to #20799?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, misunderstood the first time. The changes have been moved over!
runtime/verbose/CMakeLists.txt
Outdated
j9gc | ||
j9gctrc | ||
j9gcapi | ||
j9gctrcstandard | ||
j9gctrcvlhgc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the implications of this for non AIX+OPENXL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same q as above.
runtime/verbose/module.xml
Outdated
@@ -137,6 +137,7 @@ SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-ex | |||
<library name="j9modronstartup"/> | |||
<library name="omrgcstartup" type="external"/> | |||
<library name="omrgcverbose" type="external"/> | |||
<library name="j9gc"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the implications of this for non AIX+OPENXL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same q as above.
eac524c
to
541b187
Compare
Signed-off-by: midronij <[email protected]>
541b187
to
df8d776
Compare
Modify compiler flags, macros, and linked libraries to ensure that OpenJ9 can be built with both OpenXL and xlC on AIX.
Updated version of #20045