-
Notifications
You must be signed in to change notification settings - Fork 721
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
gcc10 warnings in the JIT #14859
Comments
|
I fixed AArch64-specific warnings with eclipse/omr#6461 and #14876. |
@0xdaryl Is there anything else left to do on this one? |
Yes, we can suppress the gcc ABI warning on AArch64. It is generated because of a gcc bug fix implementing the AArch64 ABI for bitfields, and may appear if mixing object files built with different compiler releases. We don't do that in OpenJ9 so we can suppress the warning. OpenJDK has also suppressed the warning. I'll create a PR to suppress this. |
eclipse/omr#6557 was created to suppress the |
We will need to ensure that everything is compiled with a compatible compiler. Mixing GCC 8 (or any compiler that used the old ABI) with GCC 9 (or any compiler using the new ABI) will be problematic: that includes the JDK and even customer JNI code. |
Is JNI really a problem? JNI uses it's own ABI. |
JNI is an API, not an ABI. An ABI dictates things like the calling convention (including the rules for how registers are assigned for parameters and return values). Perhaps I should have referred to JVMTI or just native code in general. As an example, a mismatch in ABI rules may break the linkage between callers and the implementation of JVMTI functions trafficking in |
I thought JNI has an ABI of sorts, the calls are made via libffi, and afaik doesn't use bitfields. |
I think you're right in that there are no functions in the JNI or JVMTI APIs that involve a structure type with bit fields. Reading https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469 again, I see discussion about improperly computing the alignment of structures with bit-fields. The compiler might emit code that doesn't align an instance of |
FWIW, I don't see any mention of recompiling native code in https://docs.oracle.com/en/java/javase/17/migrate/significant-changes-jdk-release.html |
What would be the next step for this one, given it is in the 0.35 milestone? |
I still see the following: https://openj9-jenkins.osuosl.org/job/Build_JDK17_aarch64_linux_Nightly/289
|
eclipse/omr#6557 was created, but was never merged. |
There are still some cast warnings, one example below. https://openj9-jenkins.osuosl.org/job/Build_JDK17_ppc64le_linux_Nightly/313
|
We'll resolve these warnings for 0.36. |
@dylanjtuttle, I know it's been some time, but do you know whether there were still any warnings being reported that would need to be handled before we could enable "warnings-as-errors" for OpenJ9 compiler builds? I see pull request #18313 - was that the only one remaining? |
And I also see draft pull request #18614 for enabling it on Power with some compilers. |
As far as I remember, #18313 was the last pull request remaining before warnings as errors could be enabled on power for clang and gcc builds. Of course, it's possible that other warnings have been introduced since I was gone, but as long as there aren't too many I think it would be worth my time to clean them up so we can finally get warnings as errors turned on. |
@pshipton Can we move this over to Milestone 0.49? |
See the nightly builds at https://openj9-jenkins.osuosl.org/job/Pipeline-Compile-gcc10-JDK17/
Also this
@0xdaryl @knn-k
The text was updated successfully, but these errors were encountered: