RFR: JDK-8348597 : Update HarfBuzz to 10.4.0

Phil Race prr at openjdk.org
Wed Mar 5 20:18:56 UTC 2025


On Wed, 5 Mar 2025 19:00:49 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:

>> Harfbuzz upgraded to v10.4.0
>> 
>> File changes -
>> 
>> **Newly added files**
>> 
>> libharfbuzz/OT/Var/VARC/VARC.hh
>> libharfbuzz/OT/Var/VARC/coord-setter.hh
>> libharfbuzz/hb-decycler.hh
>> libharfbuzz/hb-geometry.hh 
>> libharfbuzz/hb-ot-var-varc-table.hh 
>> libharfbuzz/hb-subset-instancer-iup.hh  
>> libharfbuzz/hb-subset-serialize.h
>> 
>> 
>> **Deleted**
>> 
>> libharfbuzz/OT/glyf/VarCompositeGlyph.hh
>> libharfbuzz/OT/glyf/coord-setter.hh
>> 
>> 
>> **Modified: 182 existing files modified**
>> 
>> To prevent build failures due to dangling pointer (on linux) it has been added to HARFBUZZ_DISABLED_WARNINGS_gcc in [ClientLibraries.gmk](https://github.com/openjdk/jdk/pull/23910/files#diff-cd8423c7b5d9fc65d6553ebfd4c3721218c74f9bdb6a1039cc4e6fee8267cd13)
>
> src/java.desktop/share/native/libharfbuzz/hb.hh line 134:
> 
>> 132: #pragma GCC diagnostic ignored "-Wcast-function-type-strict" // https://github.com/harfbuzz/harfbuzz/pull/3859#issuecomment-1295409126
>> 133: #pragma GCC diagnostic ignored "-Wdangling-reference" // https://github.com/harfbuzz/harfbuzz/issues/4043
>> 134: #pragma GCC diagnostic ignored "-Wdangling-pointer" // Trigerred by hb_decycler_node_t().
> 
> @prrace With the latest harfbuzz (v10.4.0), dangling-pointer warning is ignored. With this addition, I assumed that we no longer need to add it to harfbuzz warning section explicitly. 
> 
> But without adding dangling-pointer to `HARFBUZZ_DISABLED_WARNINGS_gcc` build fails on linux so probably JDK build requires warnings to be explicitly added to ClientLibraries.gmk ?
> 
> 
> decycler.hh:110:25: error: storing the address of local variable ‘decycler_node'
>  in '((hb_decycler_t*)((char*)scratch + 8))[1].hb_decycler_t::tortoise' [-Werror=dangling-pointer=]
>   110 |       decycler.tortoise = decycler.hare = this;
>       |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

Interesting. I also would have expected this to over-ride the JDK default.
But if that's what you see ... 
A bit  of googling suggests that sometimes these pragmas are read too late.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23910#discussion_r1982127430


More information about the build-dev mailing list