rust/cargo-c: update to 0.10.7+cargo-0.84.0
[oi-userland.git] / components / runtime / openjdk-23 / patches / README-zero.txt
blob533b46b63b21094017fa1e59621a381c1d3b4631
1 "Zero is a port of OpenJDK that uses no assembler and therefore can
2 trivially be built on any system."
4 https://openjdk.java.net/projects/zero/
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.
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.
15 There are 2 patches:
17 illumos-zero-1.patch
18 Fixes src/hotspot/cpu/zero/stubGenerator_zero.cpp
20 illumos-zero-2.patch
21 Adds the src/hotspot/os_cpu/solaris_zero directory and contents
23 These are current and tested for a successful build (not necessarily
24 fully working) as of jdk 23+29. They don't provide a proper zero port,
25 as they still have assembler that needs to be removed. But this
26 provides a starting point.
28 There's a warning:
30 OpenJDK 64-Bit Zero VM warning: Unsupported locking mode for this CPU.
32 which you can get around by passing -XX:LockingMode=0 or -XX:LockingMode=1
34 The two patches above are now applied by default, so we at least catch
35 any source incompatibilities early.
37 Configure:
39 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
40 --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk22 \
41 --with-native-debug-symbols=none \
42 --with-toolchain-type=gcc \
43 --disable-dtrace \
44 --disable-warnings-as-errors \
45 --enable-jvm-feature-zero --with-jvm-variants=zero \
46 --with-source-date=current \
47 --with-jobs=3 \
48 DATE=/usr/gnu/bin/date \
49 STRIP=/usr/gnu/bin/strip
51 build:
53 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all CONF=solaris-x86_64-zero-release