Hello Andy,

Sorry for the late reply, but a lot of us have been on holiday.

I recommend starting with the main documentation in the source tree at doc/building.md. I have no personal experience using Clang for cross compilation, but I would imagine it would function similar enough to GCC. To instruct configure to look for Clang instead of GCC, use --with-toolchain-type=clang (also documented in said file). You will also need to use the --with-sysroot option to point to your target sysroot.

By default when cross compiling, a "build" jdk will also be built. This is a partial JDK native to the build system, which is used during the build. In many cases it makes more sense to explicitly build this once before trying to cross compile instead of having it weaved into your cross compile build. You can do that by simply building normally for your build platform first, and then point configure for your cross compile configuration to your newly produced native JDK using --with-build-jdk.

If you run into specific issues, you can followup with questions here.

/Erik

On 2020-12-17 08:13, Andy Nisbet wrote:
Hi,
I am in the process of porting OpenJDK to a new architecture, at the
current moment in time we only have clang/LLVM cross compilation tools, and
GCC/binutils is still a year or so away. Could anyone offer any pointers to
documentation/hints, and/or outline what is necessary to get cross
compilation with clang working?  I have a sysroot and a bootable diskimage
for the virtual emulated platform.

Thanks,
Andy

Reply via email to