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

Antonio Vieiro avieiro at openjdk.org
Thu Aug 14 11:13:18 UTC 2025


On Thu, 14 Aug 2025 11:09:27 GMT, Antonio Vieiro <avieiro at openjdk.org> wrote:

>> 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 incrementally with two additional commits since the last revision:
> 
>  - ... and comments
>  - Removing flags for building with with GCC-4.8 and GCC-12 and up

So this drops the flags required for:
- building with GCC 4.x (requires `attributes` for building the new harfbuzz bits introduced here)
- gcc 12 and up (would require backporting 8300692, 8308283, 8324243).

This builds correctly with GCC 8.X (rhel-7, rhel-8) and in GCC 10.X (GHA). Let me know if you want to add any of these back again. 

Thanks for the review!

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

PR Comment: https://git.openjdk.org/jdk11u-dev/pull/3026#issuecomment-3188063370


More information about the jdk-updates-dev mailing list