RFR: 8339480: Build static-jdk image with a statically linked launcher [v13]
Magnus Ihse Bursie
ihse at openjdk.org
Mon Nov 18 11:10:08 UTC 2024
> As a prerequisite for Hermetic Java, we need a statically linked `java` launcher. It should behave like the normal, dynamically linked `java` launcher, except that all JDK native libraries should be statically, not dynamically, linked.
>
> This patch is the first step towards this goal. It will generate a `static-jdk` image with a statically linked launcher. This launcher is missing several native libs, however, and does therefore not behave like a proper dynamic java. One of the reasons for this is that local symbol hiding in static libraries are not implemented yet, which causes symbol clashes when linking all static libraries together. This will be addressed in an upcoming patch.
>
> All changes in the `src` directory are copied from, or inspired by, changes made in [the hermetic-java-runtime branch in Project Leyden](https://github.com/openjdk/leyden/tree/hermetic-java-runtime).
Magnus Ihse Bursie has updated the pull request incrementally with two additional commits since the last revision:
- Also include information about where generated data is consumed.
- Document how and why we keep track of native libraries per module
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/20837/files
- new: https://git.openjdk.org/jdk/pull/20837/files/922d7e76..d491b481
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=20837&range=12
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=20837&range=11-12
Stats: 10 lines in 2 files changed: 10 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/20837.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20837/head:pull/20837
PR: https://git.openjdk.org/jdk/pull/20837
More information about the core-libs-dev
mailing list