summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <andre.draszik@jci.com>2018-03-05 09:31:06 +0000
committerMaxin B. John <maxin.john@intel.com>2018-03-06 11:03:31 +0200
commit0325253a995039f70836c6d6d98e6cb315fa297f (patch)
tree96502d7881b84e2bd0bc8fdf0235de4e1e3171b9
parent3668ba76f44bc778ba4446236088c22948a644d0 (diff)
downloadmeta-java-0325253a995039f70836c6d6d98e6cb315fa297f.tar.gz
openjdk-8: add aarch64 support
This is using the aarch64 port to make it work, which is at version u161b15. We also add one patch to make this work with musl, too. Because the aarch64 port is fetched from a different repository, the version specific include has been split so as to have all common parts (URIs, patches, configuration bits) in one single file, and version specific bits (checksum, mercurial commit ID), in another file, to ease maintenance, and make distinguishing easier. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
-rw-r--r--recipes-core/openjdk/openjdk-8-common.inc2
-rw-r--r--recipes-core/openjdk/openjdk-8-release-161b15.inc33
-rw-r--r--recipes-core/openjdk/openjdk-8-release-162b12.inc83
-rw-r--r--recipes-core/openjdk/openjdk-8-release-16xbyy.inc87
-rw-r--r--recipes-core/openjdk/openjdk-8_16xbyy.bb (renamed from recipes-core/openjdk/openjdk-8_162b12.bb)3
-rw-r--r--recipes-core/openjdk/openjre-8_16xbyy.bb (renamed from recipes-core/openjdk/openjre-8_162b12.bb)3
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/hotspot-remaining-musl-fixes-aarch64.patch35
7 files changed, 164 insertions, 82 deletions
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc
index dbdd053..b2020c3 100644
--- a/recipes-core/openjdk/openjdk-8-common.inc
+++ b/recipes-core/openjdk/openjdk-8-common.inc
@@ -199,8 +199,6 @@ def get_jdk_arch(d):
199 return jdk_arch 199 return jdk_arch
200 200
201JDK_ARCH = "${@get_jdk_arch(d)}" 201JDK_ARCH = "${@get_jdk_arch(d)}"
202# We do not yet work for aarch64.
203COMPATIBLE_HOST = "^(?!aarch64).*"
204 202
205export DEBUG_BINARIES = "true" 203export DEBUG_BINARIES = "true"
206 204
diff --git a/recipes-core/openjdk/openjdk-8-release-161b15.inc b/recipes-core/openjdk/openjdk-8-release-161b15.inc
new file mode 100644
index 0000000..0a4434c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-8-release-161b15.inc
@@ -0,0 +1,33 @@
1require openjdk-8-release-16xbyy.inc
2
3CORBA_CHANGESET_aarch64 = "f73da600c483"
4SRC_URI[corba.md5sum] = "bf884b82fcc6de466946fcb87d24ebf3"
5SRC_URI[corba.sha256sum] = "ebf73d96185fc05e502088ae89a8d6494c3971dd220458deeff3876f72396b6c"
6
7HOTSPOT_CHANGESET_aarch64 = "a600839824fa"
8SRC_URI[hotspot.md5sum] = "20c88ba26f8f45a2769f4edf32afd593"
9SRC_URI[hotspot.sha256sum] = "6d0d1b9c2df3392ad6e21ca3eae39d06b50632a4a419da3d4363248943ea8b97"
10
11JAXP_CHANGESET_aarch64 = "b1e2af899046"
12SRC_URI[jaxp.md5sum] = "219582b26d7de2973b75f4329b53ec7d"
13SRC_URI[jaxp.sha256sum] = "907cc4dfb01a3a2a6d74dfa90fa6fcb5b3df55600f41ba44dcdc94b47e85a382"
14
15JAXWS_CHANGESET_aarch64 = "0002ed323fe5"
16SRC_URI[jaxws.md5sum] = "44935b81e3405fcaef675d5d08c2149e"
17SRC_URI[jaxws.sha256sum] = "0d1d52f1cf254a643ece1bd6cd8628fae1a4d56e8b59388cc9ad73b3caf151a1"
18
19JDK_CHANGESET_aarch64 = "c2ba2ed87d18"
20SRC_URI[jdk.md5sum] = "f4c0393a157dcb8b90ee7c7d80cbdfbf"
21SRC_URI[jdk.sha256sum] = "c84a17451b47242f9d96bf431011607afc3776f285a6ad9a60190fba2d434c49"
22
23LANGTOOLS_CHANGESET_aarch64 = "cdb217c578cb"
24SRC_URI[langtools.md5sum] = "608cf07781259d916d1663d6a5ced26d"
25SRC_URI[langtools.sha256sum] = "ad28e75bfaba1b64fdd02ea316db3ba3cba68007f90c5fa2be2418ce8bc0074d"
26
27NASHORN_CHANGESET_aarch64 = "505d0eb2fafe"
28SRC_URI[nashorn.md5sum] = "be981a6c55f9e602ff129fed65505a8c"
29SRC_URI[nashorn.sha256sum] = "14419ccd773e1db83b600d05aca3cbac9f24be77abda9a132d12305d8821d6d7"
30
31OPENJDK_CHANGESET_aarch64 = "917454da25c1"
32SRC_URI[openjdk.md5sum] = "1e4b3eca032742b7448731f9b8fcb426"
33SRC_URI[openjdk.sha256sum] = "1e17e2d8384a7b808a89b982e7c09c4feb8598b7a66b93697bfb8759c1005974"
diff --git a/recipes-core/openjdk/openjdk-8-release-162b12.inc b/recipes-core/openjdk/openjdk-8-release-162b12.inc
index dc1e023..bc2b342 100644
--- a/recipes-core/openjdk/openjdk-8-release-162b12.inc
+++ b/recipes-core/openjdk/openjdk-8-release-162b12.inc
@@ -1,58 +1,7 @@
1PATCHES_URI = "\ 1require openjdk-8-release-16xbyy.inc
2 file://remove-shell-variables-from-autoheader.patch;striplevel=0 \
3 file://filter-aclocal-copy-too.patch;striplevel=0 \
4 file://dont-expect-fqpn-for-make.patch;striplevel=0 \
5 file://openjdk8-no-genx11-in-headless.patch;striplevel=0 \
6 file://openjdk8-no-unused-deps.patch;striplevel=0 \
7 file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \
8 file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \
9 file://0001-jdk-comparison-between-pointer-and-integer.patch \
10 file://0002-hotspot-fix-compilation-with-security-flags-enabled.patch \
11 file://0003-jdk-Allow-using-a-system-installed-libjpeg.patch \
12 file://0004-jdk-Allow-using-a-system-installed-libpng.patch \
13 file://0005-hotspot-use-correct-include-for-poll.patch \
14 file://0006-hotspot-don-t-rely-on-old-SysV-SIGCLD.patch \
15 file://0007-jdk-use-correct-include-for-poll.patch \
16 file://0008-jdk-use-correct-include-for-signal.patch \
17 file://0009-jdk-disable-backtrace-musl-build-fix.patch \
18"
19# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
20# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
21# by Roman Kennke (rkennke at redhat.com)
22PATCHES_URI_append_class-target = "\
23 file://openjdk8-restrict-to-staging-dir.patch;striplevel=0 \
24 file://openjdk8-fix-shark-build.patch;striplevel=0 \
25 file://openjdk8-fix-shark-stdc++11.patch;striplevel=0 \
26 file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;striplevel=0 \
27 file://openjdk8-fix-adlc-flags.patch;striplevel=0 \
28 file://openjdk8-add-missing-linker-flags.patch;striplevel=0 \
29 file://openjdk8-fix-libpng-neon-build.patch;striplevel=0 \
30"
31PATCHES_URI_append_libc-musl = "\
32 file://musl-0001-hotspot-stop-using-obsolete-isnanf.patch \
33 file://musl-0002-jdk-give-a-much-bigger-buffer-to-getmntent_r.patch \
34 file://musl-0003-jdk-fix-libjvm-load-on-musl-set-LD_LIBRARY_PATH.patch \
35 file://musl-0004-jdk-remove-sysctl.h-include-musl-build-fix.patch \
36 file://musl-0005-hotspot-disable-agent-build.patch \
37 file://musl-0006-hotspot-os_linux-remove-glibc-dependencies.patch \
38 file://musl-0007-hotspot-os_linux_x86-remove-glibc-dependencies-fpu_c.patch \
39 file://musl-0008-jdk-musl-build-fix-use-SIGRTMAX-rather-than-__SIGRTM.patch \
40 file://musl-0009-jdk-musl-has-gethostby_r.patch \
41"
42 2
43# Name of the directory containing the compiled output 3# We do not yet work for aarch64.
44BUILD_DIR = "openjdk.build" 4COMPATIBLE_HOST = "^(?!aarch64).*"
45BUILD_DIR_ECJ = "openjdk.build-ecj"
46
47# Force arm mode for now
48ARM_INSTRUCTION_SET_armv4t = "ARM"
49
50# readdir_r was deprecated in glibc-2.24. Ignore the error for now
51# NOTE: When updating the recipe, please check if this is still needed
52CFLAGS_append = " -Wno-error=deprecated-declarations"
53
54# Enable zero mode for arm based builds, as normal hotspot fails to build
55PACKAGECONFIG_append_arm = " zero"
56 5
57CORBA_CHANGESET = "f6b6ad6feb6e" 6CORBA_CHANGESET = "f6b6ad6feb6e"
58SRC_URI[corba.md5sum] = "0358300224b63f3deeba63d3de7d765c" 7SRC_URI[corba.md5sum] = "0358300224b63f3deeba63d3de7d765c"
@@ -86,33 +35,7 @@ OPENJDK_CHANGESET = "4be07cb28b21"
86SRC_URI[openjdk.md5sum] = "24d30b66aaaef51af9b598c8989c1c82" 35SRC_URI[openjdk.md5sum] = "24d30b66aaaef51af9b598c8989c1c82"
87SRC_URI[openjdk.sha256sum] = "8f9ecc5fc5f9c6df671a2ef07949f86080823c89954b2b87f6727a82af679eca" 36SRC_URI[openjdk.sha256sum] = "8f9ecc5fc5f9c6df671a2ef07949f86080823c89954b2b87f6727a82af679eca"
88 37
89OPENJDK_HG_U = "jdk8u"
90OPENJDK_HG_URL = "http://hg.openjdk.java.net/jdk8u/${OPENJDK_HG_U}"
91
92OPENJDK_FILE = "${OPENJDK_CHANGESET}.tar.bz2"
93OPENJDK_URI = "${OPENJDK_HG_URL}/archive/${OPENJDK_FILE};name=openjdk"
94
95HOTSPOT_FILE = "${HOTSPOT_CHANGESET}.tar.bz2"
96HOTSPOT_URI = "${OPENJDK_HG_URL}/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
97
98CORBA_FILE = "${CORBA_CHANGESET}.tar.bz2"
99CORBA_URI = "${OPENJDK_HG_URL}/corba/archive/${CORBA_FILE};name=corba;unpack=false"
100 38
101JAXP_FILE = "${JAXP_CHANGESET}.tar.bz2"
102JAXP_URI = "${OPENJDK_HG_URL}/jaxp/archive/${JAXP_FILE};name=jaxp;unpack=false"
103
104JAXWS_FILE = "${JAXWS_CHANGESET}.tar.bz2"
105JAXWS_URI = "${OPENJDK_HG_URL}/jaxws/archive/${JAXWS_FILE};name=jaxws;unpack=false"
106
107JDK_FILE = "${JDK_CHANGESET}.tar.bz2"
108JDK_URI = "${OPENJDK_HG_URL}/jdk/archive/${JDK_FILE};name=jdk;unpack=false"
109
110LANGTOOLS_FILE = "${LANGTOOLS_CHANGESET}.tar.bz2"
111LANGTOOLS_URI = "${OPENJDK_HG_URL}/langtools/archive/${LANGTOOLS_FILE};name=langtools;unpack=false"
112
113NASHORN_FILE = "${NASHORN_CHANGESET}.tar.bz2"
114NASHORN_URI = "${OPENJDK_HG_URL}/nashorn/archive/${NASHORN_FILE};name=nashorn;unpack=false"
115#
116#CACAO_VERSION = "e215e36be9fc" 39#CACAO_VERSION = "e215e36be9fc"
117#CACAO_FILE = "${CACAO_VERSION}.tar.gz" 40#CACAO_FILE = "${CACAO_VERSION}.tar.gz"
118#CACAO_URI = "http://icedtea.wildebeest.org/download/drops/cacao/${CACAO_FILE};name=cacao;unpack=false" 41#CACAO_URI = "http://icedtea.wildebeest.org/download/drops/cacao/${CACAO_FILE};name=cacao;unpack=false"
diff --git a/recipes-core/openjdk/openjdk-8-release-16xbyy.inc b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc
new file mode 100644
index 0000000..ab72830
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc
@@ -0,0 +1,87 @@
1PATCHES_URI = "\
2 file://remove-shell-variables-from-autoheader.patch;striplevel=0 \
3 file://filter-aclocal-copy-too.patch;striplevel=0 \
4 file://dont-expect-fqpn-for-make.patch;striplevel=0 \
5 file://openjdk8-no-genx11-in-headless.patch;striplevel=0 \
6 file://openjdk8-no-unused-deps.patch;striplevel=0 \
7 file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \
8 file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \
9 file://0001-jdk-comparison-between-pointer-and-integer.patch \
10 file://0002-hotspot-fix-compilation-with-security-flags-enabled.patch \
11 file://0003-jdk-Allow-using-a-system-installed-libjpeg.patch \
12 file://0004-jdk-Allow-using-a-system-installed-libpng.patch \
13 file://0005-hotspot-use-correct-include-for-poll.patch \
14 file://0006-hotspot-don-t-rely-on-old-SysV-SIGCLD.patch \
15 file://0007-jdk-use-correct-include-for-poll.patch \
16 file://0008-jdk-use-correct-include-for-signal.patch \
17 file://0009-jdk-disable-backtrace-musl-build-fix.patch \
18"
19# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
20# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
21# by Roman Kennke (rkennke at redhat.com)
22LIBPNG_NEON_PATCH = "file://openjdk8-fix-libpng-neon-build.patch;striplevel=0"
23LIBPNG_NEON_PATCH_aarch64 = ""
24PATCHES_URI_append_class-target = "\
25 file://openjdk8-restrict-to-staging-dir.patch;striplevel=0 \
26 file://openjdk8-fix-shark-build.patch;striplevel=0 \
27 file://openjdk8-fix-shark-stdc++11.patch;striplevel=0 \
28 file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;striplevel=0 \
29 file://openjdk8-fix-adlc-flags.patch;striplevel=0 \
30 file://openjdk8-add-missing-linker-flags.patch;striplevel=0 \
31 ${LIBPNG_NEON_PATCH} \
32"
33PATCHES_URI_append_libc-musl = "\
34 file://musl-0001-hotspot-stop-using-obsolete-isnanf.patch \
35 file://musl-0002-jdk-give-a-much-bigger-buffer-to-getmntent_r.patch \
36 file://musl-0003-jdk-fix-libjvm-load-on-musl-set-LD_LIBRARY_PATH.patch \
37 file://musl-0004-jdk-remove-sysctl.h-include-musl-build-fix.patch \
38 file://musl-0005-hotspot-disable-agent-build.patch \
39 file://musl-0006-hotspot-os_linux-remove-glibc-dependencies.patch \
40 file://musl-0007-hotspot-os_linux_x86-remove-glibc-dependencies-fpu_c.patch \
41 file://musl-0008-jdk-musl-build-fix-use-SIGRTMAX-rather-than-__SIGRTM.patch \
42 file://musl-0009-jdk-musl-has-gethostby_r.patch \
43"
44PATCHES_URI_append_libc-musl_aarch64 = " file://hotspot-remaining-musl-fixes-aarch64.patch"
45
46# Name of the directory containing the compiled output
47BUILD_DIR = "openjdk.build"
48BUILD_DIR_ECJ = "openjdk.build-ecj"
49
50# Force arm mode for now
51ARM_INSTRUCTION_SET_armv4t = "ARM"
52
53# readdir_r was deprecated in glibc-2.24. Ignore the error for now
54# NOTE: When updating the recipe, please check if this is still needed
55CFLAGS_append = " -Wno-error=deprecated-declarations"
56
57# Enable zero mode for arm based builds, as normal hotspot fails to build
58PACKAGECONFIG_append_arm = " zero"
59
60OPENJDK_ARCH_PORT = "jdk8u"
61OPENJDK_ARCH_PORT_aarch64 = "aarch64-port"
62OPENJDK_HG_U = "jdk8u"
63OPENJDK_HG_URL = "http://hg.openjdk.java.net/${OPENJDK_ARCH_PORT}/${OPENJDK_HG_U}"
64
65OPENJDK_FILE = "${OPENJDK_CHANGESET}.tar.bz2"
66OPENJDK_URI = "${OPENJDK_HG_URL}/archive/${OPENJDK_FILE};name=openjdk"
67
68HOTSPOT_FILE = "${HOTSPOT_CHANGESET}.tar.bz2"
69HOTSPOT_URI = "${OPENJDK_HG_URL}/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
70
71CORBA_FILE = "${CORBA_CHANGESET}.tar.bz2"
72CORBA_URI = "${OPENJDK_HG_URL}/corba/archive/${CORBA_FILE};name=corba;unpack=false"
73
74JAXP_FILE = "${JAXP_CHANGESET}.tar.bz2"
75JAXP_URI = "${OPENJDK_HG_URL}/jaxp/archive/${JAXP_FILE};name=jaxp;unpack=false"
76
77JAXWS_FILE = "${JAXWS_CHANGESET}.tar.bz2"
78JAXWS_URI = "${OPENJDK_HG_URL}/jaxws/archive/${JAXWS_FILE};name=jaxws;unpack=false"
79
80JDK_FILE = "${JDK_CHANGESET}.tar.bz2"
81JDK_URI = "${OPENJDK_HG_URL}/jdk/archive/${JDK_FILE};name=jdk;unpack=false"
82
83LANGTOOLS_FILE = "${LANGTOOLS_CHANGESET}.tar.bz2"
84LANGTOOLS_URI = "${OPENJDK_HG_URL}/langtools/archive/${LANGTOOLS_FILE};name=langtools;unpack=false"
85
86NASHORN_FILE = "${NASHORN_CHANGESET}.tar.bz2"
87NASHORN_URI = "${OPENJDK_HG_URL}/nashorn/archive/${NASHORN_FILE};name=nashorn;unpack=false"
diff --git a/recipes-core/openjdk/openjdk-8_162b12.bb b/recipes-core/openjdk/openjdk-8_16xbyy.bb
index 11208a1..dd0ed1d 100644
--- a/recipes-core/openjdk/openjdk-8_162b12.bb
+++ b/recipes-core/openjdk/openjdk-8_16xbyy.bb
@@ -1,3 +1,6 @@
1PV = "162b12"
2PV_aarch64 = "161b15"
3
1require openjdk-8-release-${PV}.inc 4require openjdk-8-release-${PV}.inc
2require openjdk-8-cross.inc 5require openjdk-8-cross.inc
3 6
diff --git a/recipes-core/openjdk/openjre-8_162b12.bb b/recipes-core/openjdk/openjre-8_16xbyy.bb
index 263091d..e6454ea 100644
--- a/recipes-core/openjdk/openjre-8_162b12.bb
+++ b/recipes-core/openjdk/openjre-8_16xbyy.bb
@@ -1,3 +1,6 @@
1PV = "162b12"
2PV_aarch64 = "161b15"
3
1require openjdk-8-release-${PV}.inc 4require openjdk-8-release-${PV}.inc
2require openjdk-8-cross.inc 5require openjdk-8-cross.inc
3 6
diff --git a/recipes-core/openjdk/patches-openjdk-8/hotspot-remaining-musl-fixes-aarch64.patch b/recipes-core/openjdk/patches-openjdk-8/hotspot-remaining-musl-fixes-aarch64.patch
new file mode 100644
index 0000000..436f012
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/hotspot-remaining-musl-fixes-aarch64.patch
@@ -0,0 +1,35 @@
1From 8e8e79c136fe56db119fd9a76fb881e96727c840 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
3Date: Tue, 27 Feb 2018 15:33:17 +0000
4Subject: [PATCH] hotspot: remaining musl fixes (aarch64)
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9* fpu_control.h doesn't exist in musl
10| hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp:78:11: fatal error: fpu_control.h: No such file or directory
11| # include <fpu_control.h>
12| ^~~~~~~~~~~~~~~
13
14Upstream-Status: Inappropriate [OE specific]
15Signed-off-by: André Draszik <andre.draszik@jci.com>
16---
17 hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp b/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
21index 8b985693..23f196cd 100644
22--- a/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
23+++ b/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
24@@ -75,7 +75,7 @@
25 # include <pwd.h>
26 # include <poll.h>
27 # include <ucontext.h>
28-# include <fpu_control.h>
29+# include <linux/types.h> /* provides __u64 */
30
31 #ifdef BUILTIN_SIM
32 #define REG_SP REG_RSP
33--
342.16.1
35