pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang openjdk[78]: add support for NetBSD-*-aarch64



details:   https://anonhg.NetBSD.org/pkgsrc/rev/047eee14a88a
branches:  trunk
changeset: 385177:047eee14a88a
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Fri Sep 14 15:53:46 2018 +0000

description:
openjdk[78]: add support for NetBSD-*-aarch64

diffstat:

 lang/openjdk7/Makefile                                                         |   8 +-
 lang/openjdk7/bootstrap.mk                                                     |   9 +-
 lang/openjdk7/distinfo                                                         |  14 +-
 lang/openjdk7/hacks.mk                                                         |   5 +-
 lang/openjdk7/options.mk                                                       |   4 +-
 lang/openjdk7/patches/patch-aa                                                 |  57 +++++++--
 lang/openjdk7/patches/patch-ah                                                 |  24 +++-
 lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp   |  15 ++
 lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_stubGenerator__zero.cpp    |  18 +++
 lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp |  18 ++-
 lang/openjdk8/bootstrap.mk                                                     |   9 +-
 lang/openjdk8/distinfo                                                         |  10 +-
 lang/openjdk8/hacks.mk                                                         |   5 +-
 lang/openjdk8/patches/patch-aa                                                 |  43 ++++--
 lang/openjdk8/patches/patch-jdk_make_CompileLaunchers.gmk                      |  14 ++-
 15 files changed, 194 insertions(+), 59 deletions(-)

diffs (truncated from 648 to 300 lines):

diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/Makefile
--- a/lang/openjdk7/Makefile    Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/Makefile    Fri Sep 14 15:53:46 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.128 2018/08/20 16:59:34 tnn Exp $
+# $NetBSD: Makefile,v 1.129 2018/09/14 15:53:46 tnn Exp $
 
 JDK_MICRO=     141
 DISTNAME=      openjdk-1.7.${JDK_MICRO}-20170813
@@ -142,6 +142,11 @@
 CFLAGS+=       -fno-delete-null-pointer-checks
 .endif
 
+# no multilib support on aarch64 yet
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64)
+BUILDLINK_TRANSFORM+=  rm:-m64
+.endif
+
 .if !empty(PKGSRC_COMPILER:Mclang)
 _WRAP_EXTRA_ARGS.CXX+= -Wno-parentheses -Wno-sign-conversion \
                        -Wno-shorten-64-to-32 -Wno-conversion \
@@ -207,6 +212,7 @@
 post-extract:
        chmod +x ${ANT_BIN}/ant
        ${LN} -s mapfile-i586 ${WRKSRC}/jdk/make/java/main/java/mapfile-arm
+       ${LN} -s mapfile-amd64 ${WRKSRC}/jdk/make/java/main/java/mapfile-aarch64
 # These libs are bundled w/ the netbsd-7 bootstrap to facilitate building with
 # MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
 .if exists(/lib/libgcc_s.so.1)
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/bootstrap.mk
--- a/lang/openjdk7/bootstrap.mk        Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/bootstrap.mk        Fri Sep 14 15:53:46 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.20 2017/08/14 00:02:16 ryoon Exp $
+# $NetBSD: bootstrap.mk,v 1.21 2018/09/14 15:53:46 tnn Exp $
 #
 # This file contains a map of available binary bootstrap toolchains
 # and which kit to use for each supported platform.
@@ -25,6 +25,7 @@
 
 ONLY_FOR_PLATFORM=     NetBSD-[5678].*-i386 NetBSD-[5678].*-x86_64
 ONLY_FOR_PLATFORM+=    NetBSD-[78].*-sparc64 NetBSD-[78].*-earmv[67]hf
+ONLY_FOR_PLATFORM+=    NetBSD-*-aarch64
 ONLY_FOR_PLATFORM+=    DragonFly-[34].*-* SunOS-*-* FreeBSD-10.*-x86_64
 
 BOOT.nb5-i386=         bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
@@ -35,6 +36,7 @@
 BOOT.nb7-amd64=                bootstrap-jdk-1.7.76-netbsd-7-amd64-20150301.tar.xz
 BOOT.nb7-sparc64=      bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
 BOOT.nb7-earmv6hf=     bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
+BOOT.nb8-aarch64=      bootstrap-jdk-1.7.141-netbsd-8-aarch64-20180914.tar.xz
 BOOT.fbsd10-amd64=     bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
 
 #XXX should be regenerated
@@ -81,6 +83,11 @@
 EXTRACT_ONLY+=         ${BOOT.nb7-earmv6hf}
 .endif
 
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo)
+DISTFILES+=            ${BOOT.nb8-aarch64}
+EXTRACT_ONLY+=         ${BOOT.nb8-aarch64}
+.endif
+
 .if !empty(MACHINE_PLATFORM:MDragonFly-3.6*-x86_64) || make(distinfo)
 DISTFILES+=            ${BOOT.dfly3.6-amd64}
 EXTRACT_ONLY+=         ${BOOT.dfly3.6-amd64}
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/distinfo
--- a/lang/openjdk7/distinfo    Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/distinfo    Fri Sep 14 15:53:46 2018 +0000
@@ -1,9 +1,13 @@
-$NetBSD: distinfo,v 1.91 2018/07/24 16:07:24 jperkin Exp $
+$NetBSD: distinfo,v 1.92 2018/09/14 15:53:46 tnn Exp $
 
 SHA1 (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = 99bff3c702dd79076f4e705e3541f7e35bbb4306
 RMD160 (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = 7f4263d617bbf40a15eab401369d18a755f8d260
 SHA512 (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = a7481218cf12b0c46cad87ec0fd7be1ae4ba5443c151528a5ec6d1b681e6afba08fd0344e3e97a3c7f8f6a0c948e39e8a714379824568cf83fa18a5276adb16b
 Size (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = 4351965 bytes
+SHA1 (openjdk7/bootstrap-jdk-1.7.141-netbsd-8-aarch64-20180914.tar.xz) = df24cbd6fb2ae529c80ab9d80b30680c24f43f44
+RMD160 (openjdk7/bootstrap-jdk-1.7.141-netbsd-8-aarch64-20180914.tar.xz) = e755550ef882116ea9d8e1d272d07e7b297deec8
+SHA512 (openjdk7/bootstrap-jdk-1.7.141-netbsd-8-aarch64-20180914.tar.xz) = 
a1f9dcb60e384f6e08bc65547dbe40ac0cd7709f340241f9fd6a9cf252c9fe07be86b84fee3cf75c5183c7fee8ee95c08679db15c2998734df0b2f4bb46793e5
+Size (openjdk7/bootstrap-jdk-1.7.141-netbsd-8-aarch64-20180914.tar.xz) = 23413672 bytes
 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
 SHA512 (openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz) = 
6ed928cc68503c27edd6f3a90f94e1e762192d41997b12903e37071f4fcd34f5579fa970e59c240928eaae60729300fbfdb02a5ec1136bc757ee24f1ee554af4
@@ -57,11 +61,11 @@
 SHA512 (openjdk7/rhino1_7R5.zip) = 0f89d76dd5dee348b4d0593f3ee46e4a3918770991cd5752ae92fa31958b49407f5beeb258d44241411d8cc4f1ce09193791c001f19b6423ddcfe128a184f863
 Size (openjdk7/rhino1_7R5.zip) = 10227088 bytes
 SHA1 (patch-Makefile) = a9e415d19c2a8edb96a60ffdf81c804476a8e2f6
-SHA1 (patch-aa) = cd883463de83f64baf24fdb236b7ca87f9132ec3
+SHA1 (patch-aa) = 6a3ce474e5a42a6ab80a469a66a09c6d87c7ea1e
 SHA1 (patch-ab) = 35d5a4a4aa32f8b92ba82f583a2d31f2b7af7998
 SHA1 (patch-ac) = 7a7853d8d0fd451e64a6fc39c28bd2bd8173adc6
 SHA1 (patch-ag) = 83ec8015b8e0f2657f4289cea84bdc9b6d0c5e88
-SHA1 (patch-ah) = 2d67794791d84294e0ff1a217cb538725ddd95f0
+SHA1 (patch-ah) = 8ec88b2a871b5d964323d5be169bb2370a221b07
 SHA1 (patch-ak) = a8ce55038ee8755cf69a23bf77c4ea79466a8897
 SHA1 (patch-al) = 9df456ae11f1c11f885ed3881dc4ef2aa4585b6e
 SHA1 (patch-am) = 77185fb77c7b569f1d1a389a15eb8aca76f51c92
@@ -97,11 +101,13 @@
 SHA1 (patch-hotspot_make_solaris_makefiles_product.make) = 6105c8e7f8b612e70957bccf7313384488388aa5
 SHA1 (patch-hotspot_make_solaris_makefiles_saproc.make) = 8a034088ca3c9f5a625849b772dd51f65fad0b43
 SHA1 (patch-hotspot_make_solaris_makefiles_vm.make) = d72c16b90479c5df0dc33f3b30916b0552dcc17a
+SHA1 (patch-hotspot_src_cpu_zero_vm_cppInterpreter__zero.cpp) = 273e588661fd82411c9f7b48f2bf142bbc8caebb
 SHA1 (patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp) = 9f7acf1eff3baba430880be9fd0f6148056dd088
 SHA1 (patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp) = dcd83b65a7d74e153a3e1c44f8c7980827ec20c7
+SHA1 (patch-hotspot_src_cpu_zero_vm_stubGenerator__zero.cpp) = fe4ea1c55e686d67714c37baa0605f58a3becdb7
 SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp) = e87224f8b67dc78fa411d30beff82ce5ccbb4cc5
 SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp) = 6311d68db9064afc470f1d9fd37e63011899659a
-SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp) = d82b08803f71d68d6123a2e31e1280a6c2c5bb0e
+SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_os__bsd__zero.cpp) = f99c0d7981f4479b8d738079a9f08abdbbeecd4a
 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
 SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp) = b2ffc4679a4abe581c6ef3aef630b6570e5cfc41
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/hacks.mk
--- a/lang/openjdk7/hacks.mk    Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/hacks.mk    Fri Sep 14 15:53:46 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: hacks.mk,v 1.4 2016/03/08 20:03:52 tnn Exp $
+# $NetBSD: hacks.mk,v 1.5 2018/09/14 15:53:46 tnn Exp $
 
 .if !defined(OPENJDK7_HACKS_MK)
 OPENJDK7_HACKS_MK=     # empty
@@ -19,7 +19,8 @@
 # openjdk itself on such hardware may still cause unexpected behaviour.
 #
 
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)   || \
+       !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64)
 PKG_HACKS+=            broken-ieee-floats
 SUBST_CLASSES+=                fpu
 SUBST_STAGE.fpu=       pre-build
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/options.mk
--- a/lang/openjdk7/options.mk  Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/options.mk  Fri Sep 14 15:53:46 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.11 2015/03/04 17:01:02 tnn Exp $
+# $NetBSD: options.mk,v 1.12 2018/09/14 15:53:46 tnn Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.openjdk7
 PKG_OPTIONS_OPTIONAL_GROUPS=   variant
@@ -84,7 +84,7 @@
 .if !empty(PKG_OPTIONS:Mjdk-zero-vm) || !empty(PKG_OPTIONS:Mjdk-zeroshark-vm)
 MAKE_ENV+=             ZERO_BUILD=true
 MAKE_ENV+=             ZERO_LIBARCH=${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
-MAKE_ENV+=             ZERO_ARCHDEF=${MACHINE_ARCH:S/i386/IA32/:S/x86_64/AMD64/:S/sparc64/SPARC/:C/^e?arm.*$/ARM/}
+MAKE_ENV+=             ZERO_ARCHDEF=${MACHINE_ARCH:S/i386/IA32/:S/x86_64/AMD64/:S/sparc64/SPARC/:C/^e?arm.*$/ARM/:S/aarch64/AARCH64/}
 .include "../../mk/endian.mk"
 MAKE_ENV+=             ZERO_ENDIANNESS=${MACHINE_ENDIAN}
 .include "../../devel/libffi/buildlink3.mk"
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/patches/patch-aa
--- a/lang/openjdk7/patches/patch-aa    Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/patches/patch-aa    Fri Sep 14 15:53:46 2018 +0000
@@ -1,24 +1,33 @@
-$NetBSD: patch-aa,v 1.14 2015/02/21 20:20:03 tnn Exp $
+$NetBSD: patch-aa,v 1.15 2018/09/14 15:53:46 tnn Exp $
 
 DragonFly support.
 Add workaround for missing  sem_timedwait() in NetBSD < 6.99.4
+Workaround incomplete libc/no alloca(3) on NetBSD/aarch64
 
---- hotspot/src/os/bsd/vm/os_bsd.cpp.orig      2015-01-26 15:21:44.000000000 +0000
+--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig      2017-08-13 05:55:27.000000000 +0000
 +++ hotspot/src/os/bsd/vm/os_bsd.cpp
-@@ -126,8 +126,11 @@
+@@ -22,6 +22,11 @@
+  *
+  */
+ 
++#if defined(__NetBSD__) && defined(__aarch64__)
++// there is no alloca(3) yet on this port
++#define alloca(size) __builtin_alloca(size)
++#endif
++
+ // no precompiled headers
+ #include "classfile/classLoader.hpp"
+ #include "classfile/systemDictionary.hpp"
+@@ -126,7 +131,7 @@
  # include <inttypes.h>
  # include <sys/ioctl.h>
  
 -#if defined(__FreeBSD__) || defined(__NetBSD__)
 +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
  # include <elf.h>
-+#if !defined(EM_ALPHA)
-+#define EM_ALPHA 0x9026
-+#endif
  #endif
  
- #ifdef __APPLE__
-@@ -340,6 +343,7 @@ void os::Bsd::initialize_system_info() {
+@@ -327,6 +332,7 @@ void os::Bsd::initialize_system_info() {
    size_t len;
    int cpu_val;
    julong mem_val;
@@ -26,7 +35,7 @@
  
    /* get processors count via hw.ncpus sysctl */
    mib[0] = CTL_HW;
-@@ -372,14 +376,11 @@ void os::Bsd::initialize_system_info() {
+@@ -359,14 +365,11 @@ void os::Bsd::initialize_system_info() {
         _physical_memory = 256*1024*1024;       // fallback (XXXBSD?)
    }
  
@@ -46,7 +55,7 @@
  #endif
  }
  #else
-@@ -458,7 +459,7 @@ void os::init_system_properties_values()
+@@ -445,7 +448,7 @@ void os::init_system_properties_values()
   *        7: The default directories, normally /lib and /usr/lib.
   */
  #ifndef DEFAULT_LIBPATH
@@ -55,17 +64,33 @@
  #endif
  
  #define EXTENSIONS_DIR  "/lib/ext"
-@@ -2232,7 +2233,9 @@ void * os::dll_load(const char *filename
+@@ -2227,9 +2230,16 @@ void * os::dll_load(const char *filename
+     {EM_SPARCV9,     EM_SPARCV9, ELFCLASS64, ELFDATA2MSB, (char*)"Sparc v9 64"},
      {EM_PPC,         EM_PPC,     ELFCLASS32, ELFDATA2MSB, (char*)"Power PC 32"},
      {EM_PPC64,       EM_PPC64,   ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"},
++#if defined(EM_AARCH64)
++    {EM_AARCH64,     EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"Aarch64"},
++#endif
      {EM_ARM,         EM_ARM,     ELFCLASS32,   ELFDATA2LSB, (char*)"ARM"},
-+#if 0
++#if defined(EM_S390)
      {EM_S390,        EM_S390,    ELFCLASSNONE, ELFDATA2MSB, (char*)"IBM System/390"},
 +#endif
++#if defined(EM_ALPHA)
      {EM_ALPHA,       EM_ALPHA,   ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
++#endif
      {EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
      {EM_MIPS,        EM_MIPS,    ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},
-@@ -2829,6 +2832,33 @@ bool Semaphore::timedwait(unsigned int s
+     {EM_PARISC,      EM_PARISC,  ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"},
+@@ -2252,6 +2262,8 @@ void * os::dll_load(const char *filename
+     static  Elf32_Half running_arch_code=EM_PPC;
+   #elif  (defined ARM)
+     static  Elf32_Half running_arch_code=EM_ARM;
++  #elif  (defined AARCH64)
++    static  Elf32_Half running_arch_code=EM_AARCH64;
+   #elif  (defined S390)
+     static  Elf32_Half running_arch_code=EM_S390;
+   #elif  (defined ALPHA)
+@@ -2825,6 +2837,33 @@ bool Semaphore::timedwait(unsigned int s
  
  #else
  
@@ -99,7 +124,7 @@
  bool Semaphore::trywait() {
    return sem_trywait(&_semaphore) == 0;
  }
-@@ -2979,7 +3009,7 @@ static void warn_fail_commit_memory(char
+@@ -2975,7 +3014,7 @@ static void warn_fail_commit_memory(char
  //       problem.
  bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
    int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
@@ -108,7 +133,7 @@
    // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
    if (::mprotect(addr, size, prot) == 0) {
      return true;
-@@ -3893,7 +3923,7 @@ OSReturn os::set_native_priority(Thread*
+@@ -3901,7 +3940,7 @@ OSReturn os::set_native_priority(Thread*
  #ifdef __OpenBSD__
    // OpenBSD pthread_setprio starves low priority threads
    return OS_OK;
@@ -117,7 +142,7 @@
    int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
    return (ret == 0) ? OS_OK : OS_ERR;
  #elif defined(__APPLE__) || defined(__NetBSD__)
-@@ -3922,7 +3952,7 @@ OSReturn os::get_native_priority(const T
+@@ -3930,7 +3969,7 @@ OSReturn os::get_native_priority(const T
    }
  
    errno = 0;
diff -r 47af13dbc300 -r 047eee14a88a lang/openjdk7/patches/patch-ah
--- a/lang/openjdk7/patches/patch-ah    Fri Sep 14 15:43:32 2018 +0000
+++ b/lang/openjdk7/patches/patch-ah    Fri Sep 14 15:53:46 2018 +0000
@@ -1,10 +1,10 @@
-$NetBSD: patch-ah,v 1.6 2015/02/21 20:21:56 tnn Exp $
+$NetBSD: patch-ah,v 1.7 2018/09/14 15:53:46 tnn Exp $
 
 DragonFly support.
 Disable SunOS multiarch.
 Add ARM support.
 
---- jdk/make/common/shared/Platform.gmk.orig   2015-01-26 15:20:57.000000000 +0000
+--- jdk/make/common/shared/Platform.gmk.orig   2017-08-13 05:55:12.000000000 +0000
 +++ jdk/make/common/shared/Platform.gmk
 @@ -119,7 +119,7 @@ ifeq ($(SYSTEM_UNAME), SunOS)
      ARCH := $(shell isainfo -n)
@@ -15,7 +15,7 @@
    endif
    # Need to maintain the jre/lib/i386 location for 32-bit Intel
    ifeq ($(ARCH), i586)
-@@ -224,6 +224,13 @@ ifeq ($(SYSTEM_UNAME), Linux)
+@@ -241,6 +241,13 @@ ifeq ($(SYSTEM_UNAME), Linux)
    MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' )



Home | Main Index | Thread Index | Old Index