Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Explicitly load libcrypto for JITServer
When libssl3 (or higher) is bundled with the JDK, we want to load that version in preference over the one present on the system. `dlopen` will do that because the RUNPATH for the JIT dll (from which `dlopen` is invoked) includes the "JDK/lib" path where libssl is bundled. However, as part of loading libssl3, `dlopen` will also attempt to load libcrypto3 (because it is a dependency). This is searched in the RPATH of the jitserver executable for a server, or in the RPATH of the java executable for a client. Currently, the jitserver executable does not include an RPATH, so libcrypto3 is searched on the system and this may fail on systems that do not have version 3 installed. This problem can be circumvented by performing an explicit `dlopen` for the crypto library, in which case the RUNPATH for the JIT is going to be used as search path. Fixes: eclipse-openj9#21066 Signed-off-by: Marius Pirvu <[email protected]>
- Loading branch information