[jdk11u-dev] RFR: 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers

Andrew John Hughes andrew at openjdk.java.net
Tue Apr 12 19:32:36 UTC 2022


On Fri, 8 Apr 2022 07:02:44 GMT, Goetz Lindenmaier <goetz at openjdk.org> wrote:

> @gnu-andrew, what testing have you done? Are the GHA sufficient to excercise this code?

This has been in Fedora for two months now, with each build doing a full bootstrap of the JDK on x86_32.

Without this fix, 11u builds encounter register corruption as the XMM registers are not saved, only `CR`, `CX` and `BX`. `javac` crashes during build on return from `SharedRuntime::ldiv(long long, long long)`

The bug has been there a long time. I suspect it has just not been encountered more due to luck than anything else. Newer compilers seem to be exercising the XMM registers more; a similar problem on Windows - https://mail.openjdk.java.net/pipermail/jdk8u-dev/2021-October/014379.html - led to their use being turned off.

-------------

PR: https://git.openjdk.java.net/jdk11u-dev/pull/1017


More information about the jdk-updates-dev mailing list