From d8b0f9c8cc9479f4a95ef3bd4c70d04b2b71806e Mon Sep 17 00:00:00 2001 From: MBaesken Date: Fri, 5 Dec 2025 12:44:57 +0100 Subject: [PATCH 1/5] JDK-8372759 --- make/autoconf/flags-cflags.m4 | 1 + make/autoconf/spec.gmk.template | 1 + make/common/native/Flags.gmk | 3 +++ 3 files changed, 5 insertions(+) diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4 index 6298bcae41601..e7c9290d1fe7c 100644 --- a/make/autoconf/flags-cflags.m4 +++ b/make/autoconf/flags-cflags.m4 @@ -126,6 +126,7 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS], AC_SUBST(CFLAGS_DEBUG_SYMBOLS) AC_SUBST(ASFLAGS_DEBUG_SYMBOLS) + AC_SUBST(DEBUG_PREFIX_CFLAGS) ]) # gcc will embed the full system include paths in the debug info diff --git a/make/autoconf/spec.gmk.template b/make/autoconf/spec.gmk.template index b3d58704c509e..556d4fce82d33 100644 --- a/make/autoconf/spec.gmk.template +++ b/make/autoconf/spec.gmk.template @@ -636,6 +636,7 @@ ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@ CFLAGS_DEBUG_SYMBOLS := @CFLAGS_DEBUG_SYMBOLS@ ASFLAGS_DEBUG_SYMBOLS := @ASFLAGS_DEBUG_SYMBOLS@ +DEBUG_PREFIX_CFLAGS := @DEBUG_PREFIX_CFLAGS@ # # Compress (or not) jars diff --git a/make/common/native/Flags.gmk b/make/common/native/Flags.gmk index efb4c08e74c54..dfb77a603f441 100644 --- a/make/common/native/Flags.gmk +++ b/make/common/native/Flags.gmk @@ -234,6 +234,9 @@ define SetupLinkerFlags ifeq ($(call isTargetOs, macosx), true) $1_EXTRA_LDFLAGS += -Wl,-object_path_lto,$$($1_OBJECT_DIR)/$$($1_NAME)_lto_helper.o endif + + # for lto, we have to use the debug prefix mapping flags to get rid of unwanted paths + $1_EXTRA_LDFLAGS += $$(DEBUG_PREFIX_CFLAGS) endif $1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS)) \ From 41091f5fcc2b8f056a9d76a8feea53712157a1f6 Mon Sep 17 00:00:00 2001 From: MBaesken Date: Fri, 5 Dec 2025 15:47:33 +0100 Subject: [PATCH 2/5] Move prefix setting to m4 file --- make/autoconf/flags-ldflags.m4 | 4 ++-- make/common/native/Flags.gmk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/make/autoconf/flags-ldflags.m4 b/make/autoconf/flags-ldflags.m4 index b0dc565b39ff5..466ff1beaf491 100644 --- a/make/autoconf/flags-ldflags.m4 +++ b/make/autoconf/flags-ldflags.m4 @@ -63,7 +63,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER], fi BASIC_LDFLAGS_JVM_ONLY="" - LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing" + LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS" LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r" @@ -71,7 +71,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER], BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \ -fPIC" - LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing" + LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS" LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r" if test "x$OPENJDK_TARGET_OS" = xlinux; then diff --git a/make/common/native/Flags.gmk b/make/common/native/Flags.gmk index dfb77a603f441..4744db5247d52 100644 --- a/make/common/native/Flags.gmk +++ b/make/common/native/Flags.gmk @@ -236,7 +236,7 @@ define SetupLinkerFlags endif # for lto, we have to use the debug prefix mapping flags to get rid of unwanted paths - $1_EXTRA_LDFLAGS += $$(DEBUG_PREFIX_CFLAGS) + # $1_EXTRA_LDFLAGS += $$(DEBUG_PREFIX_CFLAGS) endif $1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS)) \ From 1fdf13f4362025deeeab0c8a2b8858e52d155ee3 Mon Sep 17 00:00:00 2001 From: MBaesken Date: Wed, 10 Dec 2025 09:19:14 +0100 Subject: [PATCH 3/5] remove uncommented and moved DEBUG_PREFIX_CFLAGS from Flags.gmk --- make/common/native/Flags.gmk | 3 --- 1 file changed, 3 deletions(-) diff --git a/make/common/native/Flags.gmk b/make/common/native/Flags.gmk index 4744db5247d52..efb4c08e74c54 100644 --- a/make/common/native/Flags.gmk +++ b/make/common/native/Flags.gmk @@ -234,9 +234,6 @@ define SetupLinkerFlags ifeq ($(call isTargetOs, macosx), true) $1_EXTRA_LDFLAGS += -Wl,-object_path_lto,$$($1_OBJECT_DIR)/$$($1_NAME)_lto_helper.o endif - - # for lto, we have to use the debug prefix mapping flags to get rid of unwanted paths - # $1_EXTRA_LDFLAGS += $$(DEBUG_PREFIX_CFLAGS) endif $1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS)) \ From f5dda1b90f9c00237819c946560be2be31918cbc Mon Sep 17 00:00:00 2001 From: MBaesken Date: Wed, 10 Dec 2025 17:27:24 +0100 Subject: [PATCH 4/5] Remove AC_SUBST --- make/autoconf/flags-cflags.m4 | 1 - 1 file changed, 1 deletion(-) diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4 index e7c9290d1fe7c..6298bcae41601 100644 --- a/make/autoconf/flags-cflags.m4 +++ b/make/autoconf/flags-cflags.m4 @@ -126,7 +126,6 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS], AC_SUBST(CFLAGS_DEBUG_SYMBOLS) AC_SUBST(ASFLAGS_DEBUG_SYMBOLS) - AC_SUBST(DEBUG_PREFIX_CFLAGS) ]) # gcc will embed the full system include paths in the debug info From ed003a3622f73fab539aae649622e288032e2e36 Mon Sep 17 00:00:00 2001 From: MBaesken Date: Thu, 11 Dec 2025 09:24:49 +0100 Subject: [PATCH 5/5] Change to spec.gmk.template can be reverted --- make/autoconf/spec.gmk.template | 1 - 1 file changed, 1 deletion(-) diff --git a/make/autoconf/spec.gmk.template b/make/autoconf/spec.gmk.template index 556d4fce82d33..b3d58704c509e 100644 --- a/make/autoconf/spec.gmk.template +++ b/make/autoconf/spec.gmk.template @@ -636,7 +636,6 @@ ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@ CFLAGS_DEBUG_SYMBOLS := @CFLAGS_DEBUG_SYMBOLS@ ASFLAGS_DEBUG_SYMBOLS := @ASFLAGS_DEBUG_SYMBOLS@ -DEBUG_PREFIX_CFLAGS := @DEBUG_PREFIX_CFLAGS@ # # Compress (or not) jars