Commit c58d7df
committed
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: #21066
Signed-off-by: Marius Pirvu <mpirvu@ca.ibm.com>1 parent 9dd7e0e commit c58d7df
1 file changed
+34
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | | - | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
238 | 268 | | |
239 | 269 | | |
240 | 270 | | |
| |||
246 | 276 | | |
247 | 277 | | |
248 | 278 | | |
249 | | - | |
250 | | - | |
| 279 | + | |
| 280 | + | |
251 | 281 | | |
252 | 282 | | |
253 | 283 | | |
254 | | - | |
255 | 284 | | |
256 | | - | |
257 | | - | |
258 | | - | |
| 285 | + | |
259 | 286 | | |
260 | 287 | | |
261 | 288 | | |
| |||
0 commit comments