Cleanup architecture and JVM feature handling in preparation for using upstreamed Shenandoah.
This commit is contained in:
parent
952bfa78b2
commit
d76f241e65
@ -79,14 +79,32 @@
|
|||||||
# we need to distinguish between big and little endian PPC64
|
# we need to distinguish between big and little endian PPC64
|
||||||
%global ppc64le ppc64le
|
%global ppc64le ppc64le
|
||||||
%global ppc64be ppc64 ppc64p7
|
%global ppc64be ppc64 ppc64p7
|
||||||
|
# Set of architectures which support multiple ABIs
|
||||||
%global multilib_arches %{power64} sparc64 x86_64
|
%global multilib_arches %{power64} sparc64 x86_64
|
||||||
%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} s390x
|
# Set of architectures for which we build debug builds
|
||||||
|
%global debug_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
|
||||||
|
# Set of architectures with a Just-In-Time (JIT) compiler
|
||||||
|
%global jit_arches %{debug_arches} %{arm}
|
||||||
|
# Set of architectures which run a full bootstrap cycle
|
||||||
|
%global bootstrap_arches %{jit_arches}
|
||||||
|
# Set of architectures which support SystemTap tapsets
|
||||||
|
%global systemtap_arches %{jit_arches}
|
||||||
|
# Set of architectures with a Ahead-Of-Time (AOT) compiler
|
||||||
%global aot_arches x86_64 %{aarch64}
|
%global aot_arches x86_64 %{aarch64}
|
||||||
|
# Set of architectures which support the serviceability agent
|
||||||
|
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
|
||||||
|
# Set of architectures which support class data sharing
|
||||||
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
|
||||||
|
# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
|
||||||
|
%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
|
||||||
|
# Set of architectures for which we build the Shenandoah garbage collector
|
||||||
|
%global shenandoah_arches x86_64 %{aarch64}
|
||||||
|
# Set of architectures for which we build the Z garbage collector
|
||||||
|
%global zgc_arches x86_64
|
||||||
|
|
||||||
# By default, we build a debug build during main build on JIT architectures
|
# By default, we build a debug build during main build on JIT architectures
|
||||||
%if %{with slowdebug}
|
%if %{with slowdebug}
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{debug_arches}
|
||||||
%ifnarch %{arm}
|
|
||||||
%global include_debug_build 1
|
%global include_debug_build 1
|
||||||
%else
|
%else
|
||||||
%global include_debug_build 0
|
%global include_debug_build 0
|
||||||
@ -94,15 +112,23 @@
|
|||||||
%else
|
%else
|
||||||
%global include_debug_build 0
|
%global include_debug_build 0
|
||||||
%endif
|
%endif
|
||||||
%else
|
|
||||||
%global include_debug_build 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# On x86_64 and AArch64, we use the Shenandoah HotSpot
|
# On certain architectures, we compile the Shenandoah GC
|
||||||
%ifarch x86_64 %{aarch64}
|
%ifarch %{shenandoah_arches}
|
||||||
%global use_shenandoah_hotspot 1
|
%global use_shenandoah_hotspot 1
|
||||||
|
%global shenandoah_feature shenandoahgc
|
||||||
%else
|
%else
|
||||||
%global use_shenandoah_hotspot 0
|
%global use_shenandoah_hotspot 0
|
||||||
|
%global shenandoah_feature -shenandoahgc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# On certain architectures, we compile the ZGC
|
||||||
|
%ifarch %{zgc_arches}
|
||||||
|
%global use_zgc_hotspot 1
|
||||||
|
%global zgc_feature zgc
|
||||||
|
%else
|
||||||
|
%global use_zgc_hotspot 0
|
||||||
|
%global zgc_feature -zgc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{include_debug_build}
|
%if %{include_debug_build}
|
||||||
@ -117,7 +143,7 @@
|
|||||||
# is expected in one single case at the end of the build
|
# is expected in one single case at the end of the build
|
||||||
%global rev_build_loop %{build_loop2} %{build_loop1}
|
%global rev_build_loop %{build_loop2} %{build_loop1}
|
||||||
|
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{bootstrap_arches}
|
||||||
%global bootstrap_build 1
|
%global bootstrap_build 1
|
||||||
%else
|
%else
|
||||||
%global bootstrap_build 1
|
%global bootstrap_build 1
|
||||||
@ -198,7 +224,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{systemtap_arches}
|
||||||
%global with_systemtap 1
|
%global with_systemtap 1
|
||||||
%else
|
%else
|
||||||
%global with_systemtap 0
|
%global with_systemtap 0
|
||||||
@ -233,7 +259,7 @@
|
|||||||
%global top_level_dir_name %{origin}
|
%global top_level_dir_name %{origin}
|
||||||
%global minorver 0
|
%global minorver 0
|
||||||
%global buildver 1
|
%global buildver 1
|
||||||
%global rpmrelease 1
|
%global rpmrelease 2
|
||||||
#%%global tagsuffix ""
|
#%%global tagsuffix ""
|
||||||
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
|
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
|
||||||
%if %is_system_jdk
|
%if %is_system_jdk
|
||||||
@ -349,13 +375,9 @@ exit 0
|
|||||||
|
|
||||||
|
|
||||||
%define post_headless() %{expand:
|
%define post_headless() %{expand:
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{share_arches}
|
||||||
# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
|
|
||||||
%ifnarch %{ppc64le}
|
|
||||||
# see https://bugzilla.redhat.com/show_bug.cgi?id=513605
|
|
||||||
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
|
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
PRIORITY=%{priority}
|
PRIORITY=%{priority}
|
||||||
if [ "%{?1}" == %{debug_suffix} ]; then
|
if [ "%{?1}" == %{debug_suffix} ]; then
|
||||||
@ -445,10 +467,8 @@ alternatives \\
|
|||||||
%endif
|
%endif
|
||||||
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
|
||||||
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{sa_arches}
|
||||||
%ifnarch s390x
|
|
||||||
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
|
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
|
||||||
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
||||||
@ -640,12 +660,10 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
|
||||||
# Zero and S390x don't have SA
|
# Some architectures don't have the serviceability agent
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{sa_arches}
|
||||||
%ifnarch s390x
|
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
|
||||||
@ -662,11 +680,9 @@ exit 0
|
|||||||
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
||||||
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
|
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{share_arches}
|
||||||
%ifnarch %{power64}
|
|
||||||
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
|
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
%dir %{etcjavasubdir}
|
%dir %{etcjavasubdir}
|
||||||
%dir %{etcjavadir -- %{?1}}
|
%dir %{etcjavadir -- %{?1}}
|
||||||
%dir %{etcjavadir -- %{?1}}/lib
|
%dir %{etcjavadir -- %{?1}}/lib
|
||||||
@ -731,12 +747,10 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
|
||||||
# Zero and S390x don't have SA
|
# Some architectures don't have the serviceability agent
|
||||||
%ifarch %{jit_arches}
|
%ifarch %{sa_arches}
|
||||||
%ifnarch s390x
|
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
|
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
|
||||||
@ -1508,9 +1522,7 @@ bash ../configure \
|
|||||||
--with-extra-ldflags="%{ourldflags}" \
|
--with-extra-ldflags="%{ourldflags}" \
|
||||||
--with-num-cores="$NUM_PROC" \
|
--with-num-cores="$NUM_PROC" \
|
||||||
--disable-javac-server \
|
--disable-javac-server \
|
||||||
%ifarch x86_64
|
--with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
|
||||||
--with-jvm-features=zgc \
|
|
||||||
%endif
|
|
||||||
--disable-warnings-as-errors
|
--disable-warnings-as-errors
|
||||||
|
|
||||||
# Debug builds don't need same targets as release for
|
# Debug builds don't need same targets as release for
|
||||||
@ -1950,6 +1962,9 @@ require "copy_jdk_configs.lua"
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.2.ea
|
||||||
|
- Cleanup architecture and JVM feature handling in preparation for using upstreamed Shenandoah.
|
||||||
|
|
||||||
* Sun Aug 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.1.ea
|
* Sun Aug 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.1.ea
|
||||||
- Update to shenandoah-jdk-11.0.9+1 (EA)
|
- Update to shenandoah-jdk-11.0.9+1 (EA)
|
||||||
- Switch to EA mode for 11.0.9 pre-release builds.
|
- Switch to EA mode for 11.0.9 pre-release builds.
|
||||||
|
Loading…
Reference in New Issue
Block a user