diff options
author | tnn <tnn@pkgsrc.org> | 2021-06-27 18:30:26 +0000 |
---|---|---|
committer | tnn <tnn@pkgsrc.org> | 2021-06-27 18:30:26 +0000 |
commit | 65ab44f5ca41d5ea2ebea351e873f34d4447dfa9 (patch) | |
tree | 4b83f2bd1d2264f205854a7170e462bae6547bf8 /lang/openjdk8 | |
parent | 90b90f256552df52735dfdfcfbdaf43e1d32eca0 (diff) | |
download | pkgsrc-65ab44f5ca41d5ea2ebea351e873f34d4447dfa9.tar.gz |
openjdk8: some hotspot fixes for NetBSD/evbarm-aarch64 (doesn't work yet)
Diffstat (limited to 'lang/openjdk8')
6 files changed, 119 insertions, 1 deletions
diff --git a/lang/openjdk8/distinfo b/lang/openjdk8/distinfo index 4b0b61e9b67..0fa5886e657 100644 --- a/lang/openjdk8/distinfo +++ b/lang/openjdk8/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.82 2021/06/27 14:54:40 tnn Exp $ +$NetBSD: distinfo,v 1.83 2021/06/27 18:30:26 tnn Exp $ SHA1 (openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz) = 7408f52d3bbe35c2b14bbd3215cbf60f1335d334 RMD160 (openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz) = 24f1577b5fc86d137f070aedb4610c8c89e45815 @@ -66,8 +66,13 @@ SHA1 (patch-hotspot_make_solaris_makefiles_optimized.make) = 78d64fe6cb7c3420889 SHA1 (patch-hotspot_make_solaris_makefiles_product.make) = c41b360302bffd9fbfaa34ee7a4d5d1a756ae0e2 SHA1 (patch-hotspot_make_solaris_makefiles_saproc.make) = 0ca85ba72d154643b934815a0a2deb1e77371ff9 SHA1 (patch-hotspot_make_solaris_makefiles_vm.make) = 787e0c68cf976fc0df3e19fb2a22b1b7e3662c07 +SHA1 (patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.cpp) = b02d08302974a923e19875c4fa30057580629f14 +SHA1 (patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.hpp) = 6a766abe3c53ee3b15ad9636527d0e4b61942d4d SHA1 (patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp) = 9f7acf1eff3baba430880be9fd0f6148056dd088 SHA1 (patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp) = 446b96a91a2e4fa76f43ac653d1608f037c64af9 +SHA1 (patch-hotspot_src_os__cpu_bsd__aarch64_vm_bytes__bsd__aarch64.inline.hpp) = acc0b870113ffc279d089da385e564f3ffd87f89 +SHA1 (patch-hotspot_src_os__cpu_bsd__aarch64_vm_os__bsd__aarch64.cpp) = 10cab6ac79e57d6a36b9183ea62ff8b3965d68bb +SHA1 (patch-hotspot_src_os__cpu_bsd__aarch64_vm_vm__version__bsd__aarch64.cpp) = d6762bb2a9fe6e158ccf23f7d04aa0cba588e78e SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp) = f46713855507654be42707b1f80a779796929069 SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp) = 2bf9147643be4ac711d1bf94eb0e6ae4abad20c6 SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp) = 82818bc8d8fee46403b88cf52a7c978b5ea0005c diff --git a/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.cpp b/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.cpp new file mode 100644 index 00000000000..fb26f297a3a --- /dev/null +++ b/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.cpp,v 1.1 2021/06/27 18:30:26 tnn Exp $ + +NetBSD/evbarm-aarch64 support + +--- hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp.orig 2021-05-14 21:52:06.000000000 +0000 ++++ hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp +@@ -188,7 +188,7 @@ void VM_Version::get_processor_features( + } + fclose(f); + } +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) ++#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + char buf[512]; + int cpu_lines = 0; + unsigned long auxv = os_get_processor_features(); diff --git a/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.hpp b/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.hpp new file mode 100644 index 00000000000..e0a58bc3b63 --- /dev/null +++ b/lang/openjdk8/patches/patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.hpp @@ -0,0 +1,15 @@ +$NetBSD: patch-hotspot_src_cpu_aarch64_vm_vm__version__aarch64.hpp,v 1.1 2021/06/27 18:30:26 tnn Exp $ + +NetBSD/evbarm-aarch64 support + +--- hotspot/src/cpu/aarch64/vm/vm_version_aarch64.hpp.orig 2021-05-14 21:52:06.000000000 +0000 ++++ hotspot/src/cpu/aarch64/vm/vm_version_aarch64.hpp +@@ -49,7 +49,7 @@ protected: + }; + static PsrInfo _psr_info; + static void get_processor_features(); +-#if defined(__FreeBSD__) || defined(__OpenBSD__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + static unsigned long os_get_processor_features(); + #endif + diff --git a/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_bytes__bsd__aarch64.inline.hpp b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_bytes__bsd__aarch64.inline.hpp new file mode 100644 index 00000000000..974ff175bc9 --- /dev/null +++ b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_bytes__bsd__aarch64.inline.hpp @@ -0,0 +1,17 @@ +$NetBSD: patch-hotspot_src_os__cpu_bsd__aarch64_vm_bytes__bsd__aarch64.inline.hpp,v 1.1 2021/06/27 18:30:26 tnn Exp $ + +NetBSD/evbarm-aarch64 support + +--- hotspot/src/os_cpu/bsd_aarch64/vm/bytes_bsd_aarch64.inline.hpp.orig 2021-05-14 21:52:06.000000000 +0000 ++++ hotspot/src/os_cpu/bsd_aarch64/vm/bytes_bsd_aarch64.inline.hpp +@@ -33,6 +33,10 @@ + # define bswap_16(x) swap16(x) + # define bswap_32(x) swap32(x) + # define bswap_64(x) swap64(x) ++#elif defined(__NetBSD__) ++# define bswap_16(x) bswap16(x) ++# define bswap_32(x) bswap32(x) ++# define bswap_64(x) bswap64(x) + #endif + + // Efficient swapping of data bytes from Java byte diff --git a/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_os__bsd__aarch64.cpp b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_os__bsd__aarch64.cpp new file mode 100644 index 00000000000..659b59d7296 --- /dev/null +++ b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_os__bsd__aarch64.cpp @@ -0,0 +1,51 @@ +$NetBSD: patch-hotspot_src_os__cpu_bsd__aarch64_vm_os__bsd__aarch64.cpp,v 1.1 2021/06/27 18:30:26 tnn Exp $ + +NetBSD/evbarm-aarch64 support + +--- hotspot/src/os_cpu/bsd_aarch64/vm/os_bsd_aarch64.cpp.orig 2021-05-14 21:52:06.000000000 +0000 ++++ hotspot/src/os_cpu/bsd_aarch64/vm/os_bsd_aarch64.cpp +@@ -107,6 +107,8 @@ address os::Bsd::ucontext_get_pc(ucontex + return (address)uc->uc_mcontext.mc_gpregs.gp_elr; + #elif defined(__OpenBSD__) + return (address)uc->sc_elr; ++#elif defined(__NetBSD__) ++ return (address)uc->uc_mcontext.__gregs[_REG_ELR]; + #endif + } + +@@ -115,6 +117,8 @@ void os::Bsd::ucontext_set_pc(ucontext_t + uc->uc_mcontext.mc_gpregs.gp_elr = (intptr_t)pc; + #elif defined(__OpenBSD__) + uc->sc_elr = (unsigned long)pc; ++#elif defined(__NetBSD__) ++ uc->uc_mcontext.__gregs[_REG_ELR] = (__greg_t)pc; + #endif + } + +@@ -123,6 +127,8 @@ intptr_t* os::Bsd::ucontext_get_sp(ucont + return (intptr_t*)uc->uc_mcontext.mc_gpregs.gp_sp; + #elif defined(__OpenBSD__) + return (intptr_t*)uc->sc_sp; ++#elif defined(__NetBSD__) ++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_SP]; + #endif + } + +@@ -131,6 +137,8 @@ intptr_t* os::Bsd::ucontext_get_fp(ucont + return (intptr_t*)uc->uc_mcontext.mc_gpregs.gp_x[REG_FP]; + #elif defined(__OpenBSD__) + return (intptr_t*)uc->sc_x[REG_FP]; ++#elif defined(__NetBSD__) ++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_FP]; + #endif + } + +@@ -285,7 +293,7 @@ JVM_handle_bsd_signal(int sig, + return 1; + } + +-#ifndef AMD64 ++#if 0 + // Halt if SI_KERNEL before more crashes get misdiagnosed as Java bugs + // This can happen in any running code (currently more frequently in + // interpreter code but has been seen in compiled code) diff --git a/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_vm__version__bsd__aarch64.cpp b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_vm__version__bsd__aarch64.cpp new file mode 100644 index 00000000000..086ddb19aeb --- /dev/null +++ b/lang/openjdk8/patches/patch-hotspot_src_os__cpu_bsd__aarch64_vm_vm__version__bsd__aarch64.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-hotspot_src_os__cpu_bsd__aarch64_vm_vm__version__bsd__aarch64.cpp,v 1.1 2021/06/27 18:30:26 tnn Exp $ + +NetBSD/evbarm-aarch64 support + +--- hotspot/src/os_cpu/bsd_aarch64/vm/vm_version_bsd_aarch64.cpp.orig 2021-05-14 21:52:06.000000000 +0000 ++++ hotspot/src/os_cpu/bsd_aarch64/vm/vm_version_bsd_aarch64.cpp +@@ -201,7 +201,7 @@ const struct cpu_implementers cpu_implem + CPU_IMPLEMENTER_NONE, + }; + +-#ifdef __OpenBSD__ ++#if defined(__OpenBSD__) || defined(__NetBSD__) + // READ_SPECIALREG is not available from userland on OpenBSD. + // Hardcode these values to the "lowest common denominator" + unsigned long VM_Version::os_get_processor_features() { |