Patch taken from Alpine: https://git.alpinelinux.org/aports/tree/community/openjdk17/FixNullPtrCast.patch same fix for armv7l-musl added Subject: Fix cast errors with latest GCC Upstream: No Author: Simon Frankenberger This patch fixes one remaining casting error reported by GCC 12 for aarch64 --- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp +++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp @@ -267,7 +267,7 @@ virtual void pass_object() { intptr_t* addr = single_slot_addr(); - intptr_t value = *addr == 0 ? NULL : (intptr_t)addr; + intptr_t value = *addr == 0 ? (intptr_t) 0 : (intptr_t)addr; if (pass_gpr(value) < 0) { pass_stack<>(value); } --- old/src/hotspot/cpu/arm/interpreterRT_arm.cpp +++ new/src/hotspot/cpu/arm/interpreterRT_arm.cpp @@ -306,8 +306,8 @@ virtual void pass_object() { intptr_t from_addr = (intptr_t)(_from + Interpreter::local_offset_in_bytes(0)); if(_last_gp < GPR_PARAMS) { - _toGP[_last_gp++] = (*(intptr_t*)from_addr == 0) ? NULL : from_addr; + _toGP[_last_gp++] = (*(intptr_t*)from_addr == 0) ? (intptr_t) 0 : (intptr_t)from_addr; } else { - *_to++ = (*(intptr_t*)from_addr == 0) ? NULL : from_addr; + *_to++ = (*(intptr_t*)from_addr == 0) ? (intptr_t) 0 : (intptr_t)from_addr; } _from -= Interpreter::stackElementSize; }