File icedtea6-1.13.13-aarch64.patch of Package java-1_6_0-openjdk

--- icedtea6-1.13.13/acinclude.m4	2017-01-03 08:07:33.404933031 +0100
+++ icedtea6-1.13.13/acinclude.m4	2017-01-11 11:20:32.758291332 +0100
@@ -22,6 +22,12 @@
       JRE_ARCH_DIR=alpha
       CROSS_TARGET_ARCH=alpha
       ;;
+    arm64|aarch64)
+      BUILD_ARCH_DIR=aarch64
+      INSTALL_ARCH_DIR=aarch64
+      JRE_ARCH_DIR=aarch64
+      ARCHFLAG="-D_LITTLE_ENDIAN"
+      ;;
     arm*)
       BUILD_ARCH_DIR=arm
       INSTALL_ARCH_DIR=arm
--- icedtea6-1.13.13/Makefile.am	2017-01-04 21:22:49.112782727 +0100
+++ icedtea6-1.13.13/Makefile.am	2017-01-11 11:21:43.228723394 +0100
@@ -570,6 +570,7 @@
 	patches/shark-drop_compile_method_arg_following_7083786.patch \
 	patches/pr1904-icedtea_and_distro_versioning.patch \
 	patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch \
+	patches/pr2083-aarch64_zero.patch \
 	patches/pr2070-type_punning_warnings.patch \
 	patches/pr2082-s390_type_fixes.patch \
 	patches/pr2096-4096-bit_dh.patch \
--- icedtea6-1.13.13/patches/pr2083-aarch64_zero.patch	1970-01-01 01:00:00.000000000 +0100
+++ icedtea6-1.13.13/patches/pr2083-aarch64_zero.patch	2017-01-11 11:20:32.762291243 +0100
@@ -0,0 +1,97 @@
+diff -Nru openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp	2014-11-12 22:34:55.098161588 +0000
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2014-11-12 22:52:15.524181428 +0000
+@@ -387,7 +387,7 @@
+  *        ...
+  *        7: The default directories, normally /lib and /usr/lib.
+  */
+-#if defined(AMD64) || defined(_LP64) && (defined(SPARC) || defined(PPC) || defined(S390))
++#if defined(AMD64) || defined(_LP64) && (defined(SPARC) || defined(PPC) || defined(S390) || defined(AARCH64))
+ #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
+ #else
+ #define DEFAULT_LIBPATH "/lib:/usr/lib"
+@@ -1441,8 +1441,8 @@
+ 
+ #ifndef SYS_clock_getres
+ 
+-#if defined(IA32) || defined(AMD64)
+-#define SYS_clock_getres IA32_ONLY(266)  AMD64_ONLY(229)
++#if defined(IA32) || defined(AMD64) || defined(AARCH64)
++#define SYS_clock_getres IA32_ONLY(266)  AMD64_ONLY(229) AARCH64_ONLY(114)
+ #define sys_clock_getres(x,y)  ::syscall(SYS_clock_getres, x, y)
+ #else
+ #warning "SYS_clock_getres not defined for this platform, disabling fast_thread_cpu_time"
+@@ -1930,7 +1930,7 @@
+     static  Elf32_Half running_arch_code=EM_AARCH64;
+   #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, SH
++         IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH, AARCH64
+   #endif
+ 
+   // Identify compatability class for VM's architecture and library's architecture
+@@ -2725,9 +2725,9 @@
+   unsigned int cpu;
+   int retval = -1;
+ 
+-#if defined(IA32)
++#if defined(IA32) || defined(AARCH64)
+ # ifndef SYS_getcpu
+-# define SYS_getcpu 318
++# define SYS_getcpu AARCH64_ONLY(168) NOT_AARCH64(318);
+ # endif
+   retval = syscall(SYS_getcpu, &cpu, NULL, NULL);
+ #elif defined(AMD64)
+@@ -3056,7 +3056,7 @@
+ 
+ #ifndef ZERO
+     _large_page_size = IA32_ONLY(4 * M) AMD64_ONLY(2 * M) IA64_ONLY(256 * M) SPARC_ONLY(4 * M)
+-                       ARM_ONLY(2 * M) PPC_ONLY(4 * M);
++                       ARM_ONLY(2 * M) PPC_ONLY(4 * M) AARCH64_ONLY(2 * M);
+ #endif // ZERO
+ 
+     FILE *fp = fopen("/proc/meminfo", "r");
+@@ -5484,11 +5484,11 @@
+ extern char** environ;
+ 
+ #ifndef __NR_fork
+-#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57)
++#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) AARCH64_ONLY(1079)
+ #endif
+ 
+ #ifndef __NR_execve
+-#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59)
++#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) AARCH64_ONLY(221)
+ #endif
+ 
+ // Run the specified command in a separate process. Return its exit value,
+diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
+--- openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	2014-11-12 22:34:52.830131030 +0000
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	2014-11-12 22:53:39.365312680 +0000
+@@ -35,7 +35,7 @@
+ #ifdef __powerpc64__
+ define_pd_global(intx,  ThreadStackSize,         2048);
+ #else
+-define_pd_global(intx,  ThreadStackSize,         1536);
++define_pd_global(intx,  ThreadStackSize,         AARCH64_ONLY(1664) NOT_AARCH64(1536));
+ #endif
+ #ifdef _LP64
+ define_pd_global(intx,  VMThreadStackSize,       1024);
+diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp openjdk/hotspot/src/share/vm/utilities/macros.hpp
+--- openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp	2014-11-12 22:34:54.810157708 +0000
++++ openjdk/hotspot/src/share/vm/utilities/macros.hpp	2014-11-12 22:49:51.182233142 +0000
+@@ -260,6 +260,14 @@
+ #define NOT_ARM(code) code
+ #endif
+ 
++#ifdef AARCH64
++#define AARCH64_ONLY(code) code
++#define NOT_AARCH64(code)
++#else
++#define AARCH64_ONLY(code)
++#define NOT_AARCH64(code) code
++#endif
++
+ #ifdef JAVASE_EMBEDDED
+ #define EMBEDDED_ONLY(code) code
+ #define NOT_EMBEDDED(code)
openSUSE Build Service is sponsored by