Skip to content

Commit 3b2b4b5

Browse files
Merge pull request #540 from dragonwell-project/wip_dragonwell_standard_squash_branch
Merge branch 'standard' into wip_dragonwell_standard_merge_branch
2 parents 9fda155 + 9de9341 commit 3b2b4b5

File tree

259 files changed

+14212
-4529
lines changed

Some content is hidden

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

259 files changed

+14212
-4529
lines changed

.github/workflows/submit.yml

Lines changed: 53 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
platforms:
1111
description: "Platform(s) to execute on"
1212
required: true
13-
default: "Linux x64, Linux x86, Windows x64, Windows x86, macOS x64"
13+
default: "Linux additional (hotspot only), Linux x64, Linux x86, Windows x64, Windows x86, macOS x64"
1414

1515
concurrency:
1616
group: ${{ github.workflow }}-${{ github.ref }}
@@ -23,7 +23,7 @@ jobs:
2323
outputs:
2424
should_run: ${{ steps.check_submit.outputs.should_run }}
2525
bundle_id: ${{ steps.check_bundle_id.outputs.bundle_id }}
26-
platform_linux_additional: false
26+
platform_linux_additional: ${{ steps.check_platforms.outputs.platform_linux_additional }}
2727
platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
2828
platform_linux_x86: ${{ steps.check_platforms.outputs.platform_linux_x86 }}
2929
platform_windows_x64: ${{ steps.check_platforms.outputs.platform_windows_x64 }}
@@ -117,7 +117,7 @@ jobs:
117117
name: Linux x64
118118
runs-on: "ubuntu-20.04"
119119
needs: prerequisites
120-
if: needs.prerequisites.outputs.should_run != 'false' && (needs.prerequisites.outputs.platform_linux_x64 != 'false' || needs.prerequisites.outputs.platform_linux_additional == 'true')
120+
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_x64 != 'false'
121121

122122
strategy:
123123
fail-fast: false
@@ -307,7 +307,6 @@ jobs:
307307
runs-on: "ubuntu-20.04"
308308
needs:
309309
- prerequisites
310-
- linux_x64_build
311310
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_additional != 'false'
312311

313312
strategy:
@@ -316,8 +315,8 @@ jobs:
316315
flavor:
317316
- hs x64 build only
318317
- hs x64 zero build only
319-
- hs x64 minimal build only
320-
- hs x64 optimized build only
318+
- hs x86 minimal build only
319+
- hs x86 client build only
321320
- hs aarch64 build only
322321
- hs arm build only
323322
- hs s390x build only
@@ -327,21 +326,23 @@ jobs:
327326
flags: --enable-debug --disable-precompiled-headers
328327
- flavor: hs x64 zero build only
329328
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
330-
- flavor: hs x64 minimal build only
331-
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=minimal
332-
- flavor: hs x64 optimized build only
333-
flags: --with-debug-level=optimized --disable-precompiled-headers
329+
- flavor: hs x86 minimal build only
330+
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=minimal1 --with-target-bits=32
331+
multilib: true
332+
- flavor: hs x86 client build only
333+
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=client --with-target-bits=32
334+
multilib: true
334335
- flavor: hs aarch64 build only
335336
flags: --enable-debug --disable-precompiled-headers
336337
debian-arch: arm64
337338
gnu-arch: aarch64
338339
- flavor: hs arm build only
339-
flags: --enable-debug --disable-precompiled-headers
340+
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
340341
debian-arch: armhf
341342
gnu-arch: arm
342343
gnu-flavor: eabihf
343344
- flavor: hs s390x build only
344-
flags: --enable-debug --disable-precompiled-headers
345+
flags: --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
345346
debian-arch: s390x
346347
gnu-arch: s390x
347348
- flavor: hs ppc64le build only
@@ -359,31 +360,6 @@ jobs:
359360
with:
360361
path: jdk
361362

362-
- name: Restore build JDK
363-
id: build_restore
364-
uses: actions/download-artifact@v3
365-
with:
366-
name: transient_jdk-linux-x64_${{ needs.prerequisites.outputs.bundle_id }}
367-
path: ~/jdk-linux-x64
368-
continue-on-error: true
369-
370-
- name: Restore build JDK (retry)
371-
uses: actions/download-artifact@v3
372-
with:
373-
name: transient_jdk-linux-x64_${{ needs.prerequisites.outputs.bundle_id }}
374-
path: ~/jdk-linux-x64
375-
if: steps.build_restore.outcome == 'failure'
376-
377-
- name: Unpack build JDK
378-
run: |
379-
mkdir -p "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
380-
tar -xf "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin.tar.gz" -C "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
381-
382-
- name: Find root of build JDK image dir
383-
run: |
384-
build_jdk_root=`find ${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin -name release -type f`
385-
echo "build_jdk_root=`dirname ${build_jdk_root}`" >> $GITHUB_ENV
386-
387363
- name: Update apt
388364
run: sudo apt-get update
389365

@@ -393,8 +369,17 @@ jobs:
393369
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9
394370
if: matrix.debian-arch == ''
395371

372+
- name: Install multilib dependencies
373+
run: |
374+
sudo dpkg --add-architecture i386
375+
sudo apt-get update
376+
sudo apt-get install --only-upgrade apt
377+
sudo apt-get install openjdk-8-jdk gcc-9-multilib g++-9-multilib libfreetype6-dev:i386 libxrandr-dev:i386 libxtst-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libcups2-dev:i386 libasound2-dev:i386
378+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9
379+
if: matrix.multilib != ''
380+
396381
- name: Install cross-compilation host dependencies
397-
run: sudo apt-get install gcc-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}} g++-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
382+
run: sudo apt-get install openjdk-8-jdk gcc-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}} g++-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
398383
if: matrix.debian-arch != ''
399384

400385
- name: Cache sysroot
@@ -414,7 +399,7 @@ jobs:
414399
sudo qemu-debootstrap
415400
--arch=${{ matrix.debian-arch }}
416401
--verbose
417-
--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
402+
--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,libffi-dev
418403
--resolve-deps
419404
buster
420405
~/sysroot-${{ matrix.debian-arch }}
@@ -439,19 +424,30 @@ jobs:
439424
echo "cross_flags=
440425
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
441426
--with-sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}/
427+
--with-cups=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
428+
--with-freetype-lib=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
429+
--with-freetype-include=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/include/freetype2
430+
--with-alsa=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
431+
--with-fontconfig=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
432+
" >> $GITHUB_ENV
433+
&& echo "cross_conf_env=
434+
CFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
435+
CXXFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
436+
LDFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
442437
" >> $GITHUB_ENV
443438
if: matrix.debian-arch != ''
444439

445440
- name: Configure
446441
run: >
442+
${{ env.cross_conf_env }}
447443
bash configure
448444
--with-conf-name=linux-${{ matrix.gnu-arch }}-hotspot
449445
${{ matrix.flags }}
450446
${{ env.cross_flags }}
451447
--with-user-release-suffix=${GITHUB_ACTOR}-${GITHUB_SHA}
452448
--with-build-number=b00
453449
--with-boot-jdk=${BOOT_JDK}
454-
--with-build-jdk=${{ env.build_jdk_root }}
450+
--disable-headful
455451
--with-zlib=bundled
456452
working-directory: jdk
457453

@@ -558,14 +554,14 @@ jobs:
558554
test:
559555
- jdk/tier1
560556
- langtools/tier1
561-
# - hotspot/tier1
557+
- hotspot/tier1
562558
include:
563559
- test: jdk/tier1
564560
suites: jdk_tier1
565561
- test: langtools/tier1
566562
suites: langtools_tier1
567-
# - test: hotspot/tier1
568-
# suites: hotspot_tier1
563+
- test: hotspot/tier1
564+
suites: hotspot_tier1
569565

570566
# Reduced 32-bit build uses the same boot JDK as 64-bit build
571567
env:
@@ -609,13 +605,21 @@ jobs:
609605
- name: Install dependencies
610606
run: |
611607
sudo apt-get update
612-
sudo apt-get install openjdk-8-jdk
608+
sudo apt-get install openjdk-8-jdk gcc-9-multilib g++-9-multilib
613609
614610
- name: Unpack jdk
615611
run: |
616612
mkdir -p "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}"
617613
tar -xf "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}"
618614
615+
- name: Build multilib docker image
616+
if: matrix.test == 'hotspot/tier1'
617+
run: >
618+
printf '%s\n%s\n'
619+
'FROM ubuntu:latest'
620+
'RUN dpkg --add-architecture i386 && apt-get update && apt-get -y install libc6:i386'
621+
| docker build -t 'ubuntu-multilib:latest' -
622+
619623
- name: Run tests
620624
run: >
621625
chmod +x "${HOME}/jtreg/bin/jtreg" &&
@@ -624,7 +628,7 @@ jobs:
624628
PRODUCT_HOME="${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}/j2sdk-image"
625629
JT_HOME="${HOME}/jtreg"
626630
ALT_OUTPUTDIR="${GITHUB_WORKSPACE}/test-results"
627-
JAVA_ARGS="-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"
631+
JAVA_ARGS="-Djdk.test.docker.image.name=ubuntu-multilib -Djdk.test.docker.image.version=latest"
628632
JTREG_TIMEOUT_FACTOR="4"
629633
make
630634
"${{ matrix.suites }}"
@@ -1177,14 +1181,14 @@ jobs:
11771181
test:
11781182
- jdk/tier1
11791183
- langtools/tier1
1180-
# - hotspot/tier1
1184+
- hotspot/tier1
11811185
include:
11821186
- test: jdk/tier1
11831187
suites: jdk_tier1
11841188
- test: langtools/tier1
11851189
suites: langtools_tier1
1186-
# - test: hotspot/tier1
1187-
# suites: hotspot_tier1
1190+
- test: hotspot/tier1
1191+
suites: hotspot_tier1
11881192

11891193
env:
11901194
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).JDK_MAJOR_VERSION }}.${{ fromJson(needs.prerequisites.outputs.dependencies).JDK_MINOR_VERSION }}.${{ fromJson(needs.prerequisites.outputs.dependencies).JDK_MICRO_VERSION }}"
@@ -1557,6 +1561,7 @@ jobs:
15571561
continue-on-error: true
15581562
needs:
15591563
- prerequisites
1564+
- linux_additional_build
15601565
- linux_x64_test
15611566
- linux_x86_test
15621567
- windows_x64_test

.jcheck/conf

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

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

common/autoconf/basics.m4

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,8 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
498498
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
499499
# Corresponds to --with-msvcr-dll
500500
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
501+
# Corresponds to --with-vcruntime-1-dll
502+
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VCRUNTIME_1_DLL])
501503
# Corresponds to --with-msvcp-dll
502504
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
503505
# Corresponds to --with-ucrt-dll-dir

common/autoconf/basics_windows.m4

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
113113
path="[$]$1"
114114
new_path=`$CYGPATH -u "$path"`
115115
116+
# preserve original basename
117+
original_basename=`$BASENAME "${new_path}"`
118+
116119
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
117120
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
118121
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
@@ -130,6 +133,14 @@ AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
130133
# If so, the updated path is stored in $new_path.
131134
BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$new_path])
132135
136+
# get basename after fixup
137+
fixed_basename=`$BASENAME "${new_path}"`
138+
139+
# if basename changed replace it with original value
140+
if test "x$original_basename" != "x$fixed_basename"; then
141+
new_path=`echo "${new_path}" | sed "s/${fixed_basename}$/${original_basename}/g"`
142+
fi
143+
133144
if test "x$path" != "x$new_path"; then
134145
$1="$new_path"
135146
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])

0 commit comments

Comments
 (0)