RFR: 8346394: Bundled freetype library needs to have JNI_OnLoad for static builds [v2]

Magnus Ihse Bursie ihse at openjdk.org
Tue Dec 17 13:22:19 UTC 2024


> All JDK native libraries needs to have a proper `JNI_OnLoad`, set either by `DEF_STATIC_JNI_OnLoad` or `DEF_JNI_OnLoad`. This is so that in a static build, the JVM can recognize that the library is already loaded, and does not try to load a (non-existent) external library.
> 
> Our bundled version of freetype is missing such a marker.
> 
> This turns out to be a problem just on Windows, since the `System.loadLibrary("freetype")` code in `FontManagerNativeLibrary` is only executed on Windows. However, the cost of including this in the bundled versions on all platforms is very small, and it is a safeguard for any future changes. In practice, freetype bundling is only enabled on Windows anyways.

Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision:

  Move the file out of "src" as it is not part of upstream lib

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22791/files
  - new: https://git.openjdk.org/jdk/pull/22791/files/bf0ad054..13c93e63

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22791&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22791&range=00-01

  Stats: 0 lines in 1 file changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/22791.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22791/head:pull/22791

PR: https://git.openjdk.org/jdk/pull/22791


More information about the build-dev mailing list