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