> 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 with a new target base due to a merge or a rebase. The pull request now contains 16 commits: - Merge branch 'master' into static-jdk-image - Also include information about where generated data is consumed. - Document how and why we keep track of native libraries per module - Remove unnecessary change for macOS in java_md.c - Merge branch 'master' into static-jdk-image - Merge branch 'master' into static-jdk-image - Merge branch 'master' into static-jdk-image - Fix bug in filtering out -Wl,--exclude-libs,ALL - Don't hardcode server variant - Setup LDFLAGS_STATIC_JDK - ... and 6 more: https://git.openjdk.org/jdk/compare/b8b70c8b...783f34d3 ------------- Changes: https://git.openjdk.org/jdk/pull/20837/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20837&range=13 Stats: 453 lines in 26 files changed: 374 ins; 5 del; 74 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