Skip to content

Commit 3416228

Browse files
[Automated] Merge in tag jdk-25+8
PullRequest: labsjdk-ce/149
2 parents e444705 + 7f6490e commit 3416228

File tree

989 files changed

+11478
-5529
lines changed

Some content is hidden

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

989 files changed

+11478
-5529
lines changed

bin/idea.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ if [ "$VERBOSE" = "true" ] ; then
9999
echo "idea template dir: $IDEA_TEMPLATE"
100100
fi
101101

102-
cd $TOP ; make idea-gen-config IDEA_OUTPUT=$IDEA_OUTPUT MODULES="$*" $CONF_ARG || exit 1
102+
cd $TOP ; make idea-gen-config ALLOW=IDEA_OUTPUT,MODULES IDEA_OUTPUT=$IDEA_OUTPUT MODULES="$*" $CONF_ARG || exit 1
103103
cd $SCRIPT_DIR
104104

105105
. $IDEA_OUTPUT/env.cfg

doc/hotspot-style.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,10 @@ <h3 id="source-files">Source Files</h3>
217217
should be put in the .hpp file, and not in the .inline.hpp file. This
218218
rule exists to resolve problems with circular dependencies between
219219
.inline.hpp files.</p></li>
220-
<li><p>All .cpp files include precompiled.hpp as the first include
221-
line.</p></li>
222-
<li><p>precompiled.hpp is just a build time optimization, so don't rely
223-
on it to resolve include problems.</p></li>
220+
<li><p>Some build configurations use precompiled headers to speed up the
221+
build times. The precompiled headers are included in the precompiled.hpp
222+
file. Note that precompiled.hpp is just a build time optimization, so
223+
don't rely on it to resolve include problems.</p></li>
224224
<li><p>Keep the include lines alphabetically sorted.</p></li>
225225
<li><p>Put conditional inclusions (<code>#if ...</code>) at the end of
226226
the include list.</p></li>

doc/hotspot-style.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,10 @@ the first include line. Declarations needed by other files should be put
150150
in the .hpp file, and not in the .inline.hpp file. This rule exists to
151151
resolve problems with circular dependencies between .inline.hpp files.
152152

153-
* All .cpp files include precompiled.hpp as the first include line.
154-
155-
* precompiled.hpp is just a build time optimization, so don't rely on
156-
it to resolve include problems.
153+
* Some build configurations use precompiled headers to speed up the
154+
build times. The precompiled headers are included in the precompiled.hpp
155+
file. Note that precompiled.hpp is just a build time optimization, so
156+
don't rely on it to resolve include problems.
157157

158158
* Keep the include lines alphabetically sorted.
159159

make/Global.gmk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2012, 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
@@ -108,6 +108,7 @@ help:
108108
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness, use 'make test-only MICRO=help' to list)
109109
$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
110110
$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
111+
$(info $(_) ALLOW="FOO,BAR" # Do not warn that FOO and BAR are non-control variables)
111112
$(info )
112113
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))), \
113114
$(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))

make/InitSupport.gmk

Lines changed: 19 additions & 12 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
@@ -48,12 +48,15 @@ ifeq ($(HAS_SPEC), )
4848
# from the command-line.
4949
##############################################################################
5050

51-
# Make control variables, handled by Init.gmk
52-
INIT_CONTROL_VARIABLES += LOG CONF CONF_NAME SPEC JOBS TEST_JOBS CONF_CHECK \
53-
COMPARE_BUILD JTREG GTEST MICRO TEST_OPTS TEST_VM_OPTS TEST_DEPS
51+
# Essential control variables that are handled by Init.gmk
52+
INIT_CONTROL_VARIABLES := LOG CONF CONF_NAME SPEC JOBS CONF_CHECK ALLOW \
53+
COMPARE_BUILD
5454

55-
# All known make control variables
56-
MAKE_CONTROL_VARIABLES := $(INIT_CONTROL_VARIABLES) TEST JDK_FILTER SPEC_FILTER
55+
# All known make control variables; these are handled in other makefiles
56+
MAKE_CONTROL_VARIABLES += JDK_FILTER SPEC_FILTER \
57+
TEST TEST_JOBS JTREG GTEST MICRO TEST_OPTS TEST_VM_OPTS TEST_DEPS
58+
59+
ALL_CONTROL_VARIABLES := $(INIT_CONTROL_VARIABLES) $(MAKE_CONTROL_VARIABLES)
5760

5861
# Define a simple reverse function.
5962
# Should maybe move to MakeBase.gmk, but we can't include that file now.
@@ -87,8 +90,10 @@ ifeq ($(HAS_SPEC), )
8790
command_line_variables := $$(strip $$(foreach var, \
8891
$$(subst \ ,_,$$(MAKEOVERRIDES)), \
8992
$$(firstword $$(subst =, , $$(var)))))
93+
allowed_command_line_variables := $$(strip $$(subst $$(COMMA), , $$(ALLOW)))
9094
unknown_command_line_variables := $$(strip \
91-
$$(filter-out $$(MAKE_CONTROL_VARIABLES), $$(command_line_variables)))
95+
$$(filter-out $$(ALL_CONTROL_VARIABLES) $$(allowed_command_line_variables), \
96+
$$(command_line_variables)))
9297
ifneq ($$(unknown_command_line_variables), )
9398
$$(info Note: Command line contains non-control variables:)
9499
$$(foreach var, $$(unknown_command_line_variables), $$(info * $$(var)=$$($$(var))))
@@ -211,13 +216,15 @@ ifeq ($(HAS_SPEC), )
211216
$$(if $$(findstring $$(CONF), $$(var)), $$(var))))
212217
endif
213218
ifneq ($$(filter $$(CONF), $$(matching_confs)), )
219+
ifneq ($$(word 2, $$(matching_confs)), )
220+
# Don't repeat this output on make restarts caused by including
221+
# generated files.
222+
ifeq ($$(MAKE_RESTARTS), )
223+
$$(info Using exact match for CONF=$$(CONF) (other matches are possible))
224+
endif
225+
endif
214226
# If we found an exact match, use that
215227
matching_confs := $$(CONF)
216-
# Don't repeat this output on make restarts caused by including
217-
# generated files.
218-
ifeq ($$(MAKE_RESTARTS), )
219-
$$(info Using exact match for CONF=$$(CONF) (other matches are possible))
220-
endif
221228
endif
222229
endif
223230
ifeq ($$(matching_confs), )

make/RunTests.gmk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ $(eval $(call IncludeCustomExtension, RunTests.gmk))
7878

7979
# This is the JDK that we will test
8080
JDK_UNDER_TEST := $(JDK_IMAGE_DIR)
81+
# The JDK used to compile jtreg test code. By default it is the same as
82+
# JDK_UNDER_TEST.
83+
JDK_FOR_COMPILE := $(JDK_IMAGE_DIR)
8184

8285
TEST_RESULTS_DIR := $(OUTPUTDIR)/test-results
8386
TEST_SUPPORT_DIR := $(OUTPUTDIR)/test-support
@@ -979,6 +982,7 @@ define SetupRunJtregTestBody
979982
$$(JTREG_JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
980983
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
981984
$$($1_JTREG_BASIC_OPTIONS) \
985+
-compilejdk:$$(JDK_FOR_COMPILE) \
982986
-testjdk:$$(JDK_UNDER_TEST) \
983987
-dir:$$(JTREG_TOPDIR) \
984988
-reportDir:$$($1_TEST_RESULTS_DIR) \

make/autoconf/basic.m4

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,15 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
8484
8585
# We get the top-level directory from the supporting wrappers.
8686
BASIC_WINDOWS_VERIFY_DIR($TOPDIR, source)
87+
orig_topdir="$TOPDIR"
8788
UTIL_FIXUP_PATH(TOPDIR)
8889
AC_MSG_CHECKING([for top-level directory])
8990
AC_MSG_RESULT([$TOPDIR])
91+
if test "x$TOPDIR" != "x$orig_topdir"; then
92+
AC_MSG_WARN([Your top dir was originally represented as $orig_topdir,])
93+
AC_MSG_WARN([but after rewriting it became $TOPDIR.])
94+
AC_MSG_WARN([This typically means you have characters like space in the path, which can cause all kind of trouble.])
95+
fi
9096
AC_SUBST(TOPDIR)
9197
9298
if test "x$CUSTOM_ROOT" != x; then

make/autoconf/flags-cflags.m4

Lines changed: 19 additions & 13 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
@@ -235,9 +235,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
235235
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
236236
237237
# Additional warnings that are not activated by -Wall and -Wextra
238-
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wreturn-type -Wsign-compare \
239-
-Wtrampolines -Wundef -Wunused-const-variable=1 -Wunused-function \
240-
-Wunused-result -Wunused-value -Wtype-limits -Wuninitialized"
238+
WARNINGS_ENABLE_ADDITIONAL="-Winvalid-pch -Wpointer-arith -Wreturn-type \
239+
-Wsign-compare -Wtrampolines -Wtype-limits -Wundef -Wuninitialized \
240+
-Wunused-const-variable=1 -Wunused-function -Wunused-result \
241+
-Wunused-value"
241242
WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
242243
WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
243244
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
@@ -277,7 +278,7 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
277278
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
278279
[
279280
# bounds, memory and behavior checking options
280-
if test "x$TOOLCHAIN_TYPE" = xgcc; then
281+
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
281282
case $DEBUG_LEVEL in
282283
release )
283284
# no adjustment
@@ -516,12 +517,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
516517
-fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer"
517518
fi
518519
519-
if test "x$TOOLCHAIN_TYPE" = xclang && test "x$OPENJDK_TARGET_OS" = xaix; then
520-
# clang compiler on aix needs -ffunction-sections
521-
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -ftls-model -fno-math-errno -fstack-protector"
522-
TOOLCHAIN_CFLAGS_JDK="-ffunction-sections -fsigned-char -fstack-protector"
523-
fi
524-
525520
if test "x$TOOLCHAIN_TYPE" = xgcc; then
526521
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fstack-protector"
527522
TOOLCHAIN_CFLAGS_JDK="-fvisibility=hidden -pipe -fstack-protector"
@@ -541,7 +536,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
541536
# Restrict the debug information created by Clang to avoid
542537
# too big object files and speed the build up a little bit
543538
# (see http://llvm.org/bugs/show_bug.cgi?id=7554)
544-
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -flimit-debug-info"
539+
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -flimit-debug-info -fstack-protector"
545540
546541
# In principle the stack alignment below is cpu- and ABI-dependent and
547542
# should agree with values of StackAlignmentInBytes in various
@@ -559,7 +554,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
559554
TOOLCHAIN_CFLAGS_JDK="-pipe"
560555
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
561556
fi
562-
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -fvisibility=hidden"
557+
558+
if test "x$OPENJDK_TARGET_OS" = xaix; then
559+
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -ftls-model -fno-math-errno"
560+
TOOLCHAIN_CFLAGS_JDK="-ffunction-sections -fsigned-char"
561+
fi
562+
563+
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -fvisibility=hidden -fstack-protector"
563564
564565
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
565566
# The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
@@ -736,6 +737,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
736737
# for all archs except arm and ppc, prevent gcc to omit frame pointer
737738
$1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
738739
fi
740+
if test "x$FLAGS_CPU" = xppc64le; then
741+
# Little endian machine uses ELFv2 ABI.
742+
# Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
743+
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=power8 -mtune=power8"
744+
fi
739745
fi
740746
if test "x$OPENJDK_TARGET_OS" = xaix; then
741747
$1_CFLAGS_CPU="-mcpu=pwr8"

make/autoconf/util_paths.m4

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ AC_DEFUN([UTIL_FIXUP_PATH],
7777
imported_path=""
7878
fi
7979
fi
80-
if test "x$imported_path" != "x$path"; then
80+
[ imported_path_lower=`$ECHO $imported_path | $TR '[:upper:]' '[:lower:]'` ]
81+
[ orig_path_lower=`$ECHO $path | $TR '[:upper:]' '[:lower:]'` ]
82+
# If only case differs, keep original path
83+
if test "x$imported_path_lower" != "x$orig_path_lower"; then
8184
$1="$imported_path"
8285
fi
8386
else
@@ -357,6 +360,8 @@ AC_DEFUN([UTIL_SETUP_TOOL],
357360
fi
358361
$1="$tool_command"
359362
fi
363+
# Make sure we add fixpath if needed
364+
UTIL_FIXUP_EXECUTABLE($1)
360365
if test "x$tool_args" != x; then
361366
# If we got arguments, re-append them to the command after the fixup.
362367
$1="[$]$1 $tool_args"

make/conf/jib-profiles.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2015, 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
@@ -1101,9 +1101,9 @@ var getJibProfilesDependencies = function (input, common) {
11011101
windows_x64: "VS2022-17.6.5+1.0",
11021102
linux_aarch64: "gcc13.2.0-OL7.6+1.0",
11031103
linux_arm: "gcc8.2.0-Fedora27+1.0",
1104-
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
1105-
linux_s390x: "gcc8.2.0-Fedora27+1.0",
1106-
linux_riscv64: "gcc11.3.0-Fedora_rawhide_68692+1.1"
1104+
linux_ppc64le: "gcc13.2.0-Fedora_41+1.0",
1105+
linux_s390x: "gcc13.2.0-Fedora_41+1.0",
1106+
linux_riscv64: "gcc13.2.0-Fedora_41+1.0"
11071107
};
11081108

11091109
var devkit_platform = (input.target_cpu == "x86"

0 commit comments

Comments
 (0)