On Fri, 28 Apr 2023 18:14:48 GMT, Erik Joelsson <er...@openjdk.org> wrote:

> 
> If I understand the make file changes proposed here, it runs the native 
> linker to create "javastatic" with the launcher, libjvm and other JNI libs 
> linked into one executable, this is generated and copied into the run-time 
> image created by jlink.

For the testing/demo purpose (on static linking part) with this PR, the 
makefile changes in the PR only run the native linker step to perform static 
linking. The 'javastatic' is simply copied into the (regular) jlink'ed JDK 
image 'bin/' directory.  In our experiments/prototyping work, the 'javastatic' 
launcher binary is used along with the other artifacts from the regular JDK 
image (e.g. lib/modules)  for basic sanitary testing (running some of the jtreg 
tier 1 tests). The 'javastatic' is not used for creating the hermetic Java 
image. The post process building the hermetic image takes the .a files, 
lib/modules and other resources files as input.

>  I think this will need discussion as its more like an overlay. I think it is 
> useful to have the build create the .a files as that's the first step towards 
> putting them into packaged modules for producing static images.

Agreed. 

Based the initial feedback from you and other reviewers in the thread, I'll 
repurpose this PR for handling the .a part only. I'll split the 'javastatic' 
static linking part into a separate branch for needed discussions (including 
the potential JEP part). That branch can be on the sideline and it can be to 
verify/test the other static linking related changes.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13709#issuecomment-1528259605

Reply via email to