8u412-ga build error on loong64

Leslie Zhai zhaixiang at loongson.cn
Sun Apr 28 07:06:16 UTC 2024


Hi Thorsten,

Thanks for point out my fault!

I reproduced the issue on our Debian build machine.

Backport JDK-8315020 is request for review[1] right now, so we need to handle it additionally[2].

[1] https://github.com/openjdk/jdk8u-dev/pull/489

[2]
Author: zhaixiang <zhaixiang at loongson.cn>
Date:   Sun Apr 28 14:42:47 2024 +0800

     Backport JDK-8315020

diff --git a/patches/loong64-backport-jdk-8315020.diff b/patches/loong64-backport-jdk-8315020.diff
new file mode 100644
index 0000000..1515193
--- /dev/null
+++ b/patches/loong64-backport-jdk-8315020.diff
@@ -0,0 +1,20 @@
+diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp
+index 54cfcdd116..5629a640f6 100644
+--- a/hotspot/src/os/linux/vm/os_linux.cpp
++++ b/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -2009,13 +2009,13 @@
+     static  Elf32_Half running_arch_code=EM_68K;
+   #elif  (defined AARCH64)
+     static  Elf32_Half running_arch_code=EM_AARCH64;
+-  #elif  (defined LOONGARCH)
++  #elif  (defined LOONGARCH64)
+     static  Elf32_Half running_arch_code=EM_LOONGARCH;
+   #elif  (defined ZERO_SH)
+     static  Elf32_Half running_arch_code=EM_SH;
+   #else
+     #error Method os::dll_load requires that one of following is defined:\
+-         IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64, LOONGARCH, SH
++         IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64, LOONGARCH64, SH
+   #endif
+
+   // Identify compatability class for VM's architecture and library's architecture
diff --git a/rules b/rules
index dd54b6f..f41daff 100755
--- a/rules
+++ b/rules
@@ -388,6 +388,7 @@ COMMON_PATCHES = \
         sparc-inline-conflict.diff \
         zero-sh.diff \
         t64-dlsyms.diff \
+       loong64-backport-jdk-8315020.diff \
  
  ifeq ($(derivative),Debian)
    COMMON_PATCHES += \


Thanks,
Leslie Zhai

在 2024/4/26 下午11:01, Thorsten Glaser 写道:
> /<<PKGBUILDDIR>>/src/hotspot/src/os/linux/vm/os_linux.cpp: In static member function 'static void* os::dll_load(c
> onst char*, char*, int)':
> /<<PKGBUILDDIR>>/src/hotspot/src/os/linux/vm/os_linux.cpp:2041:9: error: 'running_arch_code' was not declared in
> this scope; did you mean 'running_arch_index'?
>   2041 |     if (running_arch_code == arch_array[i].code) {
>        |         ^~~~~~~~~~~~~~~~~
>        |         running_arch_index
>
> This is probably from…
>
>     #elif  (defined LOONGARCH)
>       static  Elf32_Half running_arch_code=EM_LOONGARCH;
>
> … not triggering. An earlier version of that patch had…
>
> +  #elif  (defined LOONGARCH64)
> +    static  Elf32_Half running_arch_code=EM_LOONGARCH;
>
> … there, notice the difference in the architecture definition,
> which (looking at other places) seems to be the correct one.
>
> bye,
> //mirabilos



More information about the jdk8u-dev mailing list