diff --git a/.github/actions/do-build/action.yml b/.github/actions/do-build/action.yml
index 3deb7f4b8f8..79eddf8c70f 100644
--- a/.github/actions/do-build/action.yml
+++ b/.github/actions/do-build/action.yml
@@ -66,7 +66,7 @@ runs:
shell: bash
- name: 'Upload build logs'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
@@ -74,7 +74,7 @@ runs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
- uses: actions/github-script@v6
+ uses: actions/github-script@v7
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'
diff --git a/.github/actions/get-bootjdk/action.yml b/.github/actions/get-bootjdk/action.yml
index 19c3a0128f4..25ee1d8dfa0 100644
--- a/.github/actions/get-bootjdk/action.yml
+++ b/.github/actions/get-bootjdk/action.yml
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -65,7 +65,7 @@ runs:
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}
@@ -104,6 +104,6 @@ runs:
- name: 'Export path to where BootJDK is installed'
id: path-name
run: |
- # Export the path
- echo 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
+ # Export the absolute path
+ echo "path=`pwd`/bootjdk/jdk" >> $GITHUB_OUTPUT
shell: bash
diff --git a/.github/actions/get-bundles/action.yml b/.github/actions/get-bundles/action.yml
index 956e1520cfb..0e52320a350 100644
--- a/.github/actions/get-bundles/action.yml
+++ b/.github/actions/get-bundles/action.yml
@@ -48,14 +48,14 @@ runs:
steps:
- name: 'Download bundles artifact'
id: download-bundles
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
diff --git a/.github/actions/get-jtreg/action.yml b/.github/actions/get-jtreg/action.yml
index 7c49b1054ec..b0ef654dbed 100644
--- a/.github/actions/get-jtreg/action.yml
+++ b/.github/actions/get-jtreg/action.yml
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -41,13 +41,13 @@ runs:
- name: 'Check cache for JTReg'
id: get-cached-jtreg
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
@@ -57,7 +57,7 @@ runs:
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
- bash make/build.sh --jdk "$JAVA_HOME_11_X64"
+ bash make/build.sh --jdk "$JAVA_HOME_17_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
diff --git a/.github/actions/get-msys2/action.yml b/.github/actions/get-msys2/action.yml
index 3e6c3417a31..843b77ac064 100644
--- a/.github/actions/get-msys2/action.yml
+++ b/.github/actions/get-msys2/action.yml
@@ -30,15 +30,15 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
- uses: msys2/setup-msys2@v2
+ uses: msys2/setup-msys2@v2.22.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
- location: msys2
+ location: ${{ runner.tool_cache }}/msys2
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
- echo "$env:GITHUB_WORKSPACE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
+ echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
shell: pwsh
diff --git a/.github/actions/upload-bundles/action.yml b/.github/actions/upload-bundles/action.yml
index 88f7f6e8107..b35ee3a42e9 100644
--- a/.github/actions/upload-bundles/action.yml
+++ b/.github/actions/upload-bundles/action.yml
@@ -69,7 +69,7 @@ runs:
shell: bash
- name: 'Upload bundles artifact'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
diff --git a/.github/scripts/gen-build-failure-report.sh b/.github/scripts/gen-build-failure-report.sh
index fd3215fc7fe..2dda69a3f33 100644
--- a/.github/scripts/gen-build-failure-report.sh
+++ b/.github/scripts/gen-build-failure-report.sh
@@ -24,12 +24,19 @@
# questions.
#
+# Import common utils
+. .github/scripts/report-utils.sh
+
GITHUB_STEP_SUMMARY="$1"
BUILD_DIR="$(ls -d build/*)"
# Send signal to the do-build action that we failed
touch "$BUILD_DIR/build-failure"
+# Collect hs_errs for build-time crashes, e.g. javac, jmod, jlink, CDS.
+# These usually land in make/
+hs_err_files=$(ls make/hs_err*.log 2> /dev/null || true)
+
(
echo '### :boom: Build failure summary'
echo ''
@@ -46,6 +53,20 @@ touch "$BUILD_DIR/build-failure"
echo ''
echo ''
+ for hs_err in $hs_err_files; do
+ echo "View HotSpot error log: "$hs_err"
"
+ echo ''
+ echo '```'
+ echo "$hs_err:"
+ echo ''
+ cat "$hs_err"
+ echo '```'
+ echo ' '
+ echo ''
+ done
+
echo ''
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
) >> $GITHUB_STEP_SUMMARY
+
+truncate_summary
diff --git a/.github/scripts/gen-test-results.sh b/.github/scripts/gen-test-results.sh
index 73edb8b3d11..16ee6581a6a 100644
--- a/.github/scripts/gen-test-results.sh
+++ b/.github/scripts/gen-test-results.sh
@@ -24,6 +24,9 @@
# questions.
#
+# Import common utils
+. .github/scripts/report-utils.sh
+
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
@@ -75,18 +78,6 @@ for test in $failures $errors; do
done >> $GITHUB_STEP_SUMMARY
-# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
-# Trim it down if so.
-summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
-if [[ $summary_size -gt 1000000 ]]; then
- # Trim to below 1024 kB, and cut off after the last detail group
- head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
- mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
- (
- echo ''
- echo ':x: **WARNING: Summary is too large and has been truncated.**'
- echo ''
- ) >> $GITHUB_STEP_SUMMARY
-fi
-
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY
+
+truncate_summary
diff --git a/.github/scripts/gen-test-summary.sh b/.github/scripts/gen-test-summary.sh
index d016cb38649..a612bed5527 100644
--- a/.github/scripts/gen-test-summary.sh
+++ b/.github/scripts/gen-test-summary.sh
@@ -42,6 +42,7 @@ error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
+ echo 'failure=true' >> $GITHUB_OUTPUT
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi
diff --git a/.github/scripts/report-utils.sh b/.github/scripts/report-utils.sh
new file mode 100644
index 00000000000..da5b6c04b3c
--- /dev/null
+++ b/.github/scripts/report-utils.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+function truncate_summary() {
+ # With large hs_errs, the summary can easily exceed 1024 kB, the limit set by Github
+ # Trim it down if so.
+ summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
+ if [[ $summary_size -gt 1000000 ]]; then
+ # Trim to below 1024 kB, and cut off after the last detail group
+ head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
+ mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
+ (
+ echo ''
+ echo ':x: **WARNING: Summary is too large and has been truncated.**'
+ echo ''
+ ) >> $GITHUB_STEP_SUMMARY
+ fi
+}
diff --git a/.github/workflows/build-cross-compile.yml b/.github/workflows/build-cross-compile.yml
index 168c5924d86..385b097b9fc 100644
--- a/.github/workflows/build-cross-compile.yml
+++ b/.github/workflows/build-cross-compile.yml
@@ -29,22 +29,22 @@ on:
workflow_call:
inputs:
gcc-major-version:
+ required: true
+ type: string
+ extra-conf-options:
required: false
type: string
- default: '10'
- apt-gcc-version:
+ configure-arguments:
required: false
type: string
- default: '10.3.0-1ubuntu1~20.04'
- apt-gcc-cross-suffix:
+ make-arguments:
required: false
type: string
- default: 'cross1'
jobs:
build-cross-compile:
name: build
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
strategy:
fail-fast: false
@@ -56,22 +56,30 @@ jobs:
- ppc64le
include:
- target-cpu: aarch64
- debian-arch: arm64
gnu-arch: aarch64
+ debian-arch: arm64
+ debian-repository: https://httpredir.debian.org/debian/
+ debian-version: bullseye
- target-cpu: arm
- debian-arch: armhf
gnu-arch: arm
+ debian-arch: armhf
+ debian-repository: https://httpredir.debian.org/debian/
+ debian-version: bullseye
gnu-abi: eabihf
- target-cpu: s390x
- debian-arch: s390x
gnu-arch: s390x
+ debian-arch: s390x
+ debian-repository: https://httpredir.debian.org/debian/
+ debian-version: bullseye
- target-cpu: ppc64le
- debian-arch: ppc64el
gnu-arch: powerpc64le
+ debian-arch: ppc64el
+ debian-repository: https://httpredir.debian.org/debian/
+ debian-version: bullseye
steps:
- name: 'Checkout the JDK source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
@@ -79,13 +87,6 @@ jobs:
with:
platform: linux-x64
- # Use linux-x64 JDK bundle as build JDK
- - name: 'Get build JDK'
- id: buildjdk
- uses: ./.github/actions/get-bundles
- with:
- platform: linux-x64
-
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
@@ -93,16 +94,16 @@ jobs:
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install \
- gcc-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
- g++-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
- gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
- g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
+ gcc-${{ inputs.gcc-major-version }} \
+ g++-${{ inputs.gcc-major-version }} \
+ gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
+ g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Check cache for sysroot'
id: get-cached-sysroot
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
@@ -113,14 +114,15 @@ jobs:
- name: 'Create sysroot'
run: >
- sudo qemu-debootstrap
+ sudo debootstrap
--arch=${{ matrix.debian-arch }}
--verbose
- --include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev
+ --include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype-dev,libpng-dev
--resolve-deps
- buster
+ --variant=minbase
+ ${{ matrix.debian-version }}
sysroot
- https://httpredir.debian.org/debian/
+ ${{ matrix.debian-repository }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
@@ -128,7 +130,10 @@ jobs:
# Prepare sysroot and remove unused files to minimize cache
sudo chroot sysroot symlinks -cr .
sudo chown ${USER} -R sysroot
- rm -rf sysroot/{dev,proc,run,sys}
+ rm -rf sysroot/{dev,proc,run,sys,var}
+ rm -rf sysroot/usr/{sbin,bin,share}
+ rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
+ rm -rf sysroot/usr/libexec/gcc
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
@@ -142,13 +147,16 @@ jobs:
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
- --with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
- CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-10
- CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-10
+ CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
+ CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
+ ${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
+ echo "Dumping config.log:" &&
+ cat config.log &&
+ exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
- make-target: 'hotspot'
+ make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}
diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml
index 7f981118e23..646ac5ed3a6 100644
--- a/.github/workflows/build-linux.yml
+++ b/.github/workflows/build-linux.yml
@@ -42,20 +42,30 @@ on:
required: false
type: string
default: '[ "debug", "release" ]'
- apt-gcc-version:
+ gcc-major-version:
required: true
type: string
+ gcc-package-suffix:
+ required: false
+ type: string
+ default: ''
apt-architecture:
required: false
type: string
apt-extra-packages:
required: false
type: string
+ configure-arguments:
+ required: false
+ type: string
+ make-arguments:
+ required: false
+ type: string
jobs:
build-linux:
name: build
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
strategy:
fail-fast: false
@@ -68,7 +78,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
@@ -97,8 +107,8 @@ jobs:
fi
sudo apt-get update
sudo apt-get install --only-upgrade apt
- sudo apt-get install gcc-${{ inputs.apt-gcc-version }} g++-${{ inputs.apt-gcc-version }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
+ sudo apt-get install gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Configure'
run: >
@@ -110,13 +120,16 @@ jobs:
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
- ${{ inputs.extra-conf-options }}
+ ${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
+ echo "Dumping config.log:" &&
+ cat config.log &&
+ exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
- make-target: '${{ inputs.make-target }}'
+ make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml
index b00f7e091dd..85f89eea8ac 100644
--- a/.github/workflows/build-macos.yml
+++ b/.github/workflows/build-macos.yml
@@ -45,11 +45,17 @@ on:
xcode-toolset-version:
required: true
type: string
+ configure-arguments:
+ required: false
+ type: string
+ make-arguments:
+ required: false
+ type: string
jobs:
build-macos:
name: build
- runs-on: macos-11
+ runs-on: macos-13
strategy:
fail-fast: false
@@ -62,7 +68,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
@@ -92,13 +98,17 @@ jobs:
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
- ${{ inputs.extra-conf-options }}
+ --disable-warnings-as-errors
+ ${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
+ echo "Dumping config.log:" &&
+ cat config.log &&
+ exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
- make-target: '${{ inputs.make-target }}'
+ make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml
index 090c1451a8e..b85feef030a 100644
--- a/.github/workflows/build-windows.yml
+++ b/.github/workflows/build-windows.yml
@@ -48,6 +48,12 @@ on:
msvc-toolset-architecture:
required: true
type: string
+ configure-arguments:
+ required: false
+ type: string
+ make-arguments:
+ required: false
+ type: string
env:
# These are needed to make the MSYS2 bash work properly
@@ -73,7 +79,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
@@ -119,17 +125,21 @@ jobs:
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
- ${{ inputs.extra-conf-options }}
+ ${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
+ echo "Dumping config.log:" &&
+ cat config.log &&
+ exit 1)
env:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
+ shell: env /usr/bin/bash --login -eo pipefail {0}
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
- make-target: '${{ inputs.make-target }}'
+ make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 77c3310c909..d2cbe9d55eb 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,6 +36,12 @@ on:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
+ configure-arguments:
+ description: 'Additional configure arguments'
+ required: false
+ make-arguments:
+ description: 'Additional make arguments'
+ required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -49,7 +55,7 @@ jobs:
select:
name: 'Select platforms'
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
@@ -121,9 +127,10 @@ jobs:
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
- apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
- # The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
- if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
+ gcc-major-version: '10'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
+ if: needs.select.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
@@ -131,12 +138,15 @@ jobs:
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
- apt-gcc-version: '10-multilib'
+ gcc-major-version: '10'
+ gcc-package-suffix: '-multilib'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
- apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
+ apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
extra-conf-options: '--with-target-bits=32'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
@@ -147,8 +157,10 @@ jobs:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
- apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
+ gcc-major-version: '10'
extra-conf-options: '--disable-precompiled-headers'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
@@ -159,8 +171,10 @@ jobs:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
- apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
+ gcc-major-version: '10'
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
@@ -171,8 +185,10 @@ jobs:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
- apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
+ gcc-major-version: '10'
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
@@ -184,16 +200,21 @@ jobs:
make-target: 'hotspot'
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
debug-levels: '[ "debug" ]'
- apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
+ gcc-major-version: '10'
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- - build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
+ with:
+ gcc-major-version: '10'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
@@ -202,7 +223,9 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
- xcode-toolset-version: '11.7'
+ xcode-toolset-version: '14.3.1'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
@@ -211,8 +234,10 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
- xcode-toolset-version: '12.4'
+ xcode-toolset-version: '14.3.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
@@ -223,6 +248,8 @@ jobs:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-aarch64:
@@ -235,6 +262,8 @@ jobs:
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
+ configure-arguments: ${{ github.event.inputs.configure-arguments }}
+ make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
###
@@ -249,7 +278,7 @@ jobs:
with:
platform: linux-x64
bootjdk-platform: linux-x64
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
test-linux-x64-fips:
name: linux-x64-fips
@@ -269,7 +298,7 @@ jobs:
with:
platform: linux-x86
bootjdk-platform: linux-x64
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
@@ -279,7 +308,7 @@ jobs:
with:
platform: macos-x64
bootjdk-platform: macos-x64
- runs-on: macos-11
+ runs-on: macos-13
test-windows-x64:
name: windows-x64
@@ -294,7 +323,7 @@ jobs:
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
@@ -314,26 +343,23 @@ jobs:
- test-windows-x64
steps:
- # Hack to get hold of the api environment variables that are only defined for actions
- - name: 'Get API configuration'
- id: api
- uses: actions/github-script@v6
- with:
- script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
-
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
- ALL_ARTIFACT_URLS="$(curl -s \
- -H 'Accept: application/json;api-version=6.0-preview' \
- -H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
- '${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
- BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
- for url in $BUNDLE_ARTIFACT_URLS; do
- echo "Removing $url"
- curl -s \
- -H 'Accept: application/json;api-version=6.0-preview' \
- -H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
- -X DELETE "$url" \
+ # See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
+ ALL_ARTIFACT_IDS="$(curl -sL \
+ -H 'Accept: application/vnd.github+json' \
+ -H 'Authorization: Bearer ${{ github.token }}' \
+ -H 'X-GitHub-Api-Version: 2022-11-28' \
+ '${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts?per_page=100')"
+ BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
+ for id in $BUNDLE_ARTIFACT_IDS; do
+ echo "Removing $id"
+ curl -sL \
+ -X DELETE \
+ -H 'Accept: application/vnd.github+json' \
+ -H 'Authorization: Bearer ${{ github.token }}' \
+ -H 'X-GitHub-Api-Version: 2022-11-28' \
+ "${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
|| echo "Failed to remove bundle"
done
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 7ac6708f9e0..c3560f2135c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -100,7 +100,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
@@ -127,7 +127,7 @@ jobs:
run: |
# On macOS we need to install some dependencies for testing
brew install make
- sudo xcode-select --switch /Applications/Xcode_11.7.app/Contents/Developer
+ sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
@@ -191,7 +191,7 @@ jobs:
if: always()
- name: 'Upload test results'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
@@ -199,7 +199,7 @@ jobs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
- uses: actions/github-script@v6
+ uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'
diff --git a/.gitignore b/.gitignore
index 2c9d161c742..96ba42d8cef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/build/
/dist/
/.idea/
+/.vscode/
nbproject/private/
/webrev
/.src-rev
diff --git a/.jcheck/conf b/.jcheck/conf
index 5b8b093c86f..868e54bc32e 100644
--- a/.jcheck/conf
+++ b/.jcheck/conf
@@ -1,10 +1,11 @@
[general]
project=jdk-updates
jbs=JDK
-version=11.0.21
+version=11.0.27
[checks]
-error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace
+error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
+warning=issuestitle,binary
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
@@ -29,3 +30,6 @@ role=committer
[checks "issues"]
pattern=^([124-8][0-9]{6}): (\S.*)$
+
+[checks "problemlists"]
+dirs=test/jdk|test/langtools|test/lib-test|test/hotspot/jtreg|test/jaxp
diff --git a/README.md b/README.md
index 399e7cc311f..9a3eb23b994 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,11 @@
-# Welcome to the JDK!
+# Welcome to OpenJDK 11 Updates!
+
+The JDK 11 Updates project uses two GitHub repositories.
+Updates are continuously developed in the repository [jdk11u-dev](https://github.com/openjdk/jdk11u-dev). This is the repository usually targeted by contributors.
+The [jdk11u](https://github.com/openjdk/jdk11u) repository is used for rampdown of the update releases of jdk11u and only accepts critical changes that must make the next release during rampdown. (You probably do not want to target jdk11u).
+
+For more OpenJDK 11 updates specific information such as timelines and contribution guidelines see the [project wiki page](https://wiki.openjdk.org/display/JDKUpdates/JDK11u).
+
For build instructions please see the
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000000..f4c5e7e67cb
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,3 @@
+# JDK Vulnerabilities
+
+Please follow the process outlined in the [OpenJDK Vulnerability Policy](https://openjdk.org/groups/vulnerability/report) to disclose vulnerabilities in the JDK.
diff --git a/doc/building.html b/doc/building.html
index 842e7fa9947..13ee9b7b6fc 100644
--- a/doc/building.html
+++ b/doc/building.html
@@ -175,26 +175,26 @@
Operating System Requirements
-| Linux |
-Oracle Enterprise Linux 6.4 / 7.1 (using kernel 3.8.13) |
+Linux |
+Oracle Enterprise Linux 6.4 / 7.1 (using kernel 3.8.13) |
-| Solaris |
-Solaris 11.1 SRU 21.4.1 / 11.2 SRU 5.5 |
+Solaris |
+Solaris 11.1 SRU 21.4.1 / 11.2 SRU 5.5 |
-| macOS |
-Mac OS X 10.9 (Mavericks) / 10.10 (Yosemite) |
+macOS |
+Mac OS X 10.9 (Mavericks) / 10.10 (Yosemite) |
-| Windows |
-Windows Server 2012 R2 |
+Windows |
+Windows Server 2012 R2 |
@@ -319,50 +319,50 @@ Oracle Solaris Studio
-| developer/solarisstudio-124/backend |
-12.4-1.0.6.0 |
+developer/solarisstudio-124/backend |
+12.4-1.0.6.0 |
-| developer/solarisstudio-124/c++ |
-12.4-1.0.10.0 |
+developer/solarisstudio-124/c++ |
+12.4-1.0.10.0 |
-| developer/solarisstudio-124/cc |
-12.4-1.0.4.0 |
+developer/solarisstudio-124/cc |
+12.4-1.0.4.0 |
-| developer/solarisstudio-124/library/c++-libs |
-12.4-1.0.10.0 |
+developer/solarisstudio-124/library/c++-libs |
+12.4-1.0.10.0 |
-| developer/solarisstudio-124/library/math-libs |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/library/math-libs |
+12.4-1.0.0.1 |
-| developer/solarisstudio-124/library/studio-gccrt |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/library/studio-gccrt |
+12.4-1.0.0.1 |
-| developer/solarisstudio-124/studio-common |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/studio-common |
+12.4-1.0.0.1 |
-| developer/solarisstudio-124/studio-ja |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/studio-ja |
+12.4-1.0.0.1 |
-| developer/solarisstudio-124/studio-legal |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/studio-legal |
+12.4-1.0.0.1 |
-| developer/solarisstudio-124/studio-zhCN |
-12.4-1.0.0.1 |
+developer/solarisstudio-124/studio-zhCN |
+12.4-1.0.0.1 |
@@ -746,103 +746,103 @@ Cross compiling with Debian sysroo
-| x86 |
-buster |
-i386 |
-i386-linux-gnu |
+x86 |
+buster |
+i386 |
+i386-linux-gnu |
(all) |
-| arm |
-buster |
-armhf |
-arm-linux-gnueabihf |
+arm |
+buster |
+armhf |
+arm-linux-gnueabihf |
(all) |
-| aarch64 |
-buster |
-arm64 |
-aarch64-linux-gnu |
+aarch64 |
+buster |
+arm64 |
+aarch64-linux-gnu |
(all) |
-| ppc64le |
-buster |
-ppc64el |
-powerpc64le-linux-gnu |
+ppc64le |
+buster |
+ppc64el |
+powerpc64le-linux-gnu |
(all) |
-| s390x |
-buster |
-s390x |
-s390x-linux-gnu |
+s390x |
+buster |
+s390x |
+s390x-linux-gnu |
(all) |
-| mipsle |
-buster |
-mipsel |
-mipsel-linux-gnu |
+mipsle |
+buster |
+mipsel |
+mipsel-linux-gnu |
zero |
-| mips64le |
-buster |
-mips64el |
-mips64el-linux-gnueabi64 |
+mips64le |
+buster |
+mips64el |
+mips64el-linux-gnueabi64 |
zero |
-| armel |
-buster |
-arm |
-arm-linux-gnueabi |
+armel |
+buster |
+arm |
+arm-linux-gnueabi |
zero |
-| ppc |
-sid |
-powerpc |
-powerpc-linux-gnu |
+ppc |
+sid |
+powerpc |
+powerpc-linux-gnu |
zero |
-| ppc64be |
-sid |
-ppc64 |
-powerpc64-linux-gnu |
+ppc64be |
+sid |
+ppc64 |
+powerpc64-linux-gnu |
(all) |
-| m68k |
-sid |
-m68k |
-m68k-linux-gnu |
+m68k |
+sid |
+m68k |
+m68k-linux-gnu |
zero |
-| alpha |
-sid |
-alpha |
-alpha-linux-gnu |
+alpha |
+sid |
+alpha |
+alpha-linux-gnu |
zero |
-| sh4 |
-sid |
-sh4 |
-sh4-linux-gnu |
+sh4 |
+sid |
+sh4 |
+sh4-linux-gnu |
zero |
diff --git a/doc/building.md b/doc/building.md
index 60d4d73a638..648be30b4af 100644
--- a/doc/building.md
+++ b/doc/building.md
@@ -151,12 +151,12 @@ This table lists the OS versions used by Oracle when building the JDK. Such
information is always subject to change, but this table is up to date at the
time of writing.
- Operating system Vendor/version used
- ----------------- -------------------------------------------------------
- Linux Oracle Enterprise Linux 6.4 / 7.1 (using kernel 3.8.13)
- Solaris Solaris 11.1 SRU 21.4.1 / 11.2 SRU 5.5
- macOS Mac OS X 10.9 (Mavericks) / 10.10 (Yosemite)
- Windows Windows Server 2012 R2
+| Operating system | Vendor/version used |
+| ----------------- | ------------------------------------------------------- |
+| Linux | Oracle Enterprise Linux 6.4 / 7.1 (using kernel 3.8.13) |
+| Solaris | Solaris 11.1 SRU 21.4.1 / 11.2 SRU 5.5 |
+| macOS | Mac OS X 10.9 (Mavericks) / 10.10 (Yosemite) |
+| Windows | Windows Server 2012 R2 |
The double version numbers for Linux, Solaris and macOS is due to the hybrid
model used at Oracle, where header files and external libraries from an older
@@ -363,18 +363,18 @@ configure.
The Solaris Studio installation should contain at least these packages:
- Package Version
- -------------------------------------------------- -------------
- developer/solarisstudio-124/backend 12.4-1.0.6.0
- developer/solarisstudio-124/c++ 12.4-1.0.10.0
- developer/solarisstudio-124/cc 12.4-1.0.4.0
- developer/solarisstudio-124/library/c++-libs 12.4-1.0.10.0
- developer/solarisstudio-124/library/math-libs 12.4-1.0.0.1
- developer/solarisstudio-124/library/studio-gccrt 12.4-1.0.0.1
- developer/solarisstudio-124/studio-common 12.4-1.0.0.1
- developer/solarisstudio-124/studio-ja 12.4-1.0.0.1
- developer/solarisstudio-124/studio-legal 12.4-1.0.0.1
- developer/solarisstudio-124/studio-zhCN 12.4-1.0.0.1
+| Package | Version |
+| -------------------------------------------------- | ------------- |
+| developer/solarisstudio-124/backend | 12.4-1.0.6.0 |
+| developer/solarisstudio-124/c++ | 12.4-1.0.10.0 |
+| developer/solarisstudio-124/cc | 12.4-1.0.4.0 |
+| developer/solarisstudio-124/library/c++-libs | 12.4-1.0.10.0 |
+| developer/solarisstudio-124/library/math-libs | 12.4-1.0.0.1 |
+| developer/solarisstudio-124/library/studio-gccrt | 12.4-1.0.0.1 |
+| developer/solarisstudio-124/studio-common | 12.4-1.0.0.1 |
+| developer/solarisstudio-124/studio-ja | 12.4-1.0.0.1 |
+| developer/solarisstudio-124/studio-legal | 12.4-1.0.0.1 |
+| developer/solarisstudio-124/studio-zhCN | 12.4-1.0.0.1 |
Compiling with Solaris Studio can sometimes be finicky. This is the exact
version used by Oracle, which worked correctly at the time of writing:
@@ -965,14 +965,14 @@ https://sourceware.org/autobook/autobook/autobook_17.html). If no
targets are given, a native toolchain for the current platform will be
created. Currently, at least the following targets are known to work:
- Supported devkit targets
- ------------------------
- x86_64-linux-gnu
- aarch64-linux-gnu
- arm-linux-gnueabihf
- ppc64-linux-gnu
- ppc64le-linux-gnu
- s390x-linux-gnu
+| Supported devkit targets |
+| ------------------------ |
+| x86_64-linux-gnu |
+| aarch64-linux-gnu |
+| arm-linux-gnueabihf |
+| ppc64-linux-gnu |
+| ppc64le-linux-gnu |
+| s390x-linux-gnu |
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
"Fedora" (if not specified "OEL6" will be the default). If the base OS
@@ -1199,21 +1199,21 @@ it might require a little nudge with:
Architectures that are known to successfully cross-compile like this are:
- Target Debian tree Debian arch `--openjdk-target=...` `--with-jvm-variants=...`
- ------------ ------------ ------------- ------------------------ --------------
- x86 buster i386 i386-linux-gnu (all)
- arm buster armhf arm-linux-gnueabihf (all)
- aarch64 buster arm64 aarch64-linux-gnu (all)
- ppc64le buster ppc64el powerpc64le-linux-gnu (all)
- s390x buster s390x s390x-linux-gnu (all)
- mipsle buster mipsel mipsel-linux-gnu zero
- mips64le buster mips64el mips64el-linux-gnueabi64 zero
- armel buster arm arm-linux-gnueabi zero
- ppc sid powerpc powerpc-linux-gnu zero
- ppc64be sid ppc64 powerpc64-linux-gnu (all)
- m68k sid m68k m68k-linux-gnu zero
- alpha sid alpha alpha-linux-gnu zero
- sh4 sid sh4 sh4-linux-gnu zero
+| Target | Debian tree | Debian arch | `--openjdk-target=...` | `--with-jvm-variants=...` |
+| ------------ | ------------ | ------------- | ------------------------ | ------------------------- |
+| x86 | buster | i386 | i386-linux-gnu | (all) |
+| arm | buster | armhf | arm-linux-gnueabihf | (all) |
+| aarch64 | buster | arm64 | aarch64-linux-gnu | (all) |
+| ppc64le | buster | ppc64el | powerpc64le-linux-gnu | (all) |
+| s390x | buster | s390x | s390x-linux-gnu | (all) |
+| mipsle | buster | mipsel | mipsel-linux-gnu | zero |
+| mips64le | buster | mips64el | mips64el-linux-gnueabi64 | zero |
+| armel | buster | arm | arm-linux-gnueabi | zero |
+| ppc | sid | powerpc | powerpc-linux-gnu | zero |
+| ppc64be | sid | ppc64 | powerpc64-linux-gnu | (all) |
+| m68k | sid | m68k | m68k-linux-gnu | zero |
+| alpha | sid | alpha | alpha-linux-gnu | zero |
+| sh4 | sid | sh4 | sh4-linux-gnu | zero |
### Building for ARM/aarch64
diff --git a/doc/testing.html b/doc/testing.html
index 96f7408650a..c3e8ca956b0 100644
--- a/doc/testing.html
+++ b/doc/testing.html
@@ -5,7 +5,7 @@
Testing the JDK
-