On Mon, 15 Jun 2026 00:31:54 GMT, Yasumasa Suenaga <[email protected]> wrote:
> I saw following error when I tried to build Linux x86_64 devkit on glibc 2.43 > system (Fedora 44): > > > /usr/src/jdk/build/devkit/src/binutils-2.43/gprofng/libcollector/iolib.c: In > function 'is_not_the_log_ > file': > /usr/src/jdk/build/devkit/src/binutils-2.43/gprofng/libcollector/iolib.c:898:18: > error: expected ident > ifier before '_Generic' > 898 | if (CALL_UTIL (strstr)(fname, SP_LOG_FILE) == NULL) > | ^~~~~~ > /usr/src/jdk/build/devkit/src/binutils-2.43/gprofng/libcollector/iolib.c:898:7: > note: in expansion of > macro 'CALL_UTIL' > 898 | if (CALL_UTIL (strstr)(fname, SP_LOG_FILE) == NULL) > | ^~~~~~~~~ > GEN doc/strings.1 > mv -f .deps/libgp_collector_la-gethrtime.Tpo > .deps/libgp_collector_la-gethrtime.Plo > make[7]: *** [Makefile:645: libgp_collector_la-iolib.lo] Error 1 > > > According to release notes of glibc 2.43, `_Generic` macro has been > introduced as a part of C23, and it might break some packages [1]. It is > binutils in devkit. > > It is not a bug in OpenJDK and devkit, but it is better if we can avoid the > problem with some options. The problem is in gprofng, so we can avoid the > problem if we can add `--disable-gprofng` in configure options of binutils. > gprofng is a profiler, so it is not required for devkit. > > > Note that we cannot build Linux x86_64 devkit on Fedora 44 (glibc 2.43 + gcc > 16.1) with this change only. We also need to add `-std=gnu17`. I exclude it > from this change (so far) because we can add it via `CFLAGS` environment > variable and I'm not sure how it affects in older C compilers. > > [1] > https://sourceware.org/glibc/wiki/Release/2.43#C23_Const-Preserving_Standard_Library_Macros_May_Break_Some_Packages > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Marked as reviewed by erikj (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/31511#pullrequestreview-4494933625
