From 71bd6381d06e37550e01b1877fbfd5c800e5d4fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 18:42:21 +0200 Subject: [PATCH 1/8] [system] Upgrade to Stretch --- README.md | 6 +++--- build/Dockerfile.scripts | 2 +- build/Dockerfile.system | 9 ++++----- build/apt.sources.list.debian | 7 +++---- build/ev3dev-archive-keyring.gpg | Bin 0 -> 2477 bytes 5 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 build/ev3dev-archive-keyring.gpg diff --git a/README.md b/README.md index bc378b8..c3cb1e8 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,13 @@ JShell JDI agent on the remote side, which is handled by SSH as well. 2. Adjust the JAVA_VERSION variable in `build/config.sh` to match the current OpenJDK tip: [OpenJDK 9 updates](http://hg.openjdk.java.net/jdk-updates/jdk9u/) 3. Build the jdk9 cross-compilation environment: ```sh -sudo docker build -t ev3dev-lang-java:jdk9-system -f build/Dockerfile.system build -sudo docker build -t ev3dev-lang-java:jdk9-build -f build/Dockerfile.scripts build +sudo docker build -t ev3dev-lang-java:jdk-stretch -f build/Dockerfile.system build +sudo docker build -t ev3dev-lang-java:jdk-build -f build/Dockerfile.scripts build ``` 4. Run the newly prepared container. You have to mount a host directory to the the `/build` directory in the container, otherwise the build would get discarded. The final build needs at least 6.5 GB of free space (in the build directory). ``` -sudo docker run --rm -it -v :/build ev3dev-lang-java:jdk9-build +sudo docker run --rm -it -v :/build ev3dev-lang-java:jdk-build ``` 5. Let's fetch the OpenJDK sources: ``` diff --git a/build/Dockerfile.scripts b/build/Dockerfile.scripts index b5fcb3e..c663ddc 100644 --- a/build/Dockerfile.scripts +++ b/build/Dockerfile.scripts @@ -1,4 +1,4 @@ -FROM ev3dev-lang-java:jdk9-system +FROM ev3dev-lang-java:jdk-stretch # copy build patches & scripts COPY *.patch *.sh /opt/jdkcross/ diff --git a/build/Dockerfile.system b/build/Dockerfile.system index 751464c..d52a2b7 100644 --- a/build/Dockerfile.system +++ b/build/Dockerfile.system @@ -1,12 +1,11 @@ -FROM debian:jessie +FROM debian:stretch -# this is a customized version of ev3dev-jessie-cross image +# this is a customized version of ev3dev-stretch-cross image # setup repositories and install required packages COPY apt.sources.list.debian /etc/apt/sources.list +COPY ev3dev-archive-keyring.gpg /etc/apt/trusted.gpg.d/ RUN dpkg --add-architecture armel && \ - apt-key adv --keyserver pgp.mit.edu --recv-keys D57D95AF93178A7C && \ - apt-key adv --keyserver pgp.mit.edu --recv-keys 7DE089671804772E && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \ bash-completion \ @@ -14,7 +13,7 @@ RUN dpkg --add-architecture armel && \ cmake \ build-essential \ crossbuild-essential-armel \ - gdb \ + gdb-multiarch \ less \ man-db \ nano \ diff --git a/build/apt.sources.list.debian b/build/apt.sources.list.debian index 86ede93..a9b855c 100644 --- a/build/apt.sources.list.debian +++ b/build/apt.sources.list.debian @@ -1,4 +1,3 @@ -deb http://ftp.debian.org/debian jessie main contrib non-free -deb http://security.debian.org/ jessie/updates main contrib non-free -deb http://archive.ev3dev.org/debian jessie main -deb http://emdebian.org/tools/debian/ jessie main +deb http://deb.debian.org/debian stretch main contrib non-free +deb http://deb.debian.org/debian-security stretch/updates main contrib non-free +deb http://archive.ev3dev.org/debian stretch main diff --git a/build/ev3dev-archive-keyring.gpg b/build/ev3dev-archive-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..b095dfbbac16cf5203a36c196971e9edac89292e GIT binary patch literal 2477 zcma*oc{~#i9|!Pl#zurO{G3Axu_R|IM~<9fs2oKzvl!Y&?ptflu_RiEgpe?jBXX8w z+|}&zn@GX4;Ur#;|&lB_`uB3ktutR+)bMp zyAi7zbLr^BW1h@%Dw0B&4WvdGkdWLUuCZG^9OrS_)>1AJp_ai8F8t@+TgnD?F7xOo z{!#|bEd(<5hpgLm4H+WJdwq}bQ)zp0#Q_f)2@IKAaC@$F3*I$N=PUe6Dg-w*qqz+v zNM-=p6s&<_mgcB}*QG7R?UjB$p@t+|hWc9saQlBV{}Cma$X+fxP~poUsg+ORuzZUo zZ<@^q3WVpmEME`Wfj2lXU0p_chA*T{0qfe|)0?FT$(vU*)J;qMNV zKDAiD(;u0CTT{|UeVH%5wuYM83{}L!a`2vh3wRRT4r`_BAXV#^tt0xoe?Y_Ix;x!|_>;Y>LuSwIw4rSo1m2kM((}C$KcmmkifoS)it-fS zW*+k7)2Il)6AID*Q z(O!oUNyTp`MsJ0(?M?A+S#BHBS5|*nrQDKJPpIq~5N9;j~h@yWU*D+X%DAY+q z7OfWL)!wy>X-+oDBCN%BF>#js zRvm;%%F=J!>}nbnBr9FY&=etek5QfQp(CpD99^l)BKEx+!eEPYoRUy7a|z~ATfvZq ze15sc;>vIal?&C{?ulNkZec<#OkY1!RrZFha*H}o<3}UwW3`nx*2NM zFu4jflB8?Gw|jgSE%Zv&?zbR1!)z>3o8y^KC-tT-Gdy7;FC=NFB{L_H9QHAL(-hX? z(<$~$^ds?enFBg6DE?uGZuF^5YZhUGr=$9ne2>>=msL}vU$EhB1g>LbJ!anG?w$pA z)>RBKwZCV26Wm#J9D(I;FOj9})LVDBn|6SXeV%AVYIW6i>P+_Vs}7BS=1#+i^c9L~ ziSHg&PvN*HoCp8pA}S=Z2pXgi;LaT*+SYJ{%?lvkw8PShIAXDVKp2ug+i-qDn8ihz zAM!^0ZU}&(ZFuMoVR2{_LqN#?H&})LY10s_^1EEf!*a!8PDmi^iHDlq5O`k#2H}n& zq6s)Z(jjyoH#`P`^C6NjZtnkdx_1HcOWS2)A+BlbWXS!jTLYb@7c$~;+33D@F%?Hd z$jhacHfJF2F5Rm>?TWyRQN?zge(KJLc%tgg*>T9t-t-!eSZLDs58K}h`{ssauZ7eY zKYKI%R}ew5AAM0`Yd25wpi?Z|uQSx@$f5z{iA^N!oehiO+w1I8dRqV5YE4C{lT5YaO4QO z{p$C#!9^TtZwO`|t{ptaVT=lDT-Yn$hbEjIc7e3g0oixQJjRX|RXvE+F>R!qaES`! zBRJGWF1P`A+D@LcB4r~VvTIE?T0zh}2a>}|$NP$9pghr`#( z0{96*DVV9YG07yN5Y(FVi2f+sc!@5AbtlQ|9yO;+gf~Ao$hb+vGv`mh1db}OleB-N zcRn)7g5U(IMqJyelS{f+hm~QjXIRHZ{SABfp)_Tw_#>P6@fQC{p{LLXu0x~W=&wH( zOE;M0Tb8(17p^|M%zWXKft_8?X16PKNdKu-22~0}&vI66oYy=yy~sk;Qj>8N!NCuN zOwmqD4Q}li+b{Pu+957y3Ot&o8+x(wWtKM*91^kxB@-M?qT&$`Cw|V&dpA-)>B-Lu zO-WQvF^~6eL)sPu=$5To#df~#sXFN9z*Dt*sVa`Svk8CCE(ItB7Wplc^S8{u>%{#} zbgCzyfP8ey&SsKIQ;f%C-CXID6IyS>Bt5G(&EK8%h*n<~Fj!t*$2OCokJe@p@)-CW zPTOV1e(9U8S=MD*(!`TqhgWgo)SP~6Z(dn)N5@F>W`*Jp>lt>diC%R|T;;xki=cFy zjcKIKi;5?Va@zBiH|09~qibO-ae4576CJn@zY~@1LzrwvX>d IWgfQXUyZPBIsgCw literal 0 HcmV?d00001 From 760a41fc4b4959c80c68f37a2207480400e2aa57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 19:53:53 +0200 Subject: [PATCH 2/8] [scripts] upgrade to JDK 10 repo & runtime --- README.md | 12 ++++++------ build/Dockerfile.system | 4 ++-- build/build.sh | 2 +- build/config.sh | 4 ++-- build/zip.sh | 10 +++++----- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c3cb1e8..64c50ff 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# openjdk-9-ev3 -A custom build of OpenJDK 9 for EV3, a Lego Mindstorms programmable brick featuring a ARM926EJ-S CPU. +# OpenJDK 10 for EV3 +A custom build of OpenJDK 10 for EV3, a Lego Mindstorms programmable brick featuring a ARM926EJ-S CPU. ## Components The output consists of these parts: @@ -7,7 +7,7 @@ The output consists of these parts: * Stripped down version -- a runtime image * JDK built for the EV3 - `jdk-ev3.zip` * Basically the full build -* [Official OpenJDK linux-amd64](http://jdk.java.net/9/) with EV3 jmods +* [Official OpenJDK linux-amd64](http://jdk.java.net/10/) with EV3 jmods * Only a stripped down version -- also a runtime image * It can be used for creating custom JRE images. For this, jlink and the ev3 jmods are included. * It has `javac` (jdk.compiler module). @@ -42,8 +42,8 @@ JShell JDI agent on the remote side, which is handled by SSH as well. 0. Clone/download this repo to your computer. 1. Install [Docker](https://docs.docker.com/engine/installation/) for your operating system. -2. Adjust the JAVA_VERSION variable in `build/config.sh` to match the current OpenJDK tip: [OpenJDK 9 updates](http://hg.openjdk.java.net/jdk-updates/jdk9u/) -3. Build the jdk9 cross-compilation environment: +2. Adjust the JAVA_VERSION variable in `build/config.sh` to match the current OpenJDK tip: [OpenJDK 10 updates](http://hg.openjdk.java.net/jdk-updates/jdk10u/) +3. Build the jdk cross-compilation environment: ```sh sudo docker build -t ev3dev-lang-java:jdk-stretch -f build/Dockerfile.system build sudo docker build -t ev3dev-lang-java:jdk-build -f build/Dockerfile.scripts build @@ -65,5 +65,5 @@ sudo docker run --rm -it -v :/ ``` ./zip.sh ``` -8. If the build was successful, JDK9 packages were created in `/build/jre-ev3.zip`, `/build/jdk-ev3.zip` and `/build/jdk-pc.zip`. +8. If the build was successful, JDK packages were created in `/build/jre-ev3.zip`, `/build/jdk-ev3.zip` and `/build/jdk-pc.zip`. If you have mounted `/build`, you can access the files from the host. diff --git a/build/Dockerfile.system b/build/Dockerfile.system index d52a2b7..7d7d455 100644 --- a/build/Dockerfile.system +++ b/build/Dockerfile.system @@ -48,9 +48,9 @@ RUN dpkg --add-architecture armel && \ mercurial \ zlib1g-dev -# download JDK 9 +# download JDK 10 RUN mkdir /opt/jdkcross -RUN curl -SL http://download.java.net/java/GA/jdk9/9.0.1/binaries/openjdk-9.0.1_linux-x64_bin.tar.gz | tar -xzC /opt/jdkcross +RUN curl -SL https://download.java.net/java/GA/jdk10/10/binaries/openjdk-10_linux-x64_bin.tar.gz | tar -xzC /opt/jdkcross # prepare a nonroot user COPY compiler.sudoers /etc/sudoers.d/compiler diff --git a/build/build.sh b/build/build.sh index 63dcc8b..80f6731 100644 --- a/build/build.sh +++ b/build/build.sh @@ -27,7 +27,7 @@ bash ./common/autoconf/autogen.sh # BUILD_NM="gcc-nm" # configure the build -bash ./configure --with-boot-jdk="$SCRIPTDIR/jdk-9.0.1" \ +bash ./configure --with-boot-jdk="$SCRIPTDIR/jdk-10" \ --openjdk-target=arm-linux-gnueabi \ --with-abi-profile=arm-ev3 \ --enable-headless-only \ diff --git a/build/config.sh b/build/config.sh index 6890053..2bc6930 100644 --- a/build/config.sh +++ b/build/config.sh @@ -1,7 +1,7 @@ #!/bin/bash -JAVA_VERSION="10+23" -JAVA_REPO="http://hg.openjdk.java.net/jdk10/jdk10/" +JAVA_VERSION="10+46" +JAVA_REPO="http://hg.openjdk.java.net/jdk-updates/jdk10u/" SCRIPTDIR="/opt/jdkcross" BUILDDIR="/build" diff --git a/build/zip.sh b/build/zip.sh index 282ce0a..ab250fd 100644 --- a/build/zip.sh +++ b/build/zip.sh @@ -14,7 +14,7 @@ rm -rf ./jshell-support rm -f ./jdk-ev3 # build ev3 runtime image -"$SCRIPTDIR/jdk-9.0.1/bin/jlink" \ +"$SCRIPTDIR/jdk-10/bin/jlink" \ --module-path ./jmods/ \ --endian little \ --compress 0 \ @@ -25,8 +25,8 @@ rm -f ./jdk-ev3 --output ./jre-ev3 # build microjdk -"$SCRIPTDIR/jdk-9.0.1/bin/jlink" \ - --module-path "$SCRIPTDIR/jdk-9.0.1/jmods" \ +"$SCRIPTDIR/jdk-10/bin/jlink" \ + --module-path "$SCRIPTDIR/jdk-10/jmods" \ --compress 2 \ --strip-debug \ --no-header-files \ @@ -41,8 +41,8 @@ ln -s ./jdk ./jdk-ev3 # JShell hack mkdir jshell-support -"$SCRIPTDIR/jdk-9.0.1/bin/javac" -d ./jshell-support "$SCRIPTDIR/jshellhack/DumpPort.java" -"$SCRIPTDIR/jdk-9.0.1/bin/jar" cf ./jshellhack.jar -C ./jshell-support jshellhack/DumpPort.class +"$SCRIPTDIR/jdk-10/bin/javac" -d ./jshell-support "$SCRIPTDIR/jshellhack/DumpPort.java" +"$SCRIPTDIR/jdk-10/bin/jar" cf ./jshellhack.jar -C ./jshell-support jshellhack/DumpPort.class cp ./jshellhack.jar ./jdk-pc/bin cp "$SCRIPTDIR/jshell-launch.sh" ./jdk-pc/bin From a2cdfa4336b9da8ca1ce4721bca162f17a1cca6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 19:54:59 +0200 Subject: [PATCH 3/8] [scripts] Disable JDK warnings-as-errors --- build/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/build.sh b/build/build.sh index 80f6731..cff3bd8 100644 --- a/build/build.sh +++ b/build/build.sh @@ -34,7 +34,7 @@ bash ./configure --with-boot-jdk="$SCRIPTDIR/jdk-10" \ --with-freetype-lib=/usr/lib/arm-linux-gnueabi \ --with-freetype-include=/usr/include \ --with-jvm-variants=client \ - --with-extra-cflags="-Wno-maybe-uninitialized -D__SOFTFP__" \ + --with-extra-cflags="-Wno-error -D__SOFTFP__" \ --with-version-string="$JAVA_VERSION" \ AR="arm-linux-gnueabi-gcc-ar" \ NM="arm-linux-gnueabi-gcc-nm" \ From c70a30ad5218fac81d40c586ed510c6c29ada720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 20:03:03 +0200 Subject: [PATCH 4/8] [docker] Prevent JDK9/JDK10 collision --- README.md | 6 +++--- build/Dockerfile.scripts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 64c50ff..911f345 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,13 @@ JShell JDI agent on the remote side, which is handled by SSH as well. 2. Adjust the JAVA_VERSION variable in `build/config.sh` to match the current OpenJDK tip: [OpenJDK 10 updates](http://hg.openjdk.java.net/jdk-updates/jdk10u/) 3. Build the jdk cross-compilation environment: ```sh -sudo docker build -t ev3dev-lang-java:jdk-stretch -f build/Dockerfile.system build -sudo docker build -t ev3dev-lang-java:jdk-build -f build/Dockerfile.scripts build +sudo docker build -t ev3dev-lang-java:jdk10-stretch -f build/Dockerfile.system build +sudo docker build -t ev3dev-lang-java:jdk10-build -f build/Dockerfile.scripts build ``` 4. Run the newly prepared container. You have to mount a host directory to the the `/build` directory in the container, otherwise the build would get discarded. The final build needs at least 6.5 GB of free space (in the build directory). ``` -sudo docker run --rm -it -v :/build ev3dev-lang-java:jdk-build +sudo docker run --rm -it -v :/build ev3dev-lang-java:jdk10-build ``` 5. Let's fetch the OpenJDK sources: ``` diff --git a/build/Dockerfile.scripts b/build/Dockerfile.scripts index c663ddc..8f15d8a 100644 --- a/build/Dockerfile.scripts +++ b/build/Dockerfile.scripts @@ -1,4 +1,4 @@ -FROM ev3dev-lang-java:jdk-stretch +FROM ev3dev-lang-java:jdk10-stretch # copy build patches & scripts COPY *.patch *.sh /opt/jdkcross/ From a6f5ec0bd0b264c13cb5a17022eff46724992e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 20:48:48 +0200 Subject: [PATCH 5/8] [scripts] Disable build warnings --- build/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/build.sh b/build/build.sh index cff3bd8..881afd0 100644 --- a/build/build.sh +++ b/build/build.sh @@ -34,7 +34,7 @@ bash ./configure --with-boot-jdk="$SCRIPTDIR/jdk-10" \ --with-freetype-lib=/usr/lib/arm-linux-gnueabi \ --with-freetype-include=/usr/include \ --with-jvm-variants=client \ - --with-extra-cflags="-Wno-error -D__SOFTFP__" \ + --with-extra-cflags="-w -Wno-error -D__SOFTFP__" \ --with-version-string="$JAVA_VERSION" \ AR="arm-linux-gnueabi-gcc-ar" \ NM="arm-linux-gnueabi-gcc-nm" \ From 25b44e7d768d62b8d05f20446f4fdd0ee4867e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Sun, 25 Mar 2018 22:15:26 +0200 Subject: [PATCH 6/8] Update patches, packages & paths for JDK10 --- build/Dockerfile.system | 1 + build/build.sh | 3 ++- build/ev3.patch | 6 +++--- build/fetch.sh | 5 ++--- build/float.patch | 6 +++--- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build/Dockerfile.system b/build/Dockerfile.system index 7d7d455..f2f73bd 100644 --- a/build/Dockerfile.system +++ b/build/Dockerfile.system @@ -26,6 +26,7 @@ RUN dpkg --add-architecture armel && \ xz-utils \ libcups2-dev:armel \ libfreetype6-dev:armel \ + libfontconfig1-dev:armel \ libasound2-dev:armel \ libx11-dev:armel \ libxext-dev:armel \ diff --git a/build/build.sh b/build/build.sh index 881afd0..e040717 100644 --- a/build/build.sh +++ b/build/build.sh @@ -7,7 +7,7 @@ source config.sh cd "$JDKDIR" # refresh patched build system -bash ./common/autoconf/autogen.sh +bash ./make/autoconf/autogen.sh ## Description ## # Use the downloaded JDK: --with-boot-jdk=/opt/jdkcross/jdk-9.0.1 @@ -35,6 +35,7 @@ bash ./configure --with-boot-jdk="$SCRIPTDIR/jdk-10" \ --with-freetype-include=/usr/include \ --with-jvm-variants=client \ --with-extra-cflags="-w -Wno-error -D__SOFTFP__" \ + --with-extra-cxxflags="-w -Wno-error -D__SOFTFP__" \ --with-version-string="$JAVA_VERSION" \ AR="arm-linux-gnueabi-gcc-ar" \ NM="arm-linux-gnueabi-gcc-nm" \ diff --git a/build/ev3.patch b/build/ev3.patch index 22117d2..1e18edf 100644 --- a/build/ev3.patch +++ b/build/ev3.patch @@ -1,6 +1,6 @@ -diff -r a08cbfc0e4ec common/autoconf/flags.m4 ---- a/common/autoconf/flags.m4 Thu Aug 03 18:56:56 2017 +0000 -+++ b/common/autoconf/flags.m4 Wed Dec 27 00:52:44 2017 +0100 +diff -r a08cbfc0e4ec make/autoconf/flags.m4 +--- a/make/autoconf/flags.m4 Thu Aug 03 18:56:56 2017 +0000 ++++ b/make/autoconf/flags.m4 Wed Dec 27 00:52:44 2017 +0100 @@ -30,7 +30,7 @@ AC_DEFUN([FLAGS_SETUP_ABI_PROFILE], [ diff --git a/build/fetch.sh b/build/fetch.sh index b652fac..8fe1fc6 100644 --- a/build/fetch.sh +++ b/build/fetch.sh @@ -9,11 +9,10 @@ hg clone "$JAVA_REPO" "$JDKDIR" # clone the rest of the tree cd "$JDKDIR" -bash ./get_source.sh # apply the EV3-specific patches # - build flags for arm926ej-s -patch -p1 < "$SCRIPTDIR/ev3.patch" +patch -p1 < "$SCRIPTDIR/ev3.patch" # - use the system-provided floating point implementation -patch -p1 -d hotspot < "$SCRIPTDIR/float.patch" +patch -p1 < "$SCRIPTDIR/float.patch" diff --git a/build/float.patch b/build/float.patch index 6fc107f..fb0130b 100644 --- a/build/float.patch +++ b/build/float.patch @@ -1,6 +1,6 @@ -diff -r b756e7a2ec33 src/cpu/arm/vm/assembler_arm_32.hpp ---- a/src/cpu/arm/vm/assembler_arm_32.hpp Thu Aug 03 18:56:57 2017 +0000 -+++ b/src/cpu/arm/vm/assembler_arm_32.hpp Wed Dec 27 01:08:37 2017 +0100 +diff -r b756e7a2ec33 src/hotspot/cpu/arm/assembler_arm_32.hpp +--- a/src/hotspot/cpu/arm/assembler_arm_32.hpp Thu Aug 03 18:56:57 2017 +0000 ++++ b/src/hotspot/cpu/arm/assembler_arm_32.hpp Wed Dec 27 01:08:37 2017 +0100 @@ -1234,10 +1234,17 @@ // Imported code from glibc soft-fp bundle for From 5d06bd152ce38c068050af4d5348670fe9dcab1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Tue, 27 Mar 2018 22:42:37 +0200 Subject: [PATCH 7/8] Update JDK10 patches --- build/ev3.patch | 8 ++++---- build/float.patch | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/build/ev3.patch b/build/ev3.patch index 1e18edf..bc046e6 100644 --- a/build/ev3.patch +++ b/build/ev3.patch @@ -1,6 +1,6 @@ -diff -r a08cbfc0e4ec make/autoconf/flags.m4 ---- a/make/autoconf/flags.m4 Thu Aug 03 18:56:56 2017 +0000 -+++ b/make/autoconf/flags.m4 Wed Dec 27 00:52:44 2017 +0100 +diff -r b09e56145e11 make/autoconf/flags.m4 +--- a/make/autoconf/flags.m4 Thu Mar 08 04:23:31 2018 +0000 ++++ b/make/autoconf/flags.m4 Tue Mar 27 22:42:02 2018 +0200 @@ -30,7 +30,7 @@ AC_DEFUN([FLAGS_SETUP_ABI_PROFILE], [ @@ -20,7 +20,7 @@ diff -r a08cbfc0e4ec make/autoconf/flags.m4 elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv5-vfp-sflt; then ARM_FLOAT_TYPE=vfp-sflt ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm' -@@ -1305,6 +1308,8 @@ +@@ -1378,6 +1381,8 @@ if test "x$OPENJDK_$1_OS" = xlinux; then if test "x$OPENJDK_$1_CPU" = xx86; then $2JVM_ASFLAGS="[$]$2JVM_ASFLAGS -march=i586" diff --git a/build/float.patch b/build/float.patch index fb0130b..9dee69a 100644 --- a/build/float.patch +++ b/build/float.patch @@ -1,7 +1,7 @@ -diff -r b756e7a2ec33 src/hotspot/cpu/arm/assembler_arm_32.hpp ---- a/src/hotspot/cpu/arm/assembler_arm_32.hpp Thu Aug 03 18:56:57 2017 +0000 -+++ b/src/hotspot/cpu/arm/assembler_arm_32.hpp Wed Dec 27 01:08:37 2017 +0100 -@@ -1234,10 +1234,17 @@ +diff -r b09e56145e11 src/hotspot/cpu/arm/assembler_arm_32.hpp +--- a/src/hotspot/cpu/arm/assembler_arm_32.hpp Thu Mar 08 04:23:31 2018 +0000 ++++ b/src/hotspot/cpu/arm/assembler_arm_32.hpp Tue Mar 27 22:41:24 2018 +0200 +@@ -1239,10 +1239,17 @@ // Imported code from glibc soft-fp bundle for // calculation accuracy improvement. See CR 6757269. @@ -22,3 +22,4 @@ diff -r b756e7a2ec33 src/hotspot/cpu/arm/assembler_arm_32.hpp +#define __aeabi_dsub_glibc __aeabi_dsub }; #endif // __SOFTFP__ + From 2ed0334da39d09bd15d1d32a0a8cb1483d7f89b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Tue, 27 Mar 2018 22:43:05 +0200 Subject: [PATCH 8/8] Add memory barrier patch --- build/barrier.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 build/barrier.patch diff --git a/build/barrier.patch b/build/barrier.patch new file mode 100644 index 0000000..2cdd255 --- /dev/null +++ b/build/barrier.patch @@ -0,0 +1,21 @@ +diff -r b09e56145e11 src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp +--- a/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp Thu Mar 08 04:23:31 2018 +0000 ++++ b/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp Tue Mar 27 22:40:37 2018 +0200 +@@ -71,7 +71,7 @@ + __asm__ volatile ( + ".word 0xF57FF050 | 0xf" : : : "memory"); + #endif +- } else { ++ } else if (VM_Version::arm_arch() == 6) { + intptr_t zero = 0; + __asm__ volatile ( + "mcr p15, 0, %0, c7, c10, 5" +@@ -95,7 +95,7 @@ + __asm__ volatile ( + ".word 0xF57FF050 | 0xe" : : : "memory"); + #endif +- } else { ++ } else if (VM_Version::arm_arch() == 6) { + intptr_t zero = 0; + __asm__ volatile ( + "mcr p15, 0, %0, c7, c10, 5"