|
| 1 | +"Zero is a port of OpenJDK that uses no assembler and therefore can |
| 2 | +trivially be built on any system." |
| 3 | + |
| 4 | +https://openjdk.java.net/projects/zero/ |
| 5 | + |
| 6 | +The idea here is to potentially have an illumos port of zero. It's not |
| 7 | +so interesting on x86, for which we have a proper port anyway, but if |
| 8 | +we can get zero to work on x86 then it should be possible to get it to |
| 9 | +work on sparc too. |
| 10 | + |
| 11 | +It still needs the basic solaris patchset. It's designed more to support |
| 12 | +new hardware architectures (hence the zero assembler) than as a way to |
| 13 | +do an OS port. |
| 14 | + |
| 15 | +There are 2 patches: |
| 16 | + |
| 17 | +illumos-zero-1.patch |
| 18 | +Fixes src/hotspot/cpu/zero/stubGenerator_zero.cpp |
| 19 | + |
| 20 | +illumos-zero-2.patch |
| 21 | +Adds the src/hotspot/os_cpu/solaris_zero directory and contents |
| 22 | + |
| 23 | +These are current and tested for jdk 20+15. They don't provide a |
| 24 | +proper zero port, as they still have x86 assembler that needs to be |
| 25 | +removed. But this provides a starting point. |
| 26 | + |
| 27 | +The two patches above are now applied by default, so we at least catch |
| 28 | +any incompatibilities early. |
| 29 | + |
| 30 | +Configure: |
| 31 | + |
| 32 | +env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \ |
| 33 | +--enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk18 \ |
| 34 | +--with-native-debug-symbols=none \ |
| 35 | +--with-toolchain-type=gcc \ |
| 36 | +--disable-dtrace \ |
| 37 | +--disable-warnings-as-errors \ |
| 38 | +--enable-deprecated-ports=yes \ |
| 39 | +--enable-jvm-feature-zero --with-jvm-variants=zero \ |
| 40 | +--with-source-date=current \ |
| 41 | +--with-jobs=3 \ |
| 42 | +DATE=/usr/gnu/bin/date |
| 43 | + |
| 44 | + |
| 45 | +build: |
| 46 | + |
| 47 | +env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all CONF=solaris-x86_64-zero-release |
0 commit comments