Skip to content

Commit 0560ff0

Browse files
committed
Merge remote-tracking branch 'upstream/master' into dragonwell
Summary: Merge upstream code Testing: CICD Reviewers: kuaiwei, yuleil Issue: #225
2 parents de33ea0 + 9ba9b67 commit 0560ff0

328 files changed

Lines changed: 10893 additions & 6444 deletions

File tree

Some content is hidden

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

.github/workflows/build-macos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ on:
5555
jobs:
5656
build-macos:
5757
name: build
58-
runs-on: macos-13
58+
runs-on: macos-15-intel
5959

6060
strategy:
6161
fail-fast: false
@@ -84,7 +84,7 @@ jobs:
8484
run: |
8585
# Run Homebrew installation and xcode-select
8686
brew install make
87-
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
87+
sudo xcode-select --switch /Applications/Xcode_16.4.app/Contents/Developer
8888
# This will make GNU make available as 'make' and not only as 'gmake'
8989
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
9090

.github/workflows/main.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,37 @@ jobs:
8686
gcc-major-version: '10'
8787
configure-arguments: ${{ github.event.inputs.configure-arguments }}
8888
make-arguments: ${{ github.event.inputs.make-arguments }}
89+
<<<<<<< HEAD
8990
extra-conf-options: --with-default-make-target="product-bundles test-bundles" --with-jvm-features=shenandoahgc
9091
make-target: CONF_NAME=linux-aarch64
9192
runs-on: '["self-hosted", "ARM64"]'
9293
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_aarch64 != 'false'
94+
=======
95+
if: needs.select.outputs.linux-cross-compile == 'true'
96+
97+
build-macos-x64:
98+
name: macos-x64
99+
needs: select
100+
uses: ./.github/workflows/build-macos.yml
101+
with:
102+
platform: macos-x64
103+
xcode-toolset-version: '16.4'
104+
configure-arguments: ${{ github.event.inputs.configure-arguments }}
105+
make-arguments: ${{ github.event.inputs.make-arguments }}
106+
if: needs.select.outputs.macos-x64 == 'true'
107+
108+
build-macos-aarch64:
109+
name: macos-aarch64
110+
needs: select
111+
uses: ./.github/workflows/build-macos.yml
112+
with:
113+
platform: macos-aarch64
114+
xcode-toolset-version: '16.4'
115+
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
116+
configure-arguments: ${{ github.event.inputs.configure-arguments }}
117+
make-arguments: ${{ github.event.inputs.make-arguments }}
118+
if: needs.select.outputs.macos-aarch64 == 'true'
119+
>>>>>>> merge_repo/master
93120

94121
build-windows-x64:
95122
name: windows-x64
@@ -138,9 +165,25 @@ jobs:
138165
- build-linux-aarch64
139166
uses: ./.github/workflows/test.yml
140167
with:
168+
<<<<<<< HEAD
141169
platform: linux-aarch64
142170
bootjdk-platform: linux-aarch64
143171
runs-on: '["self-hosted", "ARM64"]'
172+
=======
173+
platform: linux-x86
174+
bootjdk-platform: linux-x64
175+
runs-on: ubuntu-22.04
176+
177+
test-macos-x64:
178+
name: macos-x64
179+
needs:
180+
- build-macos-x64
181+
uses: ./.github/workflows/test.yml
182+
with:
183+
platform: macos-x64
184+
bootjdk-platform: macos-x64
185+
runs-on: macos-15-intel
186+
>>>>>>> merge_repo/master
144187

145188
test-windows-x64:
146189
name: windows-x64
@@ -152,6 +195,7 @@ jobs:
152195
bootjdk-platform: windows-x64
153196
runs-on: '"windows-2025"'
154197

198+
<<<<<<< HEAD
155199
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
156200
remove-bundles:
157201
name: 'Remove bundle artifacts'
@@ -186,3 +230,5 @@ jobs:
186230
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
187231
|| echo "Failed to remove bundle"
188232
done
233+
=======
234+
>>>>>>> merge_repo/master

.github/workflows/test.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,18 @@ jobs:
169169
run: |
170170
# On macOS we need to install some dependencies for testing
171171
brew install make
172-
sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
172+
sudo xcode-select --switch /Applications/Xcode_16.4.app/Contents/Developer
173173
# This will make GNU make available as 'make' and not only as 'gmake'
174174
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
175175
if: runner.os == 'macOS' && steps.check_if_run.outputs.should_run != 'false'
176176

177+
# Fixes JDK-8336451
178+
- name: 'Update /etc/hosts on macos'
179+
run: |
180+
echo -e "127.0.0.1 $(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
181+
echo -e "" | sudo tee -a /etc/hosts
182+
if: runner.os == 'macOS'
183+
177184
- name: 'Set PATH'
178185
id: path
179186
run: |

.jcheck/conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[general]
22
project=jdk-updates
33
jbs=JDK
4-
version=11.0.29
4+
version=11.0.31
55

66
[checks]
77
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists

doc/building.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,10 @@ <h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requ
296296
</tr>
297297
</tbody>
298298
</table>
299+
<p>All compilers are expected to be able to compile to the C99 language standard,
300+
as some C99 features are used in the source code. Microsoft Visual Studio
301+
doesn't fully support C99 so in practice shared code is limited to using C99
302+
features that it does support.</p>
299303
<h3 id="gcc">gcc</h3>
300304
<p>The minimum accepted version of gcc is 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
301305
<p>The JDK is currently known to be able to compile with at least version 7.4 of gcc.</p>

doc/building.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ issues.
313313
| Solaris | Oracle Solaris Studio 12.4 (with compiler version 5.13) |
314314
| Windows | Microsoft Visual Studio 2017 update 15.9.16 |
315315

316+
All compilers are expected to be able to compile to the C99 language standard,
317+
as some C99 features are used in the source code. Microsoft Visual Studio
318+
doesn't fully support C99 so in practice shared code is limited to using C99
319+
features that it does support.
320+
316321
### gcc
317322

318323
The minimum accepted version of gcc is 4.8. Older versions will generate a warning

make/CompileJavaModules.gmk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,11 @@ endif
649649

650650
ifneq ($(wildcard $(IMPORT_MODULE_DIR)), )
651651
$(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
652+
<<<<<<< HEAD
652653
$(call CacheFind, $(IMPORT_MODULE_DIR))
654+
=======
655+
$(call FindFiles, $(IMPORT_MODULE_DIR))
656+
>>>>>>> merge_repo/master
653657
$(call MakeDir, $(@D))
654658
# Do not delete marker and build meta data files
655659
$(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))

make/autoconf/flags-cflags.m4

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
563563
TOOLCHAIN_CFLAGS="-errshort=tags"
564564
565565
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
566-
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
566+
TOOLCHAIN_CFLAGS_JDK_CONLY="-W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
567567
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
568568
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
569569
-library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
@@ -584,6 +584,30 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
584584
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
585585
fi
586586
587+
# CFLAGS C language level for JDK sources (hotspot only uses C++)
588+
# Ideally we would have a common level across all toolchains so that all sources
589+
# are sure to conform to the same standard. Unfortunately neither our sources nor
590+
# our toolchains are in a condition to support that. But what we loosely aim for is
591+
# C99 level.
592+
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
593+
# This raises the language level for older 4.8 gcc, while lowering it for later
594+
# versions. clang and xlclang support the same flag.
595+
LANGSTD_CFLAGS="-std=c99"
596+
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
597+
# We can't turn on -std=c99 without breaking compilation of the splashscreen/png
598+
# utilities. But we can enable c99 as below (previously achieved by using -Xa).
599+
# It is the no_lib that makes the difference.
600+
LANGSTD_CFLAGS="-xc99=all,no_lib"
601+
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
602+
# MSVC doesn't support C99/C11 explicitly, unless you compile as C++:
603+
# LANGSTD_CFLAGS="/TP"
604+
# but that requires numerous changes to the sources files. So we are limited
605+
# to C89/C90 plus whatever extensions Visual Studio has decided to implement.
606+
# This is the lowest bar for shared code.
607+
LANGSTD_CFLAGS=""
608+
fi
609+
TOOLCHAIN_CFLAGS_JDK_CONLY="$LANGSTD_CFLAGS $TOOLCHAIN_CFLAGS_JDK_CONLY"
610+
587611
# CFLAGS WARNINGS STUFF
588612
# Set JVM_CFLAGS warning handling
589613
if test "x$TOOLCHAIN_TYPE" = xgcc; then

make/autoconf/flags.m4

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2023, 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
@@ -114,16 +114,12 @@ AC_DEFUN([FLAGS_SETUP_MACOSX_VERSION],
114114
# The expected format for <version> is either nn.n.n or nn.nn.nn. See
115115
# /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h
116116
117-
# MACOSX_VERSION_MIN specifies the lowest version of Macosx that the built
117+
# MACOSX_VERSION_MIN specifies the lowest version of macOS that the built
118118
# binaries should be compatible with, even if compiled on a newer version
119119
# of the OS. It currently has a hard coded value. Setting this also limits
120120
# exposure to API changes in header files. Bumping this is likely to
121121
# require code changes to build.
122-
if test "x$OPENJDK_TARGET_CPU_ARCH" = xaarch64; then
123-
MACOSX_VERSION_MIN=11.00.00
124-
else
125-
MACOSX_VERSION_MIN=10.12.0
126-
fi
122+
MACOSX_VERSION_MIN=11.00.00
127123
MACOSX_VERSION_MIN_NODOTS=${MACOSX_VERSION_MIN//\./}
128124
129125
AC_SUBST(MACOSX_VERSION_MIN)

make/autoconf/version-numbers

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@
2828

2929
DEFAULT_VERSION_FEATURE=11
3030
DEFAULT_VERSION_INTERIM=0
31-
DEFAULT_VERSION_UPDATE=29
31+
DEFAULT_VERSION_UPDATE=31
3232
DEFAULT_VERSION_PATCH=0
3333
DEFAULT_VERSION_EXTRA1=0
3434
DEFAULT_VERSION_EXTRA2=0
3535
DEFAULT_VERSION_EXTRA3=0
36-
DEFAULT_VERSION_DATE=2025-10-21
36+
DEFAULT_VERSION_DATE=2026-04-21
3737
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
3838
DEFAULT_VERSION_CLASSFILE_MINOR=0
3939
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
40-
DEFAULT_PROMOTED_VERSION_PRE=
40+
DEFAULT_PROMOTED_VERSION_PRE=ea
4141

4242
LAUNCHER_NAME=openjdk
4343
PRODUCT_NAME=OpenJDK

0 commit comments

Comments
 (0)