[aarch64-port-dev ] crosscompiling openjdk-7 zero port to Aarch64 using OpenEmbedded

Riku Voipio riku.voipio at linaro.org
Thu May 16 01:56:20 PDT 2013


Hi,

Currently the only way to use Aarch64 is with the rather slow
Foundation model simulator from ARM. Thus being able to cross-compile
OpenJDK greatly saves time for development, at least until hardware is
available. Henning has created a meta-java[1] layer to OpenEmbedded.
that allows crossbuilding OpenJDK. With some changes, it was possible
to cross-build OpenJDK to Aarch64 as well, and this code is now
included in meta-linaro[2] layer. If Henning is ok with the patches, I
can also submit them for pulling into meta-java as well. The easiest
way to try building is using Marcins setup scripts:

git clone git://git.linaro.org/openembedded/jenkins-setup.git
bash init-and-build.sh # clone all necessary repos and setup oe config

cd openembedded-core
source oe-init-build-env ../build
bitbake openjdk-7-jre

enjoy!

The included upstream changes:

- define aarch64 in icedtea's acinclude:

https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/aarch64-configure.patch

- Aarch64 zero port definition and replacing fork syscall with
equivalent clone call (already submitted to this list)

https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/icedtea-openjdk-aarch64.patch

- define aarch64 in fdlibm (used by classpath):

https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/classpath/files/ieeefp-aarch64.patch

Included meta-java changes:

- Disable jamvm, cacao and shark builds by setting:

WITH_ADDITIONAL_VMS_aarch64 = ""

- Do not generate files by running target binaries with Qemu (which
does not exist on Aarch64), but include them as pregenerated files:

https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/icedtea-prebuilt-files.patch

[1] https://github.com/woglinde/meta-java
[2] https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=summary



More information about the aarch64-port-dev mailing list