From fae37aaae8b36fd74309b84fa1fdf017c7d932ed Mon Sep 17 00:00:00 2001 From: Magnus Ihse Bursie Date: Tue, 4 Mar 2025 10:27:52 +0000 Subject: [PATCH] 8345627: [REDO] Use gcc12 -ftrivial-auto-var-init=pattern in debug builds Reviewed-by: erikj, kbarrett --- make/autoconf/flags-cflags.m4 | 10 ++++++++++ make/hotspot/lib/CompileGtest.gmk | 1 + make/modules/jdk.incubator.vector/Lib.gmk | 2 ++ test/lib/jdk/test/lib/jvmti/jvmti_common.hpp | 2 +- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4 index 857e2b65e57..238c9752fd1 100644 --- a/make/autoconf/flags-cflags.m4 +++ b/make/autoconf/flags-cflags.m4 @@ -482,6 +482,16 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER], else DEBUG_CFLAGS_JDK="-DDEBUG" + if test "x$TOOLCHAIN_TYPE" = xgcc; then + INIT_PATTERN_FLAG="-ftrivial-auto-var-init=pattern" + FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_PATTERN_FLAG], + IF_TRUE: [ + DEBUG_CFLAGS_JDK="$DEBUG_CFLAGS_JDK $INIT_PATTERN_FLAG" + DEBUG_CFLAGS_JVM="$INIT_PATTERN_FLAG" + ] + ) + fi + if test "x$TOOLCHAIN_TYPE" = xclang && test "x$OPENJDK_TARGET_OS" = xaix; then DEBUG_CFLAGS_JVM="-fpic -mcmodel=large" fi diff --git a/make/hotspot/lib/CompileGtest.gmk b/make/hotspot/lib/CompileGtest.gmk index 5c576cbbf0d..d2cdc7685c9 100644 --- a/make/hotspot/lib/CompileGtest.gmk +++ b/make/hotspot/lib/CompileGtest.gmk @@ -104,6 +104,7 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBJVM, \ undef stringop-overflow, \ DISABLED_WARNINGS_gcc_test_metaspace_misc.cpp := unused-const-variable, \ DISABLED_WARNINGS_gcc_test_threadCpuLoad.cpp := address, \ + DISABLED_WARNINGS_gcc_test_tribool.cpp := uninitialized, \ DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \ undef switch format-nonliteral tautological-undefined-compare \ self-assign-overloaded, \ diff --git a/make/modules/jdk.incubator.vector/Lib.gmk b/make/modules/jdk.incubator.vector/Lib.gmk index 6d1259cfe60..5c979ae8191 100644 --- a/make/modules/jdk.incubator.vector/Lib.gmk +++ b/make/modules/jdk.incubator.vector/Lib.gmk @@ -53,6 +53,7 @@ ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, riscv64)+$(INCLUDE_COMPILER2 DISABLED_WARNINGS_gcc := unused-function sign-compare tautological-compare ignored-qualifiers, \ DISABLED_WARNINGS_clang := unused-function sign-compare tautological-compare ignored-qualifiers, \ CFLAGS := -march=rv64gcv, \ + CFLAGS_FILTER_OUT := -ftrivial-auto-var-init=pattern, \ )) TARGETS += $(BUILD_LIBSLEEF) @@ -67,6 +68,7 @@ ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, aarch64)+$(INCLUDE_COMPILER2 DISABLED_WARNINGS_gcc := unused-function sign-compare tautological-compare ignored-qualifiers, \ DISABLED_WARNINGS_clang := unused-function sign-compare tautological-compare ignored-qualifiers, \ vector_math_sve.c_CFLAGS := $(SVE_CFLAGS), \ + CFLAGS_FILTER_OUT := -ftrivial-auto-var-init=pattern, \ )) TARGETS += $(BUILD_LIBSLEEF) diff --git a/test/lib/jdk/test/lib/jvmti/jvmti_common.hpp b/test/lib/jdk/test/lib/jvmti/jvmti_common.hpp index f16b9fefb99..5efd58e7773 100644 --- a/test/lib/jdk/test/lib/jvmti/jvmti_common.hpp +++ b/test/lib/jdk/test/lib/jvmti/jvmti_common.hpp @@ -283,7 +283,7 @@ get_thread_info(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { static jint get_thread_state(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { - jint thread_state; + jint thread_state = 0; jvmtiError err = jvmti->GetThreadState(thread, &thread_state); check_jvmti_status(jni, err, "get_thread_state: error in JVMTI GetThreadState call"); return thread_state;