Skip to content

Commit 6983081

Browse files
authored
Merge pull request #1944 from SAP/pr-jdk-25+16
Merge to tag jdk-25+16
2 parents 09d9889 + fef28da commit 6983081

File tree

1,637 files changed

+18986
-40273
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,637 files changed

+18986
-40273
lines changed

make/Images.gmk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ ifeq ($(JLINK_PRODUCE_LINKABLE_RUNTIME), true)
9898
JLINK_JDK_EXTRA_OPTS += --generate-linkable-runtime
9999
endif
100100

101+
ifneq ($(JLINK_USER_EXTRA_FLAGS), )
102+
JLINK_JDK_EXTRA_OPTS += $(JLINK_USER_EXTRA_FLAGS)
103+
endif
104+
101105
$(eval $(call SetupExecute, jlink_jdk, \
102106
WARN := Creating jdk image, \
103107
DEPS := $(JDK_JMODS) $(BASE_RELEASE_FILE) \

make/Main.gmk

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,10 +1321,7 @@ endif
13211321
################################################################################
13221322

13231323
# all-images builds all our deliverables as images.
1324-
all-images: product-images test-image all-docs-images
1325-
ifeq ($(call isTargetOs, linux macosx windows), true)
1326-
all-images: static-jdk-image
1327-
endif
1324+
all-images: product-images static-jdk-image test-image all-docs-images
13281325

13291326
# all-bundles packages all our deliverables as tar.gz bundles.
13301327
all-bundles: product-bundles test-bundles docs-bundles static-libs-bundles

make/PreInit.gmk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ ifneq ($(SKIP_SPEC), true)
7575

7676
# Basic checks on environment and command line.
7777
$(eval $(call CheckControlVariables))
78-
$(eval $(call CheckDeprecatedEnvironment))
7978
$(eval $(call CheckInvalidMakeFlags))
8079

8180
# Check that CONF_CHECK is valid.

make/PreInitSupport.gmk

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,6 @@ define CheckControlVariables
9494
endif
9595
endef
9696

97-
# Check for deprecated ALT_ variables
98-
define CheckDeprecatedEnvironment
99-
defined_alt_variables := $$(filter ALT_%, $$(.VARIABLES))
100-
ifneq ($$(defined_alt_variables), )
101-
$$(info Warning: You have the following ALT_ variables set:)
102-
$$(foreach var, $$(defined_alt_variables), $$(info * $$(var)=$$($$(var))))
103-
$$(info ALT_ variables are deprecated, and may result in a failed build.)
104-
$$(info Please clean your environment.)
105-
$$(info )
106-
endif
107-
endef
108-
10997
# Check for invalid make flags like -j
11098
define CheckInvalidMakeFlags
11199
# This is a trick to get this rule to execute before any other rules

make/RunTestsPrebuilt.gmk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -140,7 +140,6 @@ $(eval $(call SetupVariable,JIB_JAR,OPTIONAL))
140140
include $(TOPDIR)/make/PreInitSupport.gmk
141141
include $(TOPDIR)/make/common/LogUtils.gmk
142142

143-
$(eval $(call CheckDeprecatedEnvironment))
144143
$(eval $(call CheckInvalidMakeFlags))
145144
$(eval $(call ParseLogLevel))
146145

make/StaticLibs.gmk

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ include CopyFiles.gmk
3131
include DebugInfoUtils.gmk
3232
include Modules.gmk
3333
include modules/LauncherCommon.gmk
34+
include Execute.gmk
3435

3536
################################################################################
3637
#
@@ -68,6 +69,10 @@ else ifeq ($(call isTargetOs, windows), true)
6869
BROKEN_STATIC_LIBS += sspi_bridge
6970
# dt_shmem define jdwpTransport_OnLoad which conflict with dt_socket
7071
BROKEN_STATIC_LIBS += dt_shmem
72+
else ifeq ($(call isTargetOs, aix), true)
73+
# libsplashscreen has a name conflict with libawt in the function
74+
# BitmapToYXBandedRectangles, so we exclude it for now.
75+
BROKEN_STATIC_LIBS += splashscreen
7176
endif
7277

7378
# SapMachine 2025-03-19: Fix static libs target, dt_filesocket defines jdwpTransport_OnLoad which conflicts with dt_socket
@@ -102,6 +107,18 @@ else ifeq ($(call isTargetOs, linux), true)
102107
STATIC_LIBS := -Wl,--export-dynamic -Wl,--whole-archive $(STATIC_LIB_FILES) -Wl,--no-whole-archive
103108
else ifeq ($(call isTargetOs, windows), true)
104109
STATIC_LIBS := $(addprefix -wholearchive:, $(STATIC_LIB_FILES))
110+
else ifeq ($(call isTargetOs, aix), true)
111+
# on AIX we have to generate export files for all static libs, because we have no whole-archive linker flag
112+
$(foreach lib, $(STATIC_LIB_FILES), \
113+
$(eval $(call SetupExecute, generate_export_list_$(notdir $(lib)), \
114+
INFO := Generating export list for $(notdir $(lib)), \
115+
DEPS := $(lib), \
116+
OUTPUT_FILE := $(lib).exp, \
117+
COMMAND := ( $(AR) $(ARFLAGS) -w $(lib) | $(GREP) -v '^\.' | $(AWK) '{print $$1}' | $(SORT) -u > $(lib).exp ), \
118+
)) \
119+
$(eval STATIC_LIB_EXPORT_FILES += $(lib).exp) \
120+
)
121+
STATIC_LIBS := -Wl,-bexpfull $(STATIC_LIB_FILES) $(addprefix -Wl$(COMMA)-bE:, $(STATIC_LIB_EXPORT_FILES))
105122
else
106123
$(error Unsupported platform)
107124
endif
@@ -121,6 +138,9 @@ $(eval $(call SetupBuildLauncher, java, \
121138
))
122139

123140
$(java): $(STATIC_LIB_FILES)
141+
ifeq ($(call isTargetOs, aix), true)
142+
$(java): $(STATIC_LIB_EXPORT_FILES)
143+
endif
124144

125145
TARGETS += $(java)
126146

make/autoconf/basic.m4

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,11 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
7575
AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
7676
fi
7777
78+
if test "x$OPENJDK_TARGET_CPU" = xx86 && test "x$with_jvm_variants" != xzero; then
79+
AC_MSG_ERROR([32-bit x86 builds are not supported])
80+
fi
81+
7882
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
79-
if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
80-
AC_MSG_ERROR([32-bit Windows builds are not supported])
81-
fi
8283
BASIC_SETUP_PATHS_WINDOWS
8384
fi
8485
@@ -549,9 +550,6 @@ AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
549550
550551
BASIC_CHECK_SRC_PERMS
551552
552-
# Check if the user has any old-style ALT_ variables set.
553-
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
554-
555553
# Before generating output files, test if they exist. If they do, this is a reconfigure.
556554
# Since we can't properly handle the dependencies for this, warn the user about the situation
557555
if test -e $OUTPUTDIR/spec.gmk; then

make/autoconf/configure.ac

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -174,9 +174,6 @@ SRCDIRS_SETUP_IMPORT_MODULES
174174
#
175175
################################################################################
176176

177-
# See if we are doing a complete static build or not
178-
JDKOPT_SETUP_STATIC_BUILD
179-
180177
# First determine the toolchain type (compiler family)
181178
TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE
182179

@@ -259,7 +256,6 @@ LIB_TESTS_ENABLE_DISABLE_JTREG_TEST_THREAD_FACTORY
259256

260257
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
261258
JDKOPT_EXCLUDE_TRANSLATIONS
262-
JDKOPT_ENABLE_DISABLE_MANPAGES
263259
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
264260
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_COH
265261
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT

make/autoconf/help.m4

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -341,14 +341,6 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
341341
printf "\n"
342342
fi
343343
344-
if test "x$FOUND_ALT_VARIABLES" != "x"; then
345-
printf "WARNING: You have old-style ALT_ environment variables set.\n"
346-
printf "These are not respected, and will be ignored. It is recommended\n"
347-
printf "that you clean your environment. The following variables are set:\n"
348-
printf "$FOUND_ALT_VARIABLES\n"
349-
printf "\n"
350-
fi
351-
352344
if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
353345
printf "WARNING: Your build output directory is not on a local disk.\n"
354346
printf "This will severely degrade build performance!\n"

make/autoconf/jdk-options.m4

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -569,16 +569,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
569569
AC_SUBST(UBSAN_ENABLED)
570570
])
571571

572-
################################################################################
573-
#
574-
# Static build support. When enabled will generate static
575-
# libraries instead of shared libraries for all JDK libs.
576-
#
577-
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
578-
[
579-
UTIL_DEPRECATED_ARG_ENABLE(static-build)
580-
])
581-
582572
################################################################################
583573
#
584574
# jmod options.
@@ -645,6 +635,18 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
645635
DEFAULT_DESC: [enabled by default unless --enable-linkable-runtime is set],
646636
CHECKING_MSG: [if packaged modules are kept])
647637
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
638+
639+
################################################################################
640+
#
641+
# Extra jlink options to be (optionally) passed to the JDK build
642+
#
643+
UTIL_ARG_WITH(NAME: extra-jlink-flags, TYPE: string,
644+
DEFAULT: [],
645+
DESC: [extra flags to be passed to jlink during the build],
646+
OPTIONAL: true)
647+
648+
JLINK_USER_EXTRA_FLAGS="$EXTRA_JLINK_FLAGS"
649+
AC_SUBST(JLINK_USER_EXTRA_FLAGS)
648650
])
649651

650652
################################################################################
@@ -686,15 +688,6 @@ AC_DEFUN([JDKOPT_EXCLUDE_TRANSLATIONS],
686688
AC_SUBST(EXCLUDE_TRANSLATIONS)
687689
])
688690

689-
################################################################################
690-
#
691-
# Optionally disable man pages (deprecated)
692-
#
693-
AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
694-
[
695-
UTIL_DEPRECATED_ARG_ENABLE(manpages)
696-
])
697-
698691
################################################################################
699692
#
700693
# Disable the default CDS archive generation
@@ -881,8 +874,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
881874
AC_SUBST(SOURCE_DATE)
882875
AC_SUBST(ISO_8601_FORMAT_STRING)
883876
AC_SUBST(SOURCE_DATE_ISO_8601)
884-
885-
UTIL_DEPRECATED_ARG_ENABLE(reproducible-build)
886877
])
887878

888879
################################################################################

make/autoconf/jvm-features.m4

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -50,9 +50,8 @@ m4_define(jvm_features_valid, m4_normalize( \
5050
))
5151

5252
# Deprecated JVM features (these are ignored, but with a warning)
53-
m4_define(jvm_features_deprecated, m4_normalize(
54-
cmsgc trace \
55-
))
53+
# This list is empty at the moment.
54+
m4_define(jvm_features_deprecated, m4_normalize( ))
5655

5756
# Feature descriptions
5857
m4_define(jvm_feature_desc_cds, [enable class data sharing (CDS)])

make/autoconf/platform.m4

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -666,17 +666,7 @@ AC_DEFUN([PLATFORM_CHECK_DEPRECATION],
666666
[
667667
AC_ARG_ENABLE(deprecated-ports, [AS_HELP_STRING([--enable-deprecated-ports@<:@=yes/no@:>@],
668668
[Suppress the error when configuring for a deprecated port @<:@no@:>@])])
669-
# Unfortunately, variants have not been parsed yet, so we have to check the configure option
670-
# directly. Allow only the directly specified Zero variant, treat any other mix as containing
671-
# something non-Zero.
672-
if test "x$OPENJDK_TARGET_CPU" = xx86 && test "x$with_jvm_variants" != xzero; then
673-
if test "x$enable_deprecated_ports" = "xyes"; then
674-
AC_MSG_WARN([The 32-bit x86 port is deprecated and may be removed in a future release.])
675-
else
676-
AC_MSG_ERROR(m4_normalize([The 32-bit x86 port is deprecated and may be removed in a future release.
677-
Use --enable-deprecated-ports=yes to suppress this error.]))
678-
fi
679-
fi
669+
# There are no deprecated ports. Implement the deprecation warnings here.
680670
])
681671

682672
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],

make/autoconf/spec.gmk.template

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,7 @@ NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) $(JAVADOC_MAIN_CLASS)
716716
JMOD_COMPRESS := @JMOD_COMPRESS@
717717
JLINK_KEEP_PACKAGED_MODULES := @JLINK_KEEP_PACKAGED_MODULES@
718718
JLINK_PRODUCE_LINKABLE_RUNTIME := @JLINK_PRODUCE_LINKABLE_RUNTIME@
719+
JLINK_USER_EXTRA_FLAGS := @JLINK_USER_EXTRA_FLAGS@
719720

720721
RCFLAGS := @RCFLAGS@
721722

make/autoconf/toolchain.m4

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -620,6 +620,13 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
620620
# All other toolchains use the compiler to link.
621621
LD="$CC"
622622
LDCXX="$CXX"
623+
# Force use of lld, since that is what we expect when setting flags later on
624+
if test "x$TOOLCHAIN_TYPE" = xclang; then
625+
if test "x$OPENJDK_TARGET_OS" = xlinux; then
626+
LD="$LD -fuse-ld=lld"
627+
LDCXX="$LDCXX -fuse-ld=lld"
628+
fi
629+
fi
623630
fi
624631
AC_SUBST(LD)
625632
# FIXME: it should be CXXLD, according to standard (cf CXXCPP)

make/autoconf/util.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it

make/common/LogUtils.gmk

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,6 @@ define ParseLogValue
6464
endef
6565

6666
define ParseLogLevel
67-
# Catch old-style VERBOSE= command lines.
68-
ifneq ($$(origin VERBOSE), undefined)
69-
$$(info Error: VERBOSE is deprecated. Use LOG=<warn|info|debug|trace> instead.)
70-
$$(error Cannot continue)
71-
endif
72-
7367
# Setup logging according to LOG
7468

7569
# If "nofile" is present, do not log to a file

make/common/TestFilesCompilation.gmk

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ include JdkNativeCompilation.gmk
4343
# OUTPUT_DIR Where to put the resulting files
4444
# EXCLUDE A list of filenames to exclude from compilation
4545
# EXTRA_FILES List of extra files not in SOURCE_DIRS
46+
# CFLAGS List of extra CFLAGS to pass on for each test
47+
# LDFLAGS List of extra LDFLAGS to pass on for each test
48+
# LIBS List of extra LIBS to pass on for each test
4649
SetupTestFilesCompilation = $(NamedParamsMacroTemplate)
4750
define SetupTestFilesCompilationBody
4851

@@ -108,7 +111,7 @@ define SetupTestFilesCompilationBody
108111
CFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
109112
CXXFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
110113
LD_SET_ORIGIN := $$($1_LD_SET_ORIGIN), \
111-
LDFLAGS := $$($1_LDFLAGS_$$(name)), \
114+
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
112115
DISABLED_WARNINGS_gcc := format undef unused-but-set-variable \
113116
unused-const-variable unused-function unused-value \
114117
unused-variable, \
@@ -117,7 +120,7 @@ define SetupTestFilesCompilationBody
117120
unused-but-set-variable unused-function unused-variable, \
118121
DEFAULT_LIBCXX := false, \
119122
JDK_LIBS := $$($1_JDK_LIBS_$$(name)), \
120-
LIBS := $$($1_LIBS_$$(name)), \
123+
LIBS := $$($1_LIBS) $$($1_LIBS_$$(name)), \
121124
DEFAULT_VERSIONINFO_RESOURCE := false, \
122125
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)), $$($1_OPTIMIZATION_$$(name)), LOW), \
123126
COPY_DEBUG_SYMBOLS := $$($1_COPY_DEBUG_SYMBOLS), \

make/data/cldr/LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
UNICODE LICENSE V3
1+
UNICODE LICENSE V3
22

33
COPYRIGHT AND PERMISSION NOTICE
44

5-
Copyright © 1991-2024 Unicode, Inc.
5+
Copyright © 2019-2025 Unicode, Inc.
66

77
NOTICE TO USER: Carefully read the following legal agreement. BY
88
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR

make/data/cldr/common/bcp47/collation.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ For terms of use, see http://www.unicode.org/copyright.html
1010
<version number="$Revision$"/>
1111
<keyword>
1212
<key name="co" description="Collation type key" alias="collation">
13-
<type name="big5han" description="Pinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese)"/>
13+
<type name="big5han" description="Pinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese)" deprecated="true"/>
1414
<type name="compat" description="A previous version of the ordering, for compatibility" since="26"/>
1515
<type name="dict" description="Dictionary style ordering (such as in Sinhala)" alias="dictionary"/>
1616
<type name="direct" description="Binary code point order (used in Hindi)" deprecated="true"/>
1717
<type name="ducet" description="The default Unicode collation element table order" since="2.0.1"/>
1818
<type name="emoji" description="Recommended ordering for emoji characters" since="27"/>
1919
<type name="eor" description="European ordering rules" since="24"/>
20-
<type name="gb2312" description="Pinyin ordering for Latin, gb2312han charset ordering for CJK characters (used in Chinese)" alias="gb2312han"/>
20+
<type name="gb2312" description="Pinyin ordering for Latin, gb2312han charset ordering for CJK characters (used in Chinese)" alias="gb2312han" deprecated="true"/>
2121
<type name="phonebk" description="Phonebook style ordering (such as in German)" alias="phonebook"/>
2222
<type name="phonetic" description="Phonetic ordering (sorting based on pronunciation)"/>
2323
<type name="pinyin" description="Pinyin ordering for Latin and for CJK characters (used in Chinese)"/>

0 commit comments

Comments
 (0)