> 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 25 commits: - Merge branch 'master' into static-jdk-image - Remove LDFLAGS_STATIC_JDK - Rename EXCLUDE_FROM_STATIC_LIBS to ONLY_EXPORTED, $(MODULE)_JDK_LIBS to $(MODULE)_INCLUDED_LIBS and module-libs.txt to module-included-libs.txt - Find LIBZIP_OBJS automatically - Find LIBJAVA_JPEG_OBJS automatically - Just exclude the a11y libraries from static builds - Copy debuginfo - Restore SetExecname in java_md.c - Fix incremental builds - Merge branch 'master' into static-jdk-image - ... and 15 more: https://git.openjdk.org/jdk/compare/c329f97f...8b1217a8 ------------- Changes: https://git.openjdk.org/jdk/pull/20837/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20837&range=20 Stats: 497 lines in 27 files changed: 399 ins; 23 del; 75 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