[Bug 264065] java/openjdk8: Crashes on aarch64 when built with clang13: # Internal Error (assembler_aarch64.hpp:237) .. guarantee(val < (1U << nbits)) failed: Field too big for insn

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 09 Jul 2022 14:57:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264065

--- Comment #17 from Dimitry Andric <dim@FreeBSD.org> ---
(In reply to Mikhail T. from comment #16)
> Take a step back and consider: we found a bug. Whether the bug is in the
> clang/llvm or in OpenJDK, it ought to be fixed at the source! FreeBSD project
> certainly has a number of C and C++ experts to come up with a proper patch
> suitable for submission up one of the two streams.

FWIW, I have indeed tried to backport the OpenJDK upstream fix for
https://bugs.openjdk.org/browse/JDK-8229258 to older JDKs. But this is *very*
hairy and complicated, especially if you are not deeply invested into the JDK
sources.

OpenJDK upstream has apparently also drawn the same conclusion, and did not
officially backport the fix to OpenJDK 8, 9, 10, 11, 12 and 13. So I think they
just assume that you will compile an "old" JDK with a similarly "old"
toolchain.

(Note there is a pull request for OpenJDK 11 at
https://github.com/openjdk/jdk11u/pull/23, but that was never merged into the
official repository, as far as I can see. This was also mentioned in
<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258954#c3>.)

Having said all that, there may be another workaround except building with an
older toolchain, which is at
<https://github.com/battleblow/jdk11u/commit/305a68a90c722aa7a7b75589e24d5b5d554c96c1>.
This is applicable to JDK 11, but I guess it might also apply to JDK 8. I
believe that JDK 9 through 13 already expired, so we can ignore those.

Maybe somebody has the time to check that patch?

-- 
You are receiving this mail because:
You are the assignee for the bug.