mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
OpenJDK 25 is the latest release. See: https://endoflife.date/oracle-jdk - BR2_OPENJDK_VERSION_LATEST is now set to 25. - Add version-specific patches for 25.0.2+10: - 0001: Add ARCv2 ISA processors support to Zero - 0002: Compile OpenJDK in headless mode without requirements - 0003: Fix ambiguous cmp() overload in aarch64 macro assembler (older GCC 6.x compatibility) - 0004: Fix constexpr on non-literal type in Shenandoah GC (older GCC 6.x compatibility) - Add -fpermissive to fix template definition error with older GCC. - Update HOST_OPENJDK_BIN_VERSION for OpenJDK 25. - Update the expectedVersion variable in JniTest.java from 0x00150000 (JNI 21) to 0x00180000 (JNI 24/25). Tested with: $ ./support/testing/run-tests -o ~/br-test-py/ -d ~/br-test-dl/ \ tests.package.test_openjdk.TestOpenJdk Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> [Bernd: - rebased on bump of versions 17 & 21 - build-tested with gcc 16-snapshot] Signed-off-by: Bernd Kuhls <bernd@kuhls.net> [Julien: - add .checkpackageignore entry to fix check-package error - reformat patches with without numbering to fix check-package error ] Signed-off-by: Julien Olivain <ju.o@free.fr>
43 lines
1.7 KiB
Diff
43 lines
1.7 KiB
Diff
From 87cb37e3341a33c5a8fac361972c53b1edc56799 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Devoogdt <thomas@devoogdt.com>
|
|
Date: Sat, 21 Feb 2026 15:50:42 +0100
|
|
Subject: [PATCH] src: hotspot: share: gc: shenandoah: fix constexpr
|
|
|
|
Older GCC versions (e.g., GCC 6.x from bootlin toolchains) enforce
|
|
C++14 rules more strictly and do not allow constexpr member functions
|
|
on non-literal types. ShenandoahSimpleBitMap is not a literal type
|
|
because it has a non-trivial destructor or other disqualifying members.
|
|
|
|
Remove constexpr from ShenandoahSimpleBitMap::alignment() to fix the
|
|
build with older toolchains. The function can still be inlined and
|
|
optimized.
|
|
|
|
Fixes:
|
|
|
|
/home/thomas/br-test-pkg/bootlin-aarch64-glibc-old/build/openjdk-25.0.2+10/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp:93:26: error: enclosing class of constexpr non-static member function 'idx_t ShenandoahSimpleBitMap::alignment() const' is not a literal type
|
|
inline constexpr idx_t alignment() const {
|
|
^~~~~~~~~
|
|
|
|
Upstream: https://github.com/openjdk/jdk/pull/29856
|
|
Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
|
|
---
|
|
src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
|
|
index 3a4cb8cf742..451c11e2e58 100644
|
|
--- a/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
|
|
+++ b/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
|
|
@@ -90,7 +90,7 @@ class ShenandoahSimpleBitMap {
|
|
return array_idx;
|
|
}
|
|
|
|
- inline constexpr idx_t alignment() const {
|
|
+ inline idx_t alignment() const {
|
|
return BitsPerWord;
|
|
}
|
|
|
|
--
|
|
2.43.0
|
|
|