File riscv64-zero.patch of Package java-11-openjdk.21579
Index: jdk11u-f412f2537f15/make/autoconf/platform.m4
===================================================================
--- jdk11u-f412f2537f15.orig/make/autoconf/platform.m4
+++ jdk11u-f412f2537f15/make/autoconf/platform.m4
@@ -150,6 +150,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
+ riscv64)
+ VAR_CPU=riscv64
+ VAR_CPU_ARCH=riscv
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
+ ;;
*)
AC_MSG_ERROR([unsupported cpu $1])
;;
@@ -473,6 +479,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HEL
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xs390x; then
HOTSPOT_$1_CPU_DEFINE=S390
+ elif test "x$OPENJDK_$1_CPU" = xriscv64; then
+ HOTSPOT_$1_CPU_DEFINE=RISCV
elif test "x$OPENJDK_$1_CPU" != x; then
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
fi
Index: jdk11u-f412f2537f15/src/hotspot/os/linux/os_linux.cpp
===================================================================
--- jdk11u-f412f2537f15.orig/src/hotspot/os/linux/os_linux.cpp
+++ jdk11u-f412f2537f15/src/hotspot/os/linux/os_linux.cpp
@@ -1828,6 +1828,9 @@ void * os::dll_load(const char *filename
#ifndef EM_AARCH64
#define EM_AARCH64 183 /* ARM AARCH64 */
#endif
+#ifndef EM_RISCV
+ #define EM_RISCV 243 /* RISC-V */
+#endif
static const arch_t arch_array[]={
{EM_386, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
@@ -1853,6 +1856,7 @@ void * os::dll_load(const char *filename
{EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"},
{EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"},
{EM_AARCH64, EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"AARCH64"},
+ {EM_RISCV, EM_RISCV, ELFCLASS64, ELFDATA2LSB, (char*)"RISCV"},
};
#if (defined IA32)
@@ -1887,6 +1891,8 @@ void * os::dll_load(const char *filename
static Elf32_Half running_arch_code=EM_68K;
#elif (defined SH)
static Elf32_Half running_arch_code=EM_SH;
+#elif (defined RISCV)
+ static Elf32_Half running_arch_code=EM_RISCV;
#else
#error Method os::dll_load requires that one of following is defined:\
AARCH64, ALPHA, ARM, AMD64, IA32, IA64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, S390, SH, __sparc