package/openjdk{-bin}: bump versions to 17.0.9+9 and 21.0.1+12

- Move openjdk-bin.hash into separate directories, as the
  legal/java.prefs/ASSEMBLY_EXCEPTION file has an upated URL for OpenJDK 21.
  openjdk.java.net -> https://openjdk.org. The license type remains the same.

- Move 0001-Add-ARCv2-ISA-processors-support-to-Zero.patch into separate
  directories as the list of architectures in src/hotspot/os/linux/os_linux.cpp
  is no longer the same. 17 has LOONGARCH and 21 has LOONGARCH64.

Tested on Fedora39 and Debian 11 with:
./support/testing/run-tests tests.package.test_openjdk.TestOpenJdk.test_run

Tested-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Adam Duskett 2023-11-06 10:43:25 -07:00 committed by Thomas Petazzoni
parent 55fd656cb2
commit 727c041a25
9 changed files with 142 additions and 32 deletions

View File

@ -992,7 +992,8 @@ package/olsr/S50olsr Indent Shellcheck Variables
package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch Upstream
package/open-plc-utils/0001-Remove-OWNER-and-GROUPS-parameters-to-install.patch Upstream
package/open2300/0001-fix-makefile.patch Upstream
package/openjdk/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream
package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream
package/openjdk/21.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
package/openldap/0001-fix_cross_strip.patch Upstream
package/openldap/0002-fix-bignum.patch Upstream
package/openldap/0003-disable-docs.patch Upstream

View File

@ -0,0 +1,7 @@
# https://github.com/adoptium/temurin17-binaries/releases
sha256 7b175dbe0d6e3c9c23b6ed96449b018308d8fc94a5ecd9c0df8b8bc376c3c18a OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz
sha256 e2c5e26f8572544b201bc22a9b28f2b1a3147ab69be111cea07c7f52af252e75 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz
# Locally calculated
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
sha256 a44eb7b5caf5534c6ef536b21edb40b4d6babf91bf97d9d45596868618b2c6fb legal/java.prefs/ASSEMBLY_EXCEPTION

View File

@ -0,0 +1,7 @@
# From https://github.com/adoptium/temurin21-binaries/releases
sha256 1a6fa8abda4c5caed915cfbeeb176e7fbd12eb6b222f26e290ee45808b529aa1 OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz
sha256 e184dc29a6712c1f78754ab36fb48866583665fa345324f1a79e569c064f95e9 OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz
# Locally calculated
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
sha256 75292f03bf23d3db7c985aecc191029b93883200721ed23ed34a2e601463df33 legal/java.prefs/ASSEMBLY_EXCEPTION

View File

@ -1,11 +0,0 @@
# From https://github.com/adoptium/temurin21-binaries/releases
sha256 82f64c53acaa045370d6762ebd7441b74e6fda14b464d54d1ff8ca941ec069e6 OpenJDK21U-jdk_x64_linux_hotspot_21_35.tar.gz
sha256 33e440c237438aa2e3866d84ead8d4e00dc0992d98d9fd0ee2fe48192f2dbc4b OpenJDK21U-jdk_aarch64_linux_hotspot_21_35.tar.gz
# https://github.com/adoptium/temurin17-binaries/releases
sha256 c25dfbc334068a48c19c44ce39ad4b8427e309ae1cfa83f23c102e78b8a6dcc0 OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz
sha256 eefd3cf3b3dd47ff269fa5b5c10b5e096b163f4e9c1810023abdbc00dc6cc304 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.8.1_1.tar.gz
# Locally calculated
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
sha256 a44eb7b5caf5534c6ef536b21edb40b4d6babf91bf97d9d45596868618b2c6fb legal/java.prefs/ASSEMBLY_EXCEPTION

View File

@ -6,12 +6,10 @@
ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
HOST_OPENJDK_BIN_VERSION_MAJOR = 21
HOST_OPENJDK_BIN_VERSION_MINOR = 35
HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR)_$(HOST_OPENJDK_BIN_VERSION_MINOR)
HOST_OPENJDK_BIN_VERSION_MINOR = 0.1_12
else
HOST_OPENJDK_BIN_VERSION_MAJOR = 17
HOST_OPENJDK_BIN_VERSION_MINOR = 0.8.1_1
HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR).$(HOST_OPENJDK_BIN_VERSION_MINOR)
HOST_OPENJDK_BIN_VERSION_MINOR = 0.9_9
endif
ifeq ($(HOSTARCH),x86_64)
@ -21,6 +19,7 @@ ifeq ($(HOSTARCH),aarch64)
HOST_OPENJDK_BIN_DOWNLOAD_ARCH_NAME = aarch64
endif
HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR).$(HOST_OPENJDK_BIN_VERSION_MINOR)
HOST_OPENJDK_BIN_SOURCE = OpenJDK$(HOST_OPENJDK_BIN_VERSION_MAJOR)U-jdk_$(HOST_OPENJDK_BIN_DOWNLOAD_ARCH_NAME)_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz
HOST_OPENJDK_BIN_SITE = https://github.com/adoptium/temurin$(HOST_OPENJDK_BIN_VERSION_MAJOR)-binaries/releases/download/jdk-$(subst _,%2B,$(HOST_OPENJDK_BIN_VERSION))

View File

@ -23,8 +23,8 @@ diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
index 5120918aed2..f7a99955874 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -146,6 +146,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
fi
@@ -152,6 +152,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
fi
+ # Libatomic library
@ -55,8 +55,8 @@ index c0f2446dbd7..dc416ece885 100644
arm*)
VAR_CPU=arm
VAR_CPU_ARCH=arm
@@ -563,6 +569,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=PPC64
@@ -565,6 +571,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=RISCV64
# The cpu defines below are for zero, we don't support them directly.
+ elif test "x$OPENJDK_$1_CPU" = xarc; then
@ -68,7 +68,7 @@ diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.c
index b08caf4d5d3..2bf084895ba 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -1676,6 +1676,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
@@ -1721,6 +1721,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
#ifndef EM_AARCH64
#define EM_AARCH64 183 /* ARM AARCH64 */
#endif
@ -78,7 +78,7 @@ index b08caf4d5d3..2bf084895ba 100644
#ifndef EM_RISCV
#define EM_RISCV 243 /* RISC-V */
#endif
@@ -1700,6 +1703,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
@@ -1745,6 +1748,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
{EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"},
#endif
{EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"},
@ -86,7 +86,7 @@ index b08caf4d5d3..2bf084895ba 100644
// we only support 64 bit z architecture
{EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"},
{EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
@@ -1728,6 +1732,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
@@ -1773,6 +1777,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static Elf32_Half running_arch_code=EM_PPC;
#elif (defined AARCH64)
static Elf32_Half running_arch_code=EM_AARCH64;
@ -95,12 +95,12 @@ index b08caf4d5d3..2bf084895ba 100644
#elif (defined ARM)
static Elf32_Half running_arch_code=EM_ARM;
#elif (defined S390)
@@ -1750,7 +1756,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
@@ -1795,7 +1801,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static Elf32_Half running_arch_code=EM_LOONGARCH;
#else
#error Method os::dll_load requires that one of following is defined:\
- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, LOONGARCH, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
+ AARCH64, ALPHA, ARC ARM, AMD64, IA32, IA64, LOONGARCH, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
+ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, LOONGARCH, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
#endif
// Identify compatibility class for VM's architecture and library's architecture

View File

@ -0,0 +1,109 @@
From 9a3c2a0714420186ae8d5159d5416c6fa2009ad9 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Mon, 18 Oct 2021 05:20:05 -0700
Subject: [PATCH] Add ARCv2 ISA processors support to Zero
This adds ARCv2 processors support in OpenJDK via
"Zero Assembly Project" (see https://openjdk.java.net/projects/zero).
That' a purely interpretive mode, so likely not that fast
as JIT'ed version, but for starters it's much better than nothing.
Once all the logistical problems are solved hopefully this
change will be accepted upstream.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
make/autoconf/libraries.m4 | 8 ++++++++
make/autoconf/platform.m4 | 8 ++++++++
src/hotspot/os/linux/os_linux.cpp | 8 +++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
index 5120918aed2..f7a99955874 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -163,6 +163,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
fi
+ # Libatomic library
+ # 32-bit ARC needs fallback library for 8-byte atomic ops
+ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af
+ if test "x$OPENJDK_TARGET_OS" = xlinux &&
+ (test "x$OPENJDK_TARGET_CPU" = xarc); then
+ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
+ fi
+
# perfstat lib
if test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4
index c0f2446dbd7..dc416ece885 100644
--- a/make/autoconf/platform.m4
+++ b/make/autoconf/platform.m4
@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
+ arc)
+ VAR_CPU=arc
+ VAR_CPU_ARCH=arc
+ VAR_CPU_BITS=32
+ VAR_CPU_ENDIAN=little
+ ;;
arm*)
VAR_CPU=arm
VAR_CPU_ARCH=arm
@@ -571,6 +577,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=RISCV64
# The cpu defines below are for zero, we don't support them directly.
+ elif test "x$OPENJDK_$1_CPU" = xarc; then
+ HOTSPOT_$1_CPU_DEFINE=ARC
elif test "x$OPENJDK_$1_CPU" = xsparc; then
HOTSPOT_$1_CPU_DEFINE=SPARC
elif test "x$OPENJDK_$1_CPU" = xppc; then
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
index b08caf4d5d3..2bf084895ba 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -1653,6 +1653,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
#ifndef EM_AARCH64
#define EM_AARCH64 183 /* ARM AARCH64 */
#endif
+#ifndef EM_ARC_COMPACT2
+ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */
+#endif
#ifndef EM_RISCV
#define EM_RISCV 243 /* RISC-V */
#endif
@@ -1677,6 +1680,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
{EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"},
#endif
{EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"},
+ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"},
// we only support 64 bit z architecture
{EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"},
{EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
@@ -1709,6 +1713,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static Elf32_Half running_arch_code=EM_PPC;
#elif (defined AARCH64)
static Elf32_Half running_arch_code=EM_AARCH64;
+#elif (defined ARC)
+ static Elf32_Half running_arch_code=EM_ARC_COMPACT2;
#elif (defined ARM)
static Elf32_Half running_arch_code=EM_ARM;
#elif (defined S390)
@@ -1731,7 +1737,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static Elf32_Half running_arch_code=EM_LOONGARCH;
#else
#error Method os::dll_load requires that one of following is defined:\
- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
+ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
#endif
// Identify compatibility class for VM's architecture and library's architecture
--
2.16.2

View File

@ -1,4 +1,4 @@
# Locally computed
sha256 b798ebc2e899a98edf2be99e786bb0fbad144e2270925dffe624fbe052f07ade openjdk-21+35.tar.gz
sha256 e57251d8306911282b6f0a2f721431dab5f87c99cce0930fc062e690f7c77f04 openjdk-17.0.8.1+1.tar.gz
sha256 9943e3814d3c1a31f1449f09a8b67df54841944f855a1d372be892c5e6b19217 openjdk-21.0.1+12.tar.gz
sha256 836adb5fec5a58ce2f49a0faeaf9e69a3cb89865f4d855c6098f0264843672ad openjdk-17.0.9+9.tar.gz
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE

View File

@ -6,14 +6,12 @@
ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
OPENJDK_VERSION_MAJOR = 21
OPENJDK_VERSION_MINOR = 35
OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR)+$(OPENJDK_VERSION_MINOR)
OPENJDK_VERSION_MINOR = 0.1+12
else
OPENJDK_VERSION_MAJOR = 17
OPENJDK_VERSION_MINOR = 0.8.1+1
OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR)
OPENJDK_VERSION_MINOR = 0.9+9
endif
OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR)
OPENJDK_SITE = $(call github,openjdk,jdk$(OPENJDK_VERSION_MAJOR)u,jdk-$(OPENJDK_VERSION))
OPENJDK_LICENSE = GPL-2.0+ with exception