Skip to content

Commit 3df5c9b

Browse files
Merge tag 'jdk-24+3' into labsjdk/automation-6-20-2024-3395
Added tag jdk-24+3 for changeset c6f3bf4
2 parents 9df4270 + c6f3bf4 commit 3df5c9b

File tree

323 files changed

+15616
-3943
lines changed

Some content is hidden

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

323 files changed

+15616
-3943
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ jobs:
146146
apt-architecture: 'i386'
147147
# Some multilib libraries do not have proper inter-dependencies, so we have to
148148
# install their dependencies manually.
149-
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386 libgcc-s1:i386 libstdc++6:i386 libffi-dev:i386'
149+
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libffi-dev:i386'
150150
extra-conf-options: '--with-target-bits=32 --enable-fallback-linker --enable-libffi-bundling'
151151
configure-arguments: ${{ github.event.inputs.configure-arguments }}
152152
make-arguments: ${{ github.event.inputs.make-arguments }}

make/GenerateLinkOptData.gmk

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,23 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
6262
INTERIM_IMAGE_DIR := $(BUILD_JDK)
6363
endif
6464

65+
# These are needed for deterministic classlist:
66+
# - The classlist can be influenced by locale. Always set it to en/US.
67+
# - Run with -Xint, as the compiler can speculatively resolve constant pool entries.
68+
# - ForkJoinPool parallelism can cause constant pool resolution to be non-deterministic.
69+
CLASSLIST_FILE_VM_OPTS = \
70+
-Duser.language=en -Duser.country=US \
71+
-Xint \
72+
-Djava.util.concurrent.ForkJoinPool.common.parallelism=0
73+
6574
# Save the stderr output of the command and print it along with stdout in case
6675
# something goes wrong.
6776
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
6877
$(call MakeDir, $(LINK_OPT_DIR))
6978
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
7079
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
7180
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:[email protected] \
72-
-Duser.language=en -Duser.country=US \
81+
$(CLASSLIST_FILE_VM_OPTS) \
7382
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
7483
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
7584
$(GREP) -v HelloClasslist [email protected] > [email protected]
@@ -79,7 +88,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
7988
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:[email protected] \
8089
8190
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
82-
-Duser.language=en -Duser.country=US \
91+
$(CLASSLIST_FILE_VM_OPTS) \
8392
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
8493
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
8594
build.tools.classlist.HelloClasslist \

make/autoconf/flags-cflags.m4

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -502,12 +502,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
502502
elif test "x$TOOLCHAIN_TYPE" = xclang; then
503503
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE"
504504
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
505-
# Access APIs for Windows 8 and above
506-
# see https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
507-
ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
508-
-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL"
509-
ALWAYS_DEFINES_JVM="-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
510-
-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE"
505+
# _WIN32_WINNT=0x0602 means access APIs for Windows 8 and above. See
506+
# https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
507+
ALWAYS_DEFINES="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
508+
-D_CRT_DECLARE_NONSTDC_NAMES -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS"
509+
ALWAYS_DEFINES_JDK="$ALWAYS_DEFINES -DWIN32 -DIAL"
510+
ALWAYS_DEFINES_JVM="$ALWAYS_DEFINES -DNOMINMAX"
511511
fi
512512
513513
###############################################################################

make/autoconf/lib-tests.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2018, 2024, 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
@@ -28,7 +28,7 @@
2828
################################################################################
2929

3030
# Minimum supported versions
31-
JTREG_MINIMUM_VERSION=7.3.1
31+
JTREG_MINIMUM_VERSION=7.4
3232
GTEST_MINIMUM_VERSION=1.14.0
3333

3434
###############################################################################

make/conf/github-actions.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
# Versions and download locations for dependencies used by GitHub Actions (GHA)
2727

2828
GTEST_VERSION=1.14.0
29-
JTREG_VERSION=7.3.1+1
29+
JTREG_VERSION=7.4+1
3030

3131
LINUX_X64_BOOT_JDK_EXT=tar.gz
3232
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_linux-x64_bin.tar.gz

make/conf/jib-profiles.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,9 +1197,9 @@ var getJibProfilesDependencies = function (input, common) {
11971197
jtreg: {
11981198
server: "jpg",
11991199
product: "jtreg",
1200-
version: "7.3.1",
1200+
version: "7.4",
12011201
build_number: "1",
1202-
file: "bundles/jtreg-7.3.1+1.zip",
1202+
file: "bundles/jtreg-7.4+1.zip",
12031203
environment_name: "JT_HOME",
12041204
environment_path: input.get("jtreg", "home_path") + "/bin",
12051205
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),

make/modules/java.desktop/lib/ClientLibraries.gmk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ endif
281281
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
282282
LIBFONTMANAGER_EXTRA_SRC =
283283
LIBFONTMANAGER_LIBS += $(HARFBUZZ_LIBS)
284+
LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
284285
else
285286
LIBFONTMANAGER_EXTRA_SRC = libharfbuzz
286287

make/scripts/update_copyright_year.sh

Lines changed: 74 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash -f
22

33
#
4-
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
4+
# Copyright (c) 2010, 2024, Oracle and/or its affiliates. All rights reserved.
55
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66
#
77
# This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,10 @@
2727
# (Originally from xdono, Thanks!)
2828

2929
#------------------------------------------------------------
30-
copyright="Copyright (c)"
30+
copyright="Copyright"
31+
copyright_symbol="(c)"
3132
company="Oracle"
33+
year=`date +%Y`
3234
#------------------------------------------------------------
3335

3436
awk="awk"
@@ -49,66 +51,75 @@ rm -f -r ${tmp}
4951
mkdir -p ${tmp}
5052
total=0
5153

52-
# Default or supplied company name
53-
if [ "$3" != "" ] ; then
54-
company="$3"
55-
fi
56-
57-
# This year or supplied year
58-
if [ "$2" != "" ] ; then
59-
year="$2"
60-
else
61-
year=`date +%Y`
62-
fi
63-
64-
# VCS select
65-
vcs="$1"
54+
usage="Usage: `basename "$0"` [-c company] [-y year] [-h|f]"
55+
Help()
56+
{
57+
# Display Help
58+
echo "Updates the Copyright year range in Git sources."
59+
echo
60+
echo "By default, the tool limits the processed changesets "
61+
echo "to those in the current branch and the current year."
62+
echo
63+
echo "Note, cancelling the script will skip cleanup in /tmp."
64+
echo
65+
echo $usage
66+
echo "options:"
67+
echo "-c Specifies the company. Set to Oracle by default."
68+
echo "-y Specifies the copyright year. Set to current year by default."
69+
echo "-f Updates the copyright for all change sets in a given year,"
70+
echo " as specified by -y."
71+
echo "-h Print this help."
72+
echo
73+
}
6674

67-
if [ -z "$vcs" ] ; then
68-
git_found=false
69-
hg_found=false
75+
full_year=false
7076

71-
[ -d "${this_script_dir}/../../.git" ] && git_found=true
72-
[ -d "${this_script_dir}/../../.hg" ] && hg_found=true
77+
# Process options
78+
while getopts "c:fhy:" option; do
79+
case $option in
80+
c) # supplied company year
81+
company=${OPTARG}
82+
;;
83+
f) # update all change sets in a full year
84+
full_year=true
85+
;;
86+
h) # display help
87+
Help
88+
exit 0
89+
;;
90+
y) # supplied company year
91+
year=${OPTARG}
92+
;;
93+
\?) # illegal option
94+
echo "$usage"
95+
exit 1
96+
;;
97+
esac
98+
done
7399

74-
if [ "$git_found" == "true" ] && [ "$hg_found" == "false" ] ; then
75-
vcs="git"
76-
elif [ "$hg_found" == "true" ] && [ "$git_found" == "false" ] ; then
77-
vcs="hg"
100+
# VCS check
101+
git_found=false
102+
[ -d "${this_script_dir}/../../.git" ] && git_found=true
103+
if [ "$git_found" != "true" ]; then
104+
echo "Error: Please execute script from within make/scripts."
105+
exit 1
106+
else
107+
echo "Using Git version control system"
108+
vcs_status=(git ls-files -m)
109+
if [ "$full_year" = "true" ]; then
110+
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
78111
else
79-
echo "Error: could not auto-detect version control system"
80-
vcs=""
112+
vcs_list_changesets=(git log --no-merges 'master..HEAD' --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
81113
fi
114+
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
115+
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}
82116
fi
83117

84-
case "$vcs" in
85-
"git")
86-
echo "Using Git version control system"
87-
vcs_status=(git ls-files -m)
88-
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
89-
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
90-
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}
91-
;;
92-
93-
"hg")
94-
echo "Using Mercurial version control system"
95-
vcs_status=(hg status)
96-
vcs_list_changesets=(hg log --no-merges -v -d "${year}-01-01 to ${year}-12-31" --template '{node}\n')
97-
vcs_changeset_message=(hg log -l1 --template '{desc}\n' --rev) # followed by ${changeset}
98-
vcs_changeset_files=(hg log -l1 -v --template '{files}\n' --rev) # followed by ${changeset}
99-
;;
100-
101-
*)
102-
echo "Usage: `basename "$0"` <git|hg> [year [company]]"
103-
exit 1
104-
;;
105-
esac
106-
107118
# Return true if it makes sense to edit this file
108119
saneFileToCheck()
109120
{
110121
if [ "$1" != "" -a -f $1 ] ; then
111-
isText=`file "$1" | egrep -i '(text|source)' | cat`
122+
isText=`file "$1" | grep -i -E '(text|source)' | cat`
112123
hasCopyright=`grep 'Copyright' "$1" | cat`
113124
lastLineCount=`tail -1 "$1" | wc -l`
114125
if [ "${isText}" != "" \
@@ -131,9 +142,13 @@ updateFile() # file
131142
rm -f $1.OLD
132143
mv $1 $1.OLD
133144
cat $1.OLD | \
134-
sed -e "s@\(${copyright} [12][0-9][0-9][0-9],\) [12][0-9][0-9][0-9], ${company}@\1 ${year}, ${company}@" | \
135-
sed -e "s@\(${copyright} [12][0-9][0-9][0-9],\) ${company}@\1 ${year}, ${company}@" | \
136-
sed -e "s@${copyright} ${year}, ${year}, ${company}@${copyright} ${year}, ${company}@" \
145+
sed -e "s@\(${copyright} \(${copyright_symbol} \)\{0,1\}[12][0-9][0-9][0-9],\) [12][0-9][0-9][0-9], ${company}@\1 ${year}, ${company}@" | \
146+
sed -e "s@\(${copyright} \(${copyright_symbol} \)\{0,1\}[12][0-9][0-9][0-9],\) [12][0-9][0-9][0-9] ${company}@\1 ${year} ${company}@" | \
147+
sed -e "s@\(${copyright} \(${copyright_symbol} \)\{0,1\}[12][0-9][0-9][0-9],\) ${company}@\1 ${year}, ${company}@" | \
148+
sed -e "s@\(${copyright} \(${copyright_symbol} \)\{0,1\}[12][0-9][0-9][0-9],\) ${company}@\1, ${year}, ${company}@" | \
149+
sed -e "s@\(${copyright} \(${copyright_symbol} \)\{0,1\}[12][0-9][0-9][0-9]\) ${company}@\1, ${year} ${company}@" | \
150+
sed -e "s@${copyright} ${year}, ${year}, ${company}@${copyright} ${year}, ${company}@" | \
151+
sed -e "s@${copyright} ${copyright_symbol} ${year}, ${year}, ${company}@${copyright} ${copyright_symbol} ${year}, ${company}@" \
137152
> $1
138153
if ! diff -b -w $1.OLD $1 > /dev/null ; then \
139154
changed="true"
@@ -205,19 +220,19 @@ if [ -s ${all_changesets} ] ; then
205220
"${vcs_changeset_message[@]}" "${changeset}" > ${desc}
206221
printf "%d: %s\n%s\n" ${index} "${changeset}" "`cat ${desc}|head -1`"
207222
if [ "${year}" = "2010" ] ; then
208-
if cat ${desc} | fgrep -i "Added tag" > /dev/null ; then
223+
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
209224
printf " EXCLUDED tag changeset.\n"
210-
elif cat ${desc} | fgrep -i rebrand > /dev/null ; then
225+
elif cat ${desc} | grep -i -F rebrand > /dev/null ; then
211226
printf " EXCLUDED rebrand changeset.\n"
212-
elif cat ${desc} | fgrep -i copyright > /dev/null ; then
227+
elif cat ${desc} | grep -i -F copyright > /dev/null ; then
213228
printf " EXCLUDED copyright changeset.\n"
214229
else
215230
updateChangesetFiles ${changeset}
216231
fi
217232
else
218-
if cat ${desc} | fgrep -i "Added tag" > /dev/null ; then
233+
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
219234
printf " EXCLUDED tag changeset.\n"
220-
elif cat ${desc} | fgrep -i "copyright year" > /dev/null ; then
235+
elif cat ${desc} | grep -i -F "copyright year" > /dev/null ; then
221236
printf " EXCLUDED copyright year changeset.\n"
222237
else
223238
updateChangesetFiles ${changeset}

0 commit comments

Comments
 (0)