Comments (10)
The z/OS compile machines for IBM Java 8 are 2.1
Agreed AIX is min xlC v13 (IBM Java 8). We also compile on PPC BE which is also v13. It's being retired hopefully but it's not retired yet.
PPC LE just uses gcc now, not xlC.
Mac is missing from the list, the OpenJ9 compilers are listed in https://eclipse-openj9.github.io/openj9-docs/openj9_support/
The minimum gcc used for OpenJ9 is 10.3 and the minimum VS used is 2022. That doesn't mean older versions won't work, but we don't test them. Perhaps older version are fine since xlC 13 limits what can be used.
Where did you get the "excerpt from the OpenJ9 building instructions"?
I don't know about other consumers of OMR.
@0xdaryl @mstoodle may know.
from omr.
Thanks for the clarification, Peter. It'll help me determine which features we could safely use.
The excerpt was from the extension repos, not OpenJ9s instructions.
from omr.
And talking to the IBM SDK release team in India, 7.3 is what the JDK8 release still uses.
Just FYI, the OpenJ9 part of the IBM SDK uses 11.2, it's only other components that may still be using 7.3.
from omr.
I propose bumping the documentation and development to:
- gcc 7.3
- xlC 13.1.3
- Visual Studio 2022
- Xcode 12 (Clang 12)
from omr.
Info from extension repos:
JDK8: https://github.com/ibmruntimes/openj9-openjdk-jdk8/blob/c1470c8cffd73bfdd07ff63c25ff71da14cbb54f/common/autoconf/flags.m4#L528 (at least minimum of 6 for GCC)
Potentially other relevant info:
https://github.com/eclipse-openj9/openj9/blob/master/doc/release-notes/0.43/0.43.md
from omr.
Conversations internally about AIX is that the xlC
support is for v13 and up (13, 16, & 17), and V2R3 for z/OS.
from omr.
@pshipton Are gcc 10.3
for Linux and VS 2022
for Windows the appropriate versions here?
From the 0.43 release notes: linux windows
Do you know of any consumers of OMR that are relying on older versions?
from omr.
I agree the document should be kept up to date, and thank you @ThanHenderson for looking at that.
While I am generally in favour of continuously raising the bar to allow more C++ features to be used, I think we need to be a bit more gradual about it (e.g., a jump from gcc 4.4.7 to 10.3 is pretty big in one go so perhaps we find something in between). Also remember that Eclipse OMR is an independent project from Eclipse OpenJ9, and while OpenJ9 is an important consumer, the OMR project can't base all its decisions on OpenJ9's requirements.
Moving up the compiler level is the kind of thing that should be announced to the community for awareness. I think the OMR release boundaries are appropriate for these kinds of changes (we have the 0.2.0 release planned for end of June, and every 3 months thereafter). If you have a compiler level proposal in between 4.4.7 and 10.3 for end of June please share for consideration.
To address your question, at one point a couple of years ago I am aware there was a project exploring the use of OMR that required an older gcc version (because their build infrastructure was unable to move up right away). That may no longer be a requirement for them and enough time has passed that OMR could make the case to gradually increase its minimum supported compiler level. Perhaps @mstoodle can weigh in on whether this is still a requirement.
from omr.
at one point a couple of years ago I am aware there was a project exploring the use of OMR that required an older gcc version (because their build infrastructure was unable to move up right away). That may no longer be a requirement for them and enough time has passed that OMR could make the case to gradually increase its minimum supported compiler level. Perhaps @mstoodle can weigh in on whether this is still a requirement.
I know the project you're referring to: it's not a requirement any more. I think it more comes down to consistent availability of features across the full set of platforms we and our stakeholders need to support. Otherwise, I'm happy for the bar to move up.
from omr.
I think a safe bet for the gcc version is 7.3 since that is the version that released with the spectre mitigation patch. And talking to the IBM SDK release team in India, 7.3 is what the JDK8 release still uses.
From a C++ feature standpoint, gcc was C++11 complete by release 4.8, so any release after that is not C++11 feature limiting for platforms compiling with gcc. It will be the other platforms which dictate the supported features, for which I've obtained the following minimum versions:
- Windows: VS2017 (C++14 compliant)
- AIX: xlc 12.1 (a bit nebulous (compiler reference))
- Mac: Xcode 12 (Clang 12 -- C++17 compliant)
Edit: clarity, these are the compiler versions used for compiling the JCL only, so I guess they don't affect our code (OpenJ9 nor OMR). But my first sentence of this comment still applies.
from omr.
Related Issues (20)
- Implement omrsysinfo_get_process_start_time for z/TPF HOT 4
- Agenda for June 20, 2024 OMR Architecture Meeting
- TRIL tests on z/OS generates non-standard NaN formatting HOT 3
- Linux RISCV64 PR Builds Failing: Missing libfakeroot_1.31-1.2 HOT 3
- Allow '[' and ']' to be used for specifying options in subset
- Hang in SanityTest
- Define fmax/fmin/dmax/dmin opcode specifications HOT 2
- Use 32-bit XORRegReg to zero registers on x64
- Consolidate ValuePropogation paths for with and without off-heap
- Upgrade Python on CI nodes to at least version 3.2
- Revisit optimizations in IntegerMultiplyDecomposer.cpp
- Revisit coding standards HOT 1
- SEGFULT in portLibrary.str_printf() calls HOT 1
- Enable storing pinning array pointer in node extension for all nodes
- Agenda for Aug 1, 2024 OMR Architecture Meeting
- Extensible classes: how to be protected from inter-project name clashes for re-declared concrete classes
- Generic Double Memory Map API HOT 1
- Debug builds are broken with -Werror in GCC 11 due to -Wnonnull changes HOT 1
- Improve the hashtable related code by checking the node count
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omr.