-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
In one specific scenario [1], the JDK/hotspot static libraries provided by a JDK binary can be used to create a fully statically linked binary image as a post process when building Java applications.
As part of the work, it's useful to be able to demonstrate and test the JDK static build support with a fully statically linked launcher executable (such as bin/javastatic), which is statically linked with the libjvm static library and a desired set of JDK static libraries. To achieve such a goal, some JDK/VM work would be involved in addition to the build changes, e.g.:
- Resolve symbol issues with a fully statically linked build
- Change assumptions with `dlopen` for libjvm
It's also beneficial to be able to build both .so and .a from the same set of .o files. That would involve some changes to handle the dynamic JDK and static JDK difference at runtime, instead of relying on the STATIC_BUILD macro.
Will create separate bugs/enhancements for the non-build changes.
[1] - https://mail.openjdk.org/pipermail/leyden-dev/2023-February/000107.html
- relates to
-
JDK-8308110 Resolve multiple definition of 'JNI_OnLoad_jsound' linking error
- Resolved
-
JDK-8308458 Windows build failure with disassembler.cpp(792): warning C4267: '=': conversion from 'size_t' to 'int'
- Resolved
-
JDK-8311606 Change read_icc_profile() to static function in java.desktop/share/native/libjavajpeg/imageioJPEG.c
- Resolved
-
JDK-8312626 Resolve multiple definition of 'start_timer' when statically linking JDK native libraries with user code
- Resolved
-
JDK-8313277 Resolve multiple definition of 'normalize' when statically linking JDK native libraries with user code
- Resolved
-
JDK-8316923 Add DEF_STATIC_JNI_OnLoad for librmi
- Resolved
-
JDK-8326433 Make file-local functions static in src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c
- Resolved
-
JDK-8326714 Make file-local functions static in src/java.base/unix/native/libjava/childproc.c
- Resolved
-
JDK-8310491 Resolve some startup failures with JDK static build support
- Closed
-
JDK-8311661 Resolve duplicate symbol of StringTable::StringTable with JDK static linking
- Open
-
JDK-8311846 Resolve duplicate 'Thread' related symbols with JDK static linking
- Open
-
JDK-8307194 Add make target for optionally building a complete set of all JDK and hotspot libjvm static libraries
- Resolved
-
JDK-8307858 [REDO] JDK-8307194 Add make target for optionally building a complete set of all JDK and hotspot libjvm static libraries
- Resolved
-
JDK-8305761 Resolve multiple definition of 'jvm' when statically linking with JDK native libraries
- Resolved
-
JDK-8305935 Resolve multiple definition of 'jmm_<interface|version>' when statically linking with JDK native libraries
- Resolved
-
JDK-8306033 Resolve multiple definition of 'throwIOException' and friends when statically linking with JDK native libraries
- Resolved
-
JDK-8306949 Resolve miscellaneous multiple symbol definition issues when statically linking JDK/VM natives with standard launcher
- Resolved
-
JDK-8343497 Missing DEF_STATIC_JNI_OnLoad in libjimage and libsaproc native libraries
- Resolved
-
JDK-8305858 Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries
- Closed
- links to
-
Review openjdk/jdk/13709