[jdk11u-dev] RFR: 8348597: Update HarfBuzz to 10.4.0 [v6]

Antonio Vieiro avieiro at openjdk.org
Thu Aug 21 14:09:25 UTC 2025


> Backport of [JDK-8348597](https://bugs.openjdk.org/browse/JDK-8348597) from JDK17 that updates HarfBuzz to 10.4.0 (which [improves drawing performande by 10+% and includes different build fixes](https://newreleases.io/project/github/harfbuzz/harfbuzz/release/10.4.0)). Backport is not clean because it required adapting `make/lib/Awt2dLibraries.gmk` to fit JDK11.
> 
> Even though the backport built correctly, the resulting `jdk/lib/libfontmanager.so` contained undefined symbols that caused Swing tests to fail with `UnsatisfiedLinkError`. This is because JDK11 is missing [JDK-8319197](https://bugs.openjdk.org/browse/JDK-8319197) that excludes hb-subset from compilation, so this is also included as the second commit in the pull request.
> 
> While at it, a third commit adds an additional `-Wno-attributes` flag to `HARFBUZZ_DISABLED_WARNINGS_CXX_gcc`, restoring the capability to build JDK11 on Linux with `gcc-4.8.5`  (this is an old version of gcc, dating from 2015, but it's still the system gcc version in RHEL-7).
> 
> Tested 
> 
> - on Windows 10 with `jdk:jfc_demo`. 
> - on Linux with `jdk:jfc_demo`, with 
>     - `gcc 4.8.5/harfbuzz-1.7.5 (x86_64 & s390x)`, 
>     - `gcc 8.5.0/harfbuzz-1.7.5 (x86_64)`, 
>     - `gcc 11.5.0/harfbuzz-2.7.4 (x86_64)` 
>     - and `gcc 14.2.1/harfbuzz-9.0.0 (x86_64)`
> 
> with both `--with-harfbuzz=system` and `--with-harfbuzz=bundled`.

Antonio Vieiro has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains nine additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into backports/JDK-8334964
 - Restoring "dangling-pointer" in "HARFBUZZ_DISABLED_WARNINGS_gcc"
 - ... and comments
 - Removing flags for building with with GCC-4.8 and GCC-12 and up
 - Rearrange Awt2dLibraries.gmk as per review
 - Removed parentheses and use-after-free (tested with gcc 14 & gcc 4.8.5)
 - Additional "attributes" flag for Linux/GCC 4.8.5
 - Backport f4e99de33e35826ec1fb368d6ad96005d7bd5cc4
 - Backport ba3db307dceb41e48014451873fdf4db3816a537

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

Changes:
  - all: https://git.openjdk.org/jdk11u-dev/pull/3026/files
  - new: https://git.openjdk.org/jdk11u-dev/pull/3026/files/e3ccbae1..3b154129

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=3026&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=3026&range=04-05

  Stats: 10115 lines in 248 files changed: 3898 ins; 5069 del; 1148 mod
  Patch: https://git.openjdk.org/jdk11u-dev/pull/3026.diff
  Fetch: git fetch https://git.openjdk.org/jdk11u-dev.git pull/3026/head:pull/3026

PR: https://git.openjdk.org/jdk11u-dev/pull/3026


More information about the jdk-updates-dev mailing list