RFR: 8378180: Compiling OpenJDK with C23 C-Compiler gives warning: initialization discards ‘const’ qualifier from pointer target type

Daniel Jeliński djelinski at openjdk.org
Mon Mar 2 13:09:28 UTC 2026


On Thu, 26 Feb 2026 04:26:43 GMT, Jasmine Karthikeyan <jkarthikeyan at openjdk.org> wrote:

> Hi all, this is a quick patch to fix a build issue I encountered when updating my Linux system. [Glibc 2.43](https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html) changes the definition of some string related functions to return `const char*` when provided a `const char*` parameter, rather than the previous behavior of returning `char*`. I've fixed this by applying the `const` modifier, and casting to `char*` when needed. This should be backwards-compatible since assigning a non-const pointer to const is an implicit conversion. Thoughts and comments would be appreciated on whether this is the best way to fix this issue. Thanks!

src/jdk.jpackage/linux/native/applauncher/LinuxPackage.c line 230:

> 228: 
> 229: static int initDebPackage(void* desc, const char* str) {
> 230:     char* colonChrPos = (char*) strchr(str, ':');

`str` should really be `char*` instead; it's modified in line 232 below. Once you change `str`'s type, you will no longer need a cast here.

You'll also need to modify the `popenCallbackType` type to remove `const`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29929#discussion_r2872329859


More information about the net-dev mailing list