Skip to content

Commit 6326d7b

Browse files
Merge tag 'jdk-23+16' into labsjdk/automation-3-28-2024-1950
Added tag jdk-23+16 for changeset d580bcf
2 parents 060b415 + d580bcf commit 6326d7b

File tree

2,424 files changed

+53235
-48216
lines changed

Some content is hidden

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

2,424 files changed

+53235
-48216
lines changed

.github/workflows/build-cross-compile.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,27 +61,32 @@ jobs:
6161
debian-arch: arm64
6262
debian-repository: https://httpredir.debian.org/debian/
6363
debian-version: bullseye
64+
tolerate-sysroot-errors: false
6465
- target-cpu: arm
6566
gnu-arch: arm
6667
debian-arch: armhf
6768
debian-repository: https://httpredir.debian.org/debian/
6869
debian-version: bullseye
70+
tolerate-sysroot-errors: false
6971
gnu-abi: eabihf
7072
- target-cpu: s390x
7173
gnu-arch: s390x
7274
debian-arch: s390x
7375
debian-repository: https://httpredir.debian.org/debian/
7476
debian-version: bullseye
77+
tolerate-sysroot-errors: false
7578
- target-cpu: ppc64le
7679
gnu-arch: powerpc64le
7780
debian-arch: ppc64el
7881
debian-repository: https://httpredir.debian.org/debian/
7982
debian-version: bullseye
83+
tolerate-sysroot-errors: false
8084
- target-cpu: riscv64
8185
gnu-arch: riscv64
8286
debian-arch: riscv64
8387
debian-repository: https://httpredir.debian.org/debian/
8488
debian-version: sid
89+
tolerate-sysroot-errors: true
8590

8691
steps:
8792
- name: 'Checkout the JDK source'
@@ -93,13 +98,6 @@ jobs:
9398
with:
9499
platform: linux-x64
95100

96-
# Use linux-x64 JDK bundle as build JDK
97-
- name: 'Get build JDK'
98-
id: buildjdk
99-
uses: ./.github/actions/get-bundles
100-
with:
101-
platform: linux-x64
102-
103101
- name: 'Get GTest'
104102
id: gtest
105103
uses: ./.github/actions/get-gtest
@@ -130,6 +128,7 @@ jobs:
130128
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
131129

132130
- name: 'Create sysroot'
131+
id: create-sysroot
133132
run: >
134133
sudo debootstrap
135134
--arch=${{ matrix.debian-arch }}
@@ -140,6 +139,7 @@ jobs:
140139
${{ matrix.debian-version }}
141140
sysroot
142141
${{ matrix.debian-repository }}
142+
continue-on-error: ${{ matrix.tolerate-sysroot-errors }}
143143
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
144144

145145
- name: 'Prepare sysroot'
@@ -151,7 +151,12 @@ jobs:
151151
rm -rf sysroot/usr/{sbin,bin,share}
152152
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
153153
rm -rf sysroot/usr/libexec/gcc
154-
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
154+
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
155+
156+
- name: 'Remove broken sysroot'
157+
run: |
158+
sudo rm -rf sysroot/
159+
if: steps.create-sysroot.outcome != 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
155160

156161
- name: 'Configure'
157162
run: >
@@ -165,18 +170,19 @@ jobs:
165170
--disable-precompiled-headers
166171
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
167172
--with-sysroot=sysroot
168-
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
169173
--with-jmod-compress=zip-1
170174
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
171175
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
172176
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
173177
echo "Dumping config.log:" &&
174178
cat config.log &&
175179
exit 1)
180+
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'
176181

177182
- name: 'Build'
178183
id: build
179184
uses: ./.github/actions/do-build
180185
with:
181186
make-target: 'hotspot ${{ inputs.make-arguments }}'
182187
platform: linux-${{ matrix.target-cpu }}
188+
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'

.github/workflows/main.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,7 @@ jobs:
133133
gcc-major-version: '10'
134134
configure-arguments: ${{ github.event.inputs.configure-arguments }}
135135
make-arguments: ${{ github.event.inputs.make-arguments }}
136-
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
137-
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
136+
if: needs.select.outputs.linux-x64 == 'true'
138137

139138
build-linux-x86:
140139
name: linux-x86
@@ -214,7 +213,6 @@ jobs:
214213
name: linux-cross-compile
215214
needs:
216215
- select
217-
- build-linux-x64
218216
uses: ./.github/workflows/build-cross-compile.yml
219217
with:
220218
gcc-major-version: '10'

doc/building.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ <h3 id="clang">clang</h3>
613613
<p>To use clang instead of gcc on Linux, use
614614
<code>--with-toolchain-type=clang</code>.</p>
615615
<h3 id="apple-xcode">Apple Xcode</h3>
616-
<p>The oldest supported version of Xcode is 8.</p>
616+
<p>The oldest supported version of Xcode is 13.0.</p>
617617
<p>You will need the Xcode command line developer tools to be able to
618618
build the JDK. (Actually, <em>only</em> the command line tools are
619619
needed, not the IDE.) The simplest way to install these is to run:</p>

doc/building.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
420420

421421
### Apple Xcode
422422

423-
The oldest supported version of Xcode is 8.
423+
The oldest supported version of Xcode is 13.0.
424424

425425
You will need the Xcode command line developer tools to be able to build the
426426
JDK. (Actually, *only* the command line tools are needed, not the IDE.) The

make/CompileInterimLangtools.gmk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 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
@@ -105,7 +105,7 @@ define SetupInterimModule
105105
Standard.java, \
106106
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java \
107107
$($1.interim_EXTRA_FILES), \
108-
COPY := .gif .png .xml .css .svg .js .js.template .txt javax.tools.JavaCompilerTool, \
108+
COPY := .gif .png .xml .css .svg .js .js.template .txt .woff .woff2 javax.tools.JavaCompilerTool, \
109109
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
110110
DISABLED_WARNINGS := module options, \
111111
JAVAC_FLAGS := \

make/Main.gmk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,11 @@ else
931931
java.base-copy: build-hsdis
932932
endif
933933

934+
# On Windows, we need to copy tzmappings generated by gensrc
935+
ifeq ($(call isTargetOs, windows), true)
936+
java.base-copy: java.base-gensrc
937+
endif
938+
934939
# jdk.accessibility depends on java.desktop
935940
jdk.accessibility-libs: java.desktop-libs
936941

make/autoconf/lib-bundled.m4

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,13 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBJPEG],
6969
[ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
7070
7171
USE_EXTERNAL_LIBJPEG=true
72+
LIBJPEG_LIBS="-ljpeg"
7273
else
7374
AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
7475
fi
7576
7677
AC_SUBST(USE_EXTERNAL_LIBJPEG)
78+
AC_SUBST(LIBJPEG_LIBS)
7779
])
7880

7981
################################################################################
@@ -102,11 +104,13 @@ AC_DEFUN_ONCE([LIB_SETUP_GIFLIB],
102104
[ AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])])
103105
104106
USE_EXTERNAL_LIBGIF=true
107+
GIFLIB_LIBS=-lgif
105108
else
106109
AC_MSG_ERROR([Invalid value of --with-giflib: ${with_giflib}, use 'system' or 'bundled'])
107110
fi
108111
109112
AC_SUBST(USE_EXTERNAL_LIBGIF)
113+
AC_SUBST(GIFLIB_LIBS)
110114
])
111115

112116
################################################################################

make/autoconf/libraries.m4

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 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
@@ -171,13 +171,11 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
171171
LIB_SETUP_JVM_LIBS(TARGET)
172172
173173
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
174-
JDKEXE_LIBS=""
175174
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
176175
OPENJDK_BUILD_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
177176
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
178177
179178
AC_SUBST(JDKLIB_LIBS)
180-
AC_SUBST(JDKEXE_LIBS)
181179
AC_SUBST(JVM_LIBS)
182180
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
183181
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)

make/autoconf/spec.gmk.template

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,6 @@ JDKLIB_LIBS := @JDKLIB_LIBS@
559559

560560
# LDFLAGS used to link the jdk native launchers (C-code)
561561
LDFLAGS_JDKEXE := @LDFLAGS_JDKEXE@
562-
JDKEXE_LIBS := @JDKEXE_LIBS@
563562

564563
# LDFLAGS specific to C++ linking.
565564
LDFLAGS_CXX_JDK := @LDFLAGS_CXX_JDK@
@@ -796,7 +795,9 @@ TAR_SUPPORTS_TRANSFORM := @TAR_SUPPORTS_TRANSFORM@
796795

797796
# Build setup
798797
USE_EXTERNAL_LIBJPEG := @USE_EXTERNAL_LIBJPEG@
798+
LIBJPEG_LIBS := @LIBJPEG_LIBS@
799799
USE_EXTERNAL_LIBGIF := @USE_EXTERNAL_LIBGIF@
800+
GIFLIB_LIBS := @GIFLIB_LIBS@
800801
USE_EXTERNAL_LIBZ := @USE_EXTERNAL_LIBZ@
801802
LIBZ_CFLAGS := @LIBZ_CFLAGS@
802803
LIBZ_LIBS := @LIBZ_LIBS@

make/common/JdkNativeCompilation.gmk

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,11 @@ define SetupJdkLibraryBody
187187
# Add the module specific java header dir
188188
$1_SRC_HEADER_FLAGS += $$(addprefix -I, $$(call GetJavaHeaderDir, $$(MODULE)))
189189

190+
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
191+
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
192+
# Prepend JDK libs before external libs
193+
$1_LIBS := $$($1_JDK_LIBS) $$($1_LIBS)
194+
190195
ifneq ($$($1_EXTRA_HEADER_DIRS), )
191196
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
192197
$$(call ProcessDir, $$(dir)))
@@ -261,6 +266,19 @@ define SetupJdkExecutableBody
261266
$1_LIBS += $(LIBCXX)
262267
endif
263268

269+
ifeq ($$($1_SRC), )
270+
ifneq ($$(MODULE), )
271+
$1_SRC := $$(call FindSrcDirsForComponent, $$(MODULE), $$($1_NAME))
272+
else
273+
$$(error Must specify SRC in a MODULE free context)
274+
endif
275+
else
276+
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessDir, $$(dir)))
277+
endif
278+
ifneq ($$($1_EXTRA_SRC), )
279+
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessDir, $$(dir)))
280+
endif
281+
264282
ifeq ($$($1_VERSIONINFO_RESOURCE), )
265283
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
266284
endif
@@ -273,6 +291,21 @@ define SetupJdkExecutableBody
273291
-I$(TOPDIR)/src/java.base/windows/native/common \
274292
$$($1_EXTRA_RCFLAGS)
275293

294+
ifneq ($$($1_HEADERS_FROM_SRC), false)
295+
$1_SRC_HEADER_FLAGS := $$(addprefix -I, $$(wildcard $$($1_SRC)))
296+
endif
297+
298+
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
299+
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
300+
# Prepend JDK libs before external libs
301+
$1_LIBS := $$($1_JDK_LIBS) $$($1_LIBS)
302+
303+
ifneq ($$($1_EXTRA_HEADER_DIRS), )
304+
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
305+
$$(call ProcessDir, $$(dir)))
306+
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
307+
endif
308+
276309
ifneq ($$($1_DEFAULT_CFLAGS), false)
277310
# Set the default flags first to be able to override
278311
$1_CFLAGS := $$(filter-out $$($1_CFLAGS_FILTER_OUT), $$(CFLAGS_JDKEXE)) $$($1_CFLAGS)
@@ -281,6 +314,16 @@ define SetupJdkExecutableBody
281314
$1_CXXFLAGS := $$(filter-out $$($1_CXXFLAGS_FILTER_OUT), $$(CXXFLAGS_JDKEXE)) $$($1_CXXFLAGS)
282315
endif
283316

317+
ifneq ($$($1_CFLAGS), )
318+
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
319+
endif
320+
ifneq ($$($1_CXXFLAGS), )
321+
$1_CXXFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
322+
endif
323+
ifeq ($$($1_CFLAGS)$$($1_CXXFLAGS), )
324+
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
325+
endif
326+
284327
ifneq ($$($1_DEFAULT_LDFLAGS), false)
285328
# Set the default flags first to be able to override
286329
$1_LDFLAGS := $$(filter-out $$($1_LDFLAGS_FILTER_OUT), $$(LDFLAGS_JDKEXE)) $$($1_LDFLAGS)

0 commit comments

Comments
 (0)