Merge ~vpa1977/ubuntu/+source/openjdk-lts:sr-20230117 into ubuntu/+source/openjdk-lts:ubuntu/devel

Proposed by Vladimir Petko
Status: Merged
Merge reported by: Vladimir Petko
Merged at revision: 6737fed666684d5e49f0618a13a23ed4b98b0e9a
Proposed branch: ~vpa1977/ubuntu/+source/openjdk-lts:sr-20230117
Merge into: ubuntu/+source/openjdk-lts:ubuntu/devel
Diff against target: 41501 lines (+17872/-4729)
621 files modified
debian/changelog (+13/-0)
debian/patches/adlc-parser.diff (+15/-5)
debian/patches/generated-headers.patch (+2/-2)
debian/patches/hotspot-disable-exec-shield-workaround.diff (+1/-1)
debian/patches/hotspot-libpath.diff (+2/-2)
debian/patches/hotspot-mips-align.diff (+1/-3)
debian/patches/hotspot-test-fix-npe-on-missing-file.patch (+1/-1)
debian/patches/jaw-classpath.diff (+1/-1)
debian/patches/jtreg-location.diff (+5/-5)
debian/patches/machine-flag.diff (+2/-2)
debian/patches/multiple-pkcs11-library-init.diff (+3/-3)
debian/patches/reproducible-build-jmod.diff (+2/-2)
debian/patches/reproducible-build-user.diff (+5/-5)
debian/patches/reproducible-character-data.diff (+5/-4)
debian/patches/reproducible-properties-timestamp.diff (+2/-2)
debian/patches/riscv64.diff (+3/-3)
debian/patches/s390x-opt.diff (+1/-1)
debian/patches/s390x-thread-stack-size.diff (+16/-16)
debian/patches/series (+0/-6)
debian/patches/system-pcsclite.diff (+9/-9)
debian/patches/workaround_expand_exec_shield_cs_limit.diff (+1/-1)
debian/patches/zero-x32.diff (+3/-3)
debian/rules (+2/-2)
debian/watch (+1/-1)
dev/null (+0/-8)
doc/building.html (+4/-1)
doc/building.md (+15/-4)
make/CreateJmods.gmk (+5/-0)
make/GenerateLinkOptData.gmk (+2/-2)
make/InterimImage.gmk (+2/-2)
make/RunTests.gmk (+5/-10)
make/RunTestsPrebuilt.gmk (+1/-8)
make/RunTestsPrebuiltSpec.gmk (+1/-4)
make/TestImage.gmk (+3/-10)
make/autoconf/basic.m4 (+542/-0)
make/autoconf/basic_tools.m4 (+480/-0)
make/autoconf/basic_windows.m4 (+187/-0)
make/autoconf/boot-jdk.m4 (+65/-45)
make/autoconf/bootcycle-spec.gmk.in (+4/-6)
make/autoconf/build-aux/config.sub (+8/-2)
make/autoconf/build-performance.m4 (+5/-5)
make/autoconf/compare.sh.in (+2/-2)
make/autoconf/configure.ac (+5/-6)
make/autoconf/flags-cflags.m4 (+2/-1)
make/autoconf/flags-ldflags.m4 (+1/-1)
make/autoconf/flags.m4 (+21/-11)
make/autoconf/help.m4 (+18/-10)
make/autoconf/hotspot.m4 (+16/-13)
make/autoconf/jdk-options.m4 (+3/-3)
make/autoconf/jdk-version.m4 (+7/-7)
make/autoconf/lib-tests.m4 (+1/-2)
make/autoconf/libraries.m4 (+4/-4)
make/autoconf/platform.m4 (+2/-2)
make/autoconf/source-dirs.m4 (+2/-5)
make/autoconf/spec.gmk.in (+48/-44)
make/autoconf/toolchain.m4 (+155/-223)
make/autoconf/toolchain_microsoft.m4 (+235/-264)
make/autoconf/util.m4 (+228/-0)
make/autoconf/util_paths.m4 (+540/-0)
make/autoconf/version-numbers (+2/-2)
make/common/JavaCompilation.gmk (+2/-2)
make/common/MakeBase.gmk (+7/-18)
make/common/NativeCompilation.gmk (+6/-12)
make/common/ProcessMarkdown.gmk (+2/-1)
make/conf/jib-profiles.js (+25/-2)
make/copy/Copy-java.base.gmk (+11/-3)
make/data/currency/CurrencyData.properties (+2/-2)
make/data/tzdata/VERSION (+1/-1)
make/data/tzdata/africa (+54/-155)
make/data/tzdata/antarctica (+1/-1)
make/data/tzdata/asia (+70/-67)
make/data/tzdata/australasia (+21/-37)
make/data/tzdata/backward (+233/-57)
make/data/tzdata/etcetera (+7/-10)
make/data/tzdata/europe (+107/-183)
make/data/tzdata/iso3166.tab (+3/-3)
make/data/tzdata/northamerica (+164/-244)
make/data/tzdata/southamerica (+15/-19)
make/data/tzdata/zone.tab (+13/-18)
make/devkit/createWindowsDevkit2019.sh (+4/-2)
make/gensrc/GensrcCharacterData.gmk (+7/-2)
make/gensrc/GensrcCharsetCoder.gmk (+6/-4)
make/gensrc/GensrcCommonLangtools.gmk (+5/-3)
make/hotspot/ide/CreateVSProject.gmk (+3/-4)
make/hotspot/test/GtestImage.gmk (+2/-2)
make/idea/idea.gmk (+1/-1)
make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java (+1/-1)
make/launcher/LauncherCommon.gmk (+0/-1)
make/lib/Awt2dLibraries.gmk (+4/-3)
make/lib/CoreLibraries.gmk (+3/-0)
make/scripts/extract-vs-env.cmd (+49/-0)
make/scripts/fixpath.sh (+512/-0)
make/vscode/CreateVSCodeProject.gmk (+1/-1)
src/demo/share/jfc/SwingSet2/TableDemo.java (+4/-1)
src/hotspot/cpu/aarch64/aarch64.ad (+26/-16)
src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp (+3/-20)
src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp (+4/-2)
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp (+1/-1)
src/hotspot/cpu/aarch64/vm_version_aarch64.cpp (+1/-1)
src/hotspot/cpu/arm/frame_arm.inline.hpp (+5/-1)
src/hotspot/cpu/ppc/frame_ppc.inline.hpp (+4/-0)
src/hotspot/cpu/ppc/ppc.ad (+3/-0)
src/hotspot/cpu/s390/assembler_s390.cpp (+1/-1)
src/hotspot/cpu/s390/frame_s390.inline.hpp (+4/-0)
src/hotspot/cpu/s390/interp_masm_s390.hpp (+1/-1)
src/hotspot/cpu/sparc/frame_sparc.inline.hpp (+4/-0)
src/hotspot/cpu/x86/frame_x86.inline.hpp (+5/-2)
src/hotspot/cpu/x86/macroAssembler_x86.cpp (+1/-1)
src/hotspot/cpu/x86/macroAssembler_x86_aes.cpp (+4/-1)
src/hotspot/cpu/zero/frame_zero.inline.hpp (+5/-0)
src/hotspot/cpu/zero/globalDefinitions_zero.hpp (+4/-0)
src/hotspot/os/linux/cgroupSubsystem_linux.cpp (+57/-35)
src/hotspot/os/linux/cgroupSubsystem_linux.hpp (+5/-0)
src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp (+8/-5)
src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp (+0/-3)
src/hotspot/os/linux/osContainer_linux.cpp (+0/-9)
src/hotspot/os/linux/os_linux.cpp (+48/-38)
src/hotspot/os/linux/os_linux.hpp (+21/-2)
src/hotspot/os/linux/trimCHeapDCmd.cpp (+79/-0)
src/hotspot/os/linux/trimCHeapDCmd.hpp (+52/-0)
src/hotspot/os/posix/semaphore_posix.cpp (+2/-1)
src/hotspot/os/posix/vmError_posix.cpp (+10/-8)
src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp (+1/-1)
src/hotspot/os_cpu/aix_ppc/thread_aix_ppc.cpp (+78/-11)
src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp (+1/-1)
src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp (+1/-1)
src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp (+6/-0)
src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp (+1/-1)
src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp (+1/-1)
src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp (+1/-1)
src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp (+9/-2)
src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp (+1/-1)
src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp (+1/-1)
src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp (+20/-4)
src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp (+1/-1)
src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp (+1/-1)
src/hotspot/share/adlc/main.cpp (+1/-1)
src/hotspot/share/c1/c1_Canonicalizer.cpp (+1/-1)
src/hotspot/share/c1/c1_GraphBuilder.cpp (+5/-10)
src/hotspot/share/c1/c1_Runtime1.cpp (+37/-5)
src/hotspot/share/ci/ciInstanceKlass.cpp (+1/-3)
src/hotspot/share/ci/ciKlass.cpp (+1/-0)
src/hotspot/share/ci/ciStreams.cpp (+17/-1)
src/hotspot/share/ci/ciStreams.hpp (+1/-0)
src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp (+2/-1)
src/hotspot/share/interpreter/bytecode.hpp (+4/-2)
src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp (+3/-1)
src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp (+5/-3)
src/hotspot/share/jfr/recorder/storage/jfrBuffer.hpp (+4/-3)
src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.inline.hpp (+9/-1)
src/hotspot/share/jfr/writers/jfrWriterHost.inline.hpp (+4/-2)
src/hotspot/share/memory/metaspace.cpp (+1/-1)
src/hotspot/share/oops/generateOopMap.cpp (+7/-1)
src/hotspot/share/oops/instanceKlass.cpp (+0/-8)
src/hotspot/share/oops/instanceKlass.hpp (+1/-5)
src/hotspot/share/opto/cfgnode.cpp (+48/-39)
src/hotspot/share/opto/idealGraphPrinter.cpp (+42/-1)
src/hotspot/share/opto/idealGraphPrinter.hpp (+2/-1)
src/hotspot/share/opto/loopopts.cpp (+11/-4)
src/hotspot/share/opto/memnode.cpp (+10/-5)
src/hotspot/share/opto/node.hpp (+1/-0)
src/hotspot/share/opto/phaseX.cpp (+30/-0)
src/hotspot/share/opto/phaseX.hpp (+1/-0)
src/hotspot/share/opto/stringopts.cpp (+15/-0)
src/hotspot/share/opto/subnode.cpp (+4/-3)
src/hotspot/share/opto/superword.cpp (+7/-12)
src/hotspot/share/opto/type.cpp (+68/-1)
src/hotspot/share/opto/type.hpp (+12/-1)
src/hotspot/share/opto/vectornode.hpp (+1/-1)
src/hotspot/share/prims/forte.cpp (+8/-5)
src/hotspot/share/runtime/abstract_vm_version.cpp (+5/-1)
src/hotspot/share/runtime/fieldDescriptor.cpp (+2/-1)
src/hotspot/share/runtime/fieldDescriptor.hpp (+3/-3)
src/hotspot/share/runtime/frame.hpp (+4/-0)
src/hotspot/share/runtime/os.cpp (+13/-13)
src/hotspot/share/runtime/safefetch.inline.hpp (+10/-0)
src/hotspot/share/runtime/thread.cpp (+2/-2)
src/hotspot/share/services/diagnosticCommand.cpp (+6/-1)
src/hotspot/share/utilities/bitMap.cpp (+4/-4)
src/hotspot/share/utilities/debug.cpp (+34/-44)
src/java.base/linux/classes/jdk/internal/platform/CgroupMetrics.java (+8/-1)
src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemFactory.java (+19/-25)
src/java.base/linux/native/libjava/CgroupMetrics.c (+8/-0)
src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java (+3/-2)
src/java.base/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java (+22/-41)
src/java.base/share/classes/com/sun/crypto/provider/DHParameterGenerator.java (+16/-15)
src/java.base/share/classes/java/net/InetAddress.java (+12/-7)
src/java.base/share/classes/java/util/Random.java (+1/-1)
src/java.base/share/classes/java/util/SplittableRandom.java (+2/-2)
src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java (+2/-2)
src/java.base/share/classes/javax/security/auth/Subject.java (+4/-4)
src/java.base/share/classes/javax/security/auth/login/LoginContext.java (+8/-8)
src/java.base/share/classes/javax/security/auth/spi/LoginModule.java (+20/-14)
src/java.base/share/classes/sun/net/util/IPAddressUtil.java (+1/-1)
src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java (+0/-5)
src/java.base/share/classes/sun/security/provider/ParameterCache.java (+42/-13)
src/java.base/share/classes/sun/security/ssl/ClientHello.java (+30/-25)
src/java.base/share/classes/sun/security/ssl/PredefinedDHParameterSpecs.java (+5/-4)
src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java (+4/-1)
src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java (+13/-11)
src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java (+5/-1)
src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java (+4/-3)
src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java (+6/-0)
src/java.base/share/classes/sun/security/tools/KeyStoreUtil.java (+13/-1)
src/java.base/share/classes/sun/security/tools/keytool/Main.java (+420/-89)
src/java.base/share/classes/sun/security/tools/keytool/Resources.java (+7/-2)
src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java (+21/-31)
src/java.base/share/classes/sun/security/util/SafeDHParameterSpec.java (+45/-0)
src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java (+37/-0)
src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java (+2/-7)
src/java.base/share/classes/sun/util/resources/TimeZoneNames.java (+4/-3)
src/java.base/share/native/libjava/jni_util.c (+8/-1)
src/java.base/unix/native/libjava/TimeZone_md.c (+34/-55)
src/java.base/windows/native/libjli/java_md.c (+17/-0)
src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibleText.java (+4/-2)
src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m (+18/-14)
src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.h (+36/-0)
src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.m (+56/-0)
src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h (+41/-0)
src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m (+98/-0)
src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m (+3/-0)
src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java (+18/-74)
src/java.desktop/share/classes/com/sun/media/sound/JARSoundbankReader.java (+12/-2)
src/java.desktop/share/classes/java/awt/SystemTray.java (+10/-16)
src/java.desktop/share/classes/javax/swing/JLabel.java (+22/-0)
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java (+6/-4)
src/java.desktop/share/classes/javax/swing/text/html/ObjectView.java (+8/-6)
src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java (+12/-26)
src/java.desktop/share/legal/freetype.md (+82/-41)
src/java.desktop/share/legal/harfbuzz.md (+16/-8)
src/java.desktop/share/native/common/awt/utility/sizecalc.h (+8/-12)
src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java (+9/-9)
src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp (+9/-2)
src/java.desktop/windows/native/libawt/windows/awt_Font.cpp (+10/-10)
src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp (+2/-1)
src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.cpp (+38/-11)
src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.h (+20/-2)
src/java.desktop/windows/native/libfontmanager/fontpath.c (+9/-8)
src/java.desktop/windows/native/libfontmanager/lcdglyph.c (+2/-1)
src/java.instrument/windows/native/libinstrument/EncodingSupport_md.c (+2/-2)
src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java (+4/-2)
src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java (+8/-0)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/AttributeMap.java (+5/-5)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMNormalizer.java (+5/-8)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java (+5/-5)
src/java.xml/share/legal/dom.md (+15/-0)
src/java.xml/share/legal/jcup.md (+9/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java (+4/-4)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java (+3/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java (+18/-0)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties (+3/-0)
src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java (+2/-1)
src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKeyStore.java (+52/-23)
src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/SunMSCAPI.java (+14/-2)
src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp (+20/-6)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java (+55/-42)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java (+30/-23)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java (+5/-4)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java (+17/-0)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java (+8/-10)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java (+26/-63)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java (+7/-9)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java (+7/-9)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java (+18/-54)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java (+6/-6)
src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Env.java (+2/-2)
src/jdk.localedata/share/classes/sun/util/cldr/resources/common/bcp47/timezone.xml (+2/-1)
src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_419.xml (+0/-3)
src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/root.xml (+12/-0)
src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/metaZones.xml (+12/-5)
src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_hr_HR.properties (+2/-1)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java (+4/-3)
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java (+4/-3)
src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c (+15/-4)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java (+13/-6)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java (+19/-17)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java (+4/-2)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java (+7/-3)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java (+11/-10)
src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java (+13/-6)
src/utils/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/ConnectionFilter.java (+3/-5)
src/utils/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/layer.xml (+0/-28)
src/utils/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Connection.java (+3/-2)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/color.filter (+21/-14)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/colorFrequency.filter (+23/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/extract-colors.py (+41/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideControl.filter (+3/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideControlEdges.filter (+5/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideData.filter (+3/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideDataEdges.filter (+5/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideMemory.filter (+3/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideMemoryEdges.filter (+5/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideMixed.filter (+3/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideMixedEdges.filter (+5/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideOther.filter (+3/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/hideOtherEdges.filter (+5/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/onlyControlFlow.filter (+12/-9)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/structural.filter (+13/-0)
src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/layer.xml (+44/-12)
src/utils/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java (+7/-1)
test/hotspot/gtest/runtime/test_os.cpp (+11/-0)
test/hotspot/jtreg/ProblemList.txt (+11/-11)
test/hotspot/jtreg/TEST.groups (+2/-1)
test/hotspot/jtreg/compiler/c1/BadStateAtLongCmp.jasm (+69/-0)
test/hotspot/jtreg/compiler/c1/KlassAccessCheck.jasm (+86/-0)
test/hotspot/jtreg/compiler/c1/KlassAccessCheckPackagePrivate.jasm (+29/-0)
test/hotspot/jtreg/compiler/c1/KlassAccessCheckTest.java (+61/-0)
test/hotspot/jtreg/compiler/c1/TestBadStateAtLongCmp.java (+43/-0)
test/hotspot/jtreg/compiler/c2/TestDeadDataLoop.java (+233/-0)
test/hotspot/jtreg/compiler/c2/TestNegativeStringBuilderCapacity.java (+187/-0)
test/hotspot/jtreg/compiler/c2/TestUnsignedCompareIntoEqualityNotCanonical.java (+46/-0)
test/hotspot/jtreg/compiler/ccp/TestInfiniteIGVNAfterCCP.java (+90/-0)
test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java (+1/-1)
test/hotspot/jtreg/compiler/codegen/ShiftByZero.java (+73/-0)
test/hotspot/jtreg/compiler/codegen/TestCharVect2.java (+9/-1)
test/hotspot/jtreg/compiler/codegen/aes/Test8292158.java (+95/-0)
test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java (+1/-1)
test/hotspot/jtreg/compiler/intrinsics/bmi/BMITestRunner.java (+1/-2)
test/hotspot/jtreg/compiler/intrinsics/string/TestStringIntrinsics2.java (+15/-1)
test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java (+1/-2)
test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetFlagValueTest.java (+5/-2)
test/hotspot/jtreg/compiler/linkage/TestLinkageErrorInGenerateOopMap.java (+9/-6)
test/hotspot/jtreg/compiler/loopopts/TestSkeletonPredicateNegation.java (+3/-4)
test/hotspot/jtreg/compiler/loopopts/superword/TestPickFirstMemoryState.java (+134/-0)
test/hotspot/jtreg/compiler/loopstripmining/TestLSMBadControlOverride.java (+68/-0)
test/hotspot/jtreg/compiler/stringopts/SideEffectBeforeConstructor.jasm (+58/-0)
test/hotspot/jtreg/compiler/stringopts/TestSideEffectBeforeConstructor.java (+49/-0)
test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java (+62/-9)
test/hotspot/jtreg/containers/docker/DockerBasicTest.java (+14/-0)
test/hotspot/jtreg/containers/docker/TestCPUAwareness.java (+10/-5)
test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java (+72/-5)
test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java (+10/-1)
test/hotspot/jtreg/gc/TestAgeOutput.java (+2/-5)
test/hotspot/jtreg/gc/TestAllocateHeapAt.java (+8/-23)
test/hotspot/jtreg/gc/TestAllocateHeapAtError.java (+8/-25)
test/hotspot/jtreg/gc/TestAllocateHeapAtMultiple.java (+18/-37)
test/hotspot/jtreg/gc/TestCardTablePageCommits.java (+5/-2)
test/hotspot/jtreg/gc/TestNumWorkerOutput.java (+2/-5)
test/hotspot/jtreg/gc/TestSmallHeap.java (+5/-7)
test/hotspot/jtreg/gc/TestVerifyDuringStartup.java (+8/-25)
test/hotspot/jtreg/gc/TestVerifySilently.java (+1/-2)
test/hotspot/jtreg/gc/TestVerifySubSet.java (+1/-2)
test/hotspot/jtreg/gc/arguments/GCArguments.java (+10/-1)
test/hotspot/jtreg/gc/arguments/TestG1ConcMarkStepDurationMillis.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestG1ConcRefinementThreads.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestG1HeapRegionSize.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestG1PercentageOptions.java (+2/-2)
test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java (+3/-14)
test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java (+2/-2)
test/hotspot/jtreg/gc/arguments/TestMaxNewSize.java (+2/-2)
test/hotspot/jtreg/gc/arguments/TestMinAndInitialSurvivorRatioFlags.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestObjectTenuringFlags.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java (+16/-8)
test/hotspot/jtreg/gc/arguments/TestParallelRefProc.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestSelectDefaultGC.java (+5/-8)
test/hotspot/jtreg/gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java (+8/-9)
test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java (+1/-1)
test/hotspot/jtreg/gc/arguments/TestTargetSurvivorRatioFlag.java (+2/-2)
test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java (+11/-11)
test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgoTools.java (+4/-15)
test/hotspot/jtreg/gc/arguments/TestUseNUMAInterleaving.java (+3/-4)
test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java (+2/-4)
test/hotspot/jtreg/gc/ergonomics/TestInitialGCThreadLogging.java (+7/-4)
test/hotspot/jtreg/gc/g1/Test2GbHeap.java (+1/-1)
test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegionsLog.java (+2/-5)
test/hotspot/jtreg/gc/g1/TestGCLogMessages.java (+19/-9)
test/hotspot/jtreg/gc/g1/TestHumongousCodeCacheRoots.java (+6/-18)
test/hotspot/jtreg/gc/g1/TestPLABSizeBounds.java (+1/-1)
test/hotspot/jtreg/gc/g1/TestPrintRegionRememberedSetInfo.java (+1/-2)
test/hotspot/jtreg/gc/g1/TestRemsetLoggingTools.java (+1/-2)
test/hotspot/jtreg/gc/g1/TestSharedArchiveWithPreTouch.java (+1/-1)
test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData.java (+1/-4)
test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java (+1/-1)
test/hotspot/jtreg/gc/g1/TestVerifyGCType.java (+1/-2)
test/hotspot/jtreg/gc/g1/ihop/TestIHOPErgo.java (+1/-2)
test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java (+1/-1)
test/hotspot/jtreg/gc/g1/logging/TestG1LoggingFailure.java (+1/-1)
test/hotspot/jtreg/gc/g1/mixedgc/TestLogging.java (+1/-1)
test/hotspot/jtreg/gc/g1/plab/TestPLABEvacuationFailure.java (+1/-1)
test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java (+1/-1)
test/hotspot/jtreg/gc/g1/plab/TestPLABResize.java (+1/-1)
test/hotspot/jtreg/gc/metaspace/TestSizeTransitions.java (+147/-0)
test/hotspot/jtreg/gc/stress/TestReclaimStringsLeaksMemory.java (+2/-3)
test/hotspot/jtreg/gc/stress/TestStressG1Humongous.java (+1/-1)
test/hotspot/jtreg/gc/stress/gclocker/TestExcessGCLockerCollections.java (+1/-1)
test/hotspot/jtreg/resourcehogs/compiler/intrinsics/string/TestStringIntrinsics2LargeArray.java (+61/-0)
test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOption.java (+1/-1)
test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java (+1/-1)
test/hotspot/jtreg/runtime/CommandLine/PrintTouchedMethods.java (+23/-8)
test/hotspot/jtreg/runtime/CommandLine/TestHexArguments.java (+4/-5)
test/hotspot/jtreg/runtime/CommandLine/VMOptionsFile/TestVMOptionsFile.java (+1/-1)
test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java (+1/-1)
test/hotspot/jtreg/runtime/GenerateOopMap/TestGenerateOopMapCrash.java (+56/-0)
test/hotspot/jtreg/runtime/GenerateOopMap/if_icmpleIsLastOpcode.jasm (+52/-0)
test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java (+1/-1)
test/hotspot/jtreg/runtime/appcds/TestCommon.java (+2/-4)
test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java (+1/-1)
test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java (+1/-1)
test/hotspot/jtreg/runtime/memory/LargePages/TestLargePagesFlags.java (+1/-1)
test/hotspot/jtreg/serviceability/dcmd/gc/RunFinalizationTest.java (+1/-1)
test/hotspot/jtreg/serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java (+3/-1)
test/hotspot/jtreg/serviceability/dcmd/vm/TrimLibcHeapTest.java (+55/-0)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java (+5/-4)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/TestRedefineWithUnresolvedClass.java (+2/-3)
test/hotspot/jtreg/serviceability/logging/TestLogRotation.java (+12/-18)
test/hotspot/jtreg/serviceability/sa/ClhsdbField.java (+1/-2)
test/hotspot/jtreg/serviceability/sa/ClhsdbVmStructsDump.java (+1/-2)
test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java (+3/-7)
test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java (+3/-7)
test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java (+3/-6)
test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java (+2/-5)
test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java (+3/-7)
test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java (+1/-2)
test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java (+3/-6)
test/hotspot/jtreg/testlibrary_tests/whitebox/vm_flags/BooleanTest.java (+1/-1)
test/hotspot/jtreg/testlibrary_tests/whitebox/vm_flags/DoubleTest.java (+1/-1)
test/hotspot/jtreg/testlibrary_tests/whitebox/vm_flags/StringTest.java (+1/-1)
test/hotspot/jtreg/testlibrary_tests/whitebox/vm_flags/Uint64Test.java (+1/-1)
test/hotspot/jtreg/testlibrary_tests/whitebox/vm_flags/UintxTest.java (+1/-1)
test/hotspot/jtreg/vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java (+18/-7)
test/hotspot/jtreg/vmTestbase/gc/huge/quicklook/largeheap/MemOptions/MemOptionsTest.java (+2/-4)
test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/cm03t001.cpp (+5/-0)
test/jaxp/javax/xml/jaxp/unittest/dom/DocumentTest.java (+54/-2)
test/jdk/ProblemList.txt (+14/-38)
test/jdk/TEST.ROOT (+5/-1)
test/jdk/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java (+16/-22)
test/jdk/com/sun/management/OperatingSystemMXBean/TestTotalSwap.java (+17/-19)
test/jdk/java/awt/Dialog/SiblingChildOrder/SiblingChildOrderTest.java (+1/-1)
test/jdk/java/awt/Focus/8000326/SetFocusTraversalKeysEnabledTest.java (+105/-0)
test/jdk/java/awt/Focus/8282640/ScrollPaneFocusBugTest.java (+131/-0)
test/jdk/java/awt/Focus/SimpleWindowActivationTest/SimpleWindowActivationTest.java (+20/-9)
test/jdk/java/awt/Frame/MiscUndecorated/RepaintTest.java (+22/-32)
test/jdk/java/awt/Graphics/LCDTextAndGraphicsState.java (+86/-24)
test/jdk/java/awt/Graphics/TextAAHintsTest.java (+109/-22)
test/jdk/java/awt/Graphics2D/CopyAreaOOB.java (+21/-45)
test/jdk/java/awt/Modal/NullModalityDialogTest/NullModalityDialogTest.java (+6/-3)
test/jdk/java/awt/Paint/PaintNativeOnUpdate.java (+1/-1)
test/jdk/java/awt/Robot/RobotWheelTest/RobotWheelTest.java (+37/-10)
test/jdk/java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java (+8/-3)
test/jdk/java/awt/TrayIcon/TrayIconScalingTest.java (+128/-0)
test/jdk/java/awt/Window/BackgroundIsNotUpdated/BackgroundIsNotUpdated.java (+1/-1)
test/jdk/java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java (+1/-1)
test/jdk/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java (+1/-1)
test/jdk/java/awt/Window/WindowOwnedByEmbeddedFrameTest/WindowOwnedByEmbeddedFrameTest.java (+1/-1)
test/jdk/java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java (+52/-11)
test/jdk/java/awt/dnd/DropTargetEnterExitTest/ExtraDragEnterTest.java (+22/-6)
test/jdk/java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java (+26/-12)
test/jdk/java/awt/dnd/DropTargetInInternalFrameTest.java (+380/-0)
test/jdk/java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java (+47/-23)
test/jdk/java/awt/event/ComponentEvent/TextAreaTextEventTest.java (+141/-0)
test/jdk/java/awt/event/KeyEvent/KeyEventLocationTest.java (+212/-0)
test/jdk/java/awt/image/multiresolution/MultiresolutionIconTest.java (+6/-2)
test/jdk/java/awt/print/Dialog/DialogOrient.java (+1/-1)
test/jdk/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java (+114/-75)
test/jdk/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java (+41/-23)
test/jdk/java/awt/print/PrinterJob/PageDialogTest.java (+91/-137)
test/jdk/java/awt/print/PrinterJob/TestPgfmtSetMPA.java (+5/-0)
test/jdk/java/lang/Math/PowTests.java (+12/-1)
test/jdk/java/lang/RuntimeTests/loadLibrary/exeLibraryCache/LibraryFromCache.java (+3/-1)
test/jdk/java/lang/StringBuilder/HugeCapacity.java (+2/-2)
test/jdk/java/nio/file/FileStore/Basic.java (+10/-0)
test/jdk/java/security/SignedJar/CustomClassLoader.java (+43/-0)
test/jdk/java/security/SignedJar/SignedJarWithCustomClassLoader.java (+91/-0)
test/jdk/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java (+9/-1)
test/jdk/java/security/cert/pkix/policyChanges/TestPolicy.java (+6/-1)
test/jdk/java/text/Format/NumberFormat/CurrencySymbols.properties (+3/-3)
test/jdk/java/util/Currency/PropertiesTest.sh (+2/-2)
test/jdk/java/util/Currency/ValidateISO4217.java (+2/-2)
test/jdk/java/util/Currency/tablea1.txt (+4/-4)
test/jdk/java/util/Random/RandomNextDoubleBoundary.java (+83/-0)
test/jdk/java/util/ResourceBundle/Control/MissingResourceCauseTest.java (+3/-1)
test/jdk/java/util/TimeZone/CustomTzIDCheckDST.java (+77/-0)
test/jdk/java/util/TimeZone/TimeZoneData/VERSION (+1/-1)
test/jdk/java/util/TimeZone/TimeZoneData/aliases.txt (+176/-164)
test/jdk/java/util/TimeZone/TimeZoneData/displaynames.txt (+3/-10)
test/jdk/java/util/zip/CloseInflaterDeflaterTest.java (+209/-0)
test/jdk/javax/accessibility/4702233/AccessibleActionConstants.java (+44/-0)
test/jdk/javax/accessibility/4702233/AccessibleContextConstants.java (+71/-0)
test/jdk/javax/accessibility/4702233/AccessiblePropertiesTest.java (+96/-0)
test/jdk/javax/accessibility/4702233/AccessibleRelationConstants.java (+65/-0)
test/jdk/javax/accessibility/4702233/AccessibleRoleConstants.java (+75/-0)
test/jdk/javax/accessibility/4702233/AccessibleStateConstants.java (+62/-0)
test/jdk/javax/accessibility/AccessibleJTableSelectionTest.java (+173/-0)
test/jdk/javax/accessibility/JFileChooserAccessibleDescriptionTest.java (+102/-0)
test/jdk/javax/accessibility/JRootPaneAccessiblAtTest.java (+58/-0)
test/jdk/javax/accessibility/JScrollPaneAccessibleRelationsTest.java (+118/-0)
test/jdk/javax/net/ssl/SSLEngine/LargePacket.java (+5/-4)
test/jdk/javax/net/ssl/SSLEngine/SSLEngineService.java (+21/-21)
test/jdk/javax/net/ssl/SSLSession/ResumeTLS13withSNI.java (+5/-2)
test/jdk/javax/net/ssl/ServerName/SSLEngineExplorer.java (+4/-4)
test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java (+4/-4)
test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java (+4/-4)
test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java (+4/-4)
test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java (+4/-4)
test/jdk/javax/security/auth/login/modules/SafeLogout.java (+118/-0)
test/jdk/javax/sound/midi/Devices/ClosedReceiver.java (+1/-0)
test/jdk/javax/sound/midi/Devices/InitializationHang.java (+1/-0)
test/jdk/javax/sound/midi/Devices/MidiDeviceGetReceivers.java (+1/-0)
test/jdk/javax/sound/midi/Devices/MidiIO.java (+1/-0)
test/jdk/javax/sound/midi/Devices/MidiOutGetMicrosecondPositionBug.java (+1/-0)
test/jdk/javax/sound/midi/Devices/OpenClose.java (+1/-0)
test/jdk/javax/sound/midi/Devices/ReceiverTransmitterAvailable.java (+1/-0)
test/jdk/javax/sound/midi/Devices/Reopen.java (+1/-0)
test/jdk/javax/sound/midi/MidiSystem/DefaultDevices.java (+1/-0)
test/jdk/javax/sound/midi/MidiSystem/GetSequencer.java (+1/-0)
test/jdk/javax/sound/midi/Sequence/GetMicrosecondLength.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/LoopIAE.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/MetaCallback.java (+28/-6)
test/jdk/javax/sound/midi/Sequencer/Recording.java (+1/-1)
test/jdk/javax/sound/midi/Sequencer/SeqRecordDoesNotCopy.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SeqRecordsRealTimeEvents.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SeqStartRecording.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SequencerCacheValues.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SequencerSetMuteSolo.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SequencerState.java (+1/-0)
test/jdk/javax/sound/midi/Sequencer/SetTickPosition.java (+2/-1)
test/jdk/javax/sound/midi/Sequencer/TickLength.java (+1/-0)
test/jdk/javax/sound/midi/Soundbanks/ExtraCharInSoundbank.java (+1/-0)
test/jdk/javax/sound/sampled/AudioSystem/DefaultMixers.java (+1/-0)
test/jdk/javax/sound/sampled/Clip/ClipCloseLoss.java (+1/-0)
test/jdk/javax/sound/sampled/Clip/ClipFlushCrash.java (+1/-0)
test/jdk/javax/sound/sampled/Clip/Drain/ClipDrain.java (+1/-0)
test/jdk/javax/sound/sampled/Clip/Duration/ClipDuration.java (+1/-0)
test/jdk/javax/sound/sampled/Clip/Endpoint/ClipSetEndPoint.java (+1/-0)
test/jdk/javax/sound/sampled/Controls/FloatControl/FloatControlBug.java (+1/-0)
test/jdk/javax/sound/sampled/DataLine/DataLineInfoNegBufferSize.java (+1/-0)
test/jdk/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java (+1/-0)
test/jdk/javax/sound/sampled/DataLine/LineDefFormat.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/16and32KHz/Has16and32KHz.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/BufferSizeCheck.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/ChangingBuffer.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/ClickInPlay/Test4218609.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/ClipOpenException.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/FrameSize/FrameSizeTest.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/SDLwrite.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/SourceDataLineDefaultBufferSizeCrash.java (+1/-0)
test/jdk/javax/sound/sampled/Lines/StopStart.java (+1/-0)
test/jdk/javax/sound/sampled/LinuxBlock/PlaySine.java (+1/-0)
test/jdk/javax/sound/sampled/LinuxCrash/ClipLinuxCrash.java (+1/-0)
test/jdk/javax/sound/sampled/LinuxCrash/ClipLinuxCrash2.java (+1/-0)
test/jdk/javax/sound/sampled/LinuxCrash/SDLLinuxCrash.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/BogusMixers.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/BothEndiansAndSigns.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/DirectSoundRepeatingBuffer/Test4997635.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/DirectSoundUnderrunSilence/Test5032020.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/NoSimpleInputDevice.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/PhantomMixers.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/PlugHwMonoAnd8bitAvailable.java (+1/-0)
test/jdk/javax/sound/sampled/Mixers/UnexpectedIAE.java (+1/-0)
test/jdk/javax/sound/sampled/Recording/TargetDataLineFlush.java (+1/-0)
test/jdk/javax/sound/sampled/spi/MixerProvider/ExpectedNPEOnNull.java (+1/-0)
test/jdk/javax/swing/JButton/4659800/EnterKeyActivatesButton.java (+124/-0)
test/jdk/javax/swing/JColorChooser/Test7194184.java (+16/-9)
test/jdk/javax/swing/JComponent/JComponentSetRequestFocusEnabledTest.java (+138/-0)
test/jdk/javax/swing/JEditorPane/4666101/JEditorPaneNavigationTest.java (+197/-0)
test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java (+4/-3)
test/jdk/javax/swing/JLabel/4138746/JLabelMnemonicsTest.java (+233/-0)
test/jdk/javax/swing/JMenu/4515762/bug4515762.java (+31/-18)
test/jdk/javax/swing/JPopupMenu/JPopupMenuFocusStealTest.java (+179/-0)
test/jdk/javax/swing/JSpinner/4515999/JSpinnerMouseAndKeyPressTest.java (+201/-0)
test/jdk/javax/swing/JSplitPane/4615365/JSplitPaneDividerLocationTest.java (+200/-0)
test/jdk/javax/swing/JSplitPane/4820080/JSplitPaneDragColorTest.java (+205/-0)
test/jdk/javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java (+118/-0)
test/jdk/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java (+1/-1)
test/jdk/javax/swing/text/html/parser/Parser/8078268/bug8078268.java (+19/-17)
test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java (+24/-13)
test/jdk/jdk/internal/platform/docker/TestDockerBasic.java (+73/-0)
test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java (+18/-0)
test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java (+10/-0)
test/jdk/jdk/jfr/event/oldobject/TestClassLoaderLeak.java (+2/-3)
test/jdk/security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java (+191/-170)
test/jdk/sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java (+131/-109)
test/jdk/sun/java2d/GdiRendering/ClipShapeRendering.java (+518/-0)
test/jdk/sun/java2d/SunGraphics2D/CoordinateTruncationBug.java (+271/-0)
test/jdk/sun/java2d/cmm/ColorConvertOp/UnexpectedSourceImageSize.java (+169/-0)
test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveProperty.java (+2/-1)
test/jdk/sun/security/mscapi/AllTypes.java (+87/-0)
test/jdk/sun/security/pkcs11/tls/TestKeyMaterialChaCha20.java (+94/-0)
test/jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java (+2/-2)
test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketSSLEngineCloseInbound.java (+491/-0)
test/jdk/sun/security/tools/jarsigner/TimestampCheck.java (+0/-45)
test/jdk/sun/security/tools/keytool/ReadJar.java (+98/-2)
test/jdk/sun/security/tools/keytool/TestSha1Usage.java (+60/-0)
test/jdk/sun/text/resources/LocaleData.cldr (+4/-0)
test/jdk/sun/text/resources/LocaleDataTest.java (+1/-1)
test/jdk/sun/util/calendar/zi/TestZoneInfo310.java (+4/-1)
test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java (+19/-1)
test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLankmarkRegions.java (+223/-0)
test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java (+12/-7)
test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java (+3/-3)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java (+86/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg1/A.java (+27/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg1/package-info.java (+27/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg2/A.java (+27/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg2/package.html (+9/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/A.java (+27/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/package-info.java (+27/-0)
test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/package.html (+8/-0)
test/langtools/tools/doclint/CrashInAnnotateTest.java (+31/-0)
test/langtools/tools/doclint/CrashInAnnotateTest.out (+11/-0)
test/langtools/tools/javac/Paths/Util.sh (+2/-2)
test/langtools/tools/javac/T8222251/PreflowNotVisitingLambdaExpTest.java (+64/-0)
test/langtools/tools/javac/diags/examples/NoAnnotationsInLink.java (+32/-0)
test/langtools/tools/javac/lambda/methodReference/MethodRefNewInnerRawTest.java (+24/-0)
test/langtools/tools/javac/lambda/methodReference/MethodRefNewInnerRawTest.out (+5/-0)
test/langtools/tools/javac/lvti/ConstantTypes.java (+99/-0)
test/lib/ClassFileInstaller.java (+42/-9)
test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java (+5/-0)
test/lib/jdk/test/lib/process/ProcessTools.java (+46/-7)
Reviewer Review Type Date Requested Status
Matthias Klose Pending
git-ubuntu import Pending
Review via email: mp+435905@code.launchpad.net

Description of the change

openjdk-lts (11.0.18+10-0ubuntu1) lunar; urgency=medium

  * OpenJDK 11.0.18 release build 10
    - CVE-2023-21835, CVE-2023-21843
    - Release notes:
      https://www.oracle.com/java/technologies/javase/11-0-18-relnotes.html
  * debian/patches/*: Refreshed patches for the new release and dropped
    unused patches
  * debian/watch: use jdk11u repository as upstream

PPA: https://launchpad.net/~vpa1977/+archive/ubuntu/jdk-security-release2

To post a comment you must log in.
43bd753... by Vladimir Petko

New upstream version 11.0.18+10

01a09fd... by Vladimir Petko

Update upstream source from tag 'upstream/11.0.18+10'

Update to upstream version '11.0.18+10'
with Debian dir affaba5700028462a539bec25513e120928f2868

0d18cad... by Vladimir Petko

drop bootcycle patch (fixed upstream)

6737fed... by Vladimir Petko

changelog

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.gitignore b/.gitignore
2deleted file mode 100644
3index 608a4f6..0000000
4--- a/.gitignore
5+++ /dev/null
6@@ -1,15 +0,0 @@
7-/build/
8-/dist/
9-/.idea/
10-nbproject/private/
11-/webrev
12-/.src-rev
13-/.jib/
14-.DS_Store
15-.metadata/
16-.recommenders/
17-test/nashorn/script/external
18-test/nashorn/lib
19-NashornProfile.txt
20-**/JTreport/**
21-**/JTwork/**
22diff --git a/.jcheck/conf b/.jcheck/conf
23deleted file mode 100644
24index d8163f5..0000000
25--- a/.jcheck/conf
26+++ /dev/null
27@@ -1,31 +0,0 @@
28-[general]
29-project=jdk-updates
30-jbs=JDK
31-version=11.0.17
32-
33-[checks]
34-error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace
35-
36-[repository]
37-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)
38-branches=
39-
40-[census]
41-version=0
42-domain=openjdk.org
43-
44-[checks "whitespace"]
45-files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java
46-
47-[checks "merge"]
48-message=Merge
49-
50-[checks "reviewers"]
51-reviewers=1
52-ignore=duke
53-
54-[checks "committer"]
55-role=committer
56-
57-[checks "issues"]
58-pattern=^([124-8][0-9]{6}): (\S.*)$
59diff --git a/debian/changelog b/debian/changelog
60index 2d94c5a..2097efa 100644
61--- a/debian/changelog
62+++ b/debian/changelog
63@@ -1,3 +1,16 @@
64+openjdk-lts (11.0.18+10-0ubuntu1) lunar; urgency=medium
65+
66+ * OpenJDK 11.0.18 release, build 10.
67+ - CVE-2023-21835, CVE-2023-21843
68+ - Release notes:
69+ https://www.oracle.com/java/technologies/javase/11-0-18-relnotes.html
70+ * debian/patches/*: Refreshed patches for the new release and dropped unused
71+ patches.
72+ * debian/watch: use jdk11u repository as upstream.
73+ * debian/rules: add lunar to jtreg version selection.
74+
75+ -- Vladimir Petko <vladimir.petko@canonical.com> Thu, 19 Jan 2023 21:24:22 +1300
76+
77 openjdk-lts (11.0.17+8-1ubuntu2) kinetic-security; urgency=medium
78
79 * OpenJDK 11.0.17 release, build 8.
80diff --git a/debian/patches/accessible-toolkit.diff b/debian/patches/accessible-toolkit.diff
81deleted file mode 100644
82index b337a9c..0000000
83--- a/debian/patches/accessible-toolkit.diff
84+++ /dev/null
85@@ -1,15 +0,0 @@
86---- a/jdk/src/share/classes/java/awt/Toolkit.java
87-+++ b/jdk/src/share/classes/java/awt/Toolkit.java
88-@@ -894,7 +894,11 @@
89- return null;
90- }
91- });
92-- loadAssistiveTechnologies();
93-+ try {
94-+ loadAssistiveTechnologies();
95-+ } catch ( AWTError error) {
96-+ // ignore silently
97-+ }
98- } finally {
99- // Make sure to always re-enable the JIT.
100- java.lang.Compiler.enable();
101diff --git a/debian/patches/adlc-parser.diff b/debian/patches/adlc-parser.diff
102index a337b8e..48c64b6 100644
103--- a/debian/patches/adlc-parser.diff
104+++ b/debian/patches/adlc-parser.diff
105@@ -1,13 +1,23 @@
106 # DP: fixes an uninitialized memory issue in adlc
107-Index: b/src/hotspot/share/adlc/formsopt.cpp
108-===================================================================
109 --- a/src/hotspot/share/adlc/formsopt.cpp
110 +++ b/src/hotspot/share/adlc/formsopt.cpp
111-@@ -439,6 +439,7 @@ FrameForm::FrameForm() {
112+@@ -427,6 +427,11 @@
113+ //==============================Frame Handling=================================
114+ //------------------------------FrameForm--------------------------------------
115+ FrameForm::FrameForm() {
116++ _sync_stack_slots = NULL;
117++ _inline_cache_reg = NULL;
118++ _interpreter_method_oop_reg = NULL;
119++ _interpreter_frame_pointer_reg = NULL;
120++ _cisc_spilling_operand_name = NULL;
121+ _frame_pointer = NULL;
122+ _c_frame_pointer = NULL;
123+ _alignment = NULL;
124+@@ -438,7 +443,6 @@
125+ _c_calling_convention = NULL;
126 _return_value = NULL;
127 _c_return_value = NULL;
128- _interpreter_frame_pointer_reg = NULL;
129-+ _cisc_spilling_operand_name = NULL;
130+- _interpreter_frame_pointer_reg = NULL;
131 }
132
133 FrameForm::~FrameForm() {
134diff --git a/debian/patches/alpha-float-const.diff b/debian/patches/alpha-float-const.diff
135deleted file mode 100644
136index e3b6e08..0000000
137--- a/debian/patches/alpha-float-const.diff
138+++ /dev/null
139@@ -1,13 +0,0 @@
140---- a/src/java.base/share/classes/java/lang/Float.java 2017-11-16 00:58:50.000000000 +0100
141-+++ b/src/java.base/share/classes/java/lang/Float.java 2017-12-22 22:56:30.771249660 +0100
142-@@ -84,7 +84,9 @@
143- *
144- * @since 1.6
145- */
146-- public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
147-+ // FIXME: still required on alpha?
148-+ // public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
149-+ public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000);
150-
151- /**
152- * A constant holding the smallest positive nonzero value of type
153diff --git a/debian/patches/dont-strip-images.diff b/debian/patches/dont-strip-images.diff
154deleted file mode 100644
155index e7817cf..0000000
156--- a/debian/patches/dont-strip-images.diff
157+++ /dev/null
158@@ -1,13 +0,0 @@
159---- a/src/common/autoconf/flags.m4
160-+++ b/src/common/autoconf/flags.m4
161-@@ -61,7 +61,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
162- fi
163-
164- if test "x$OPENJDK_TARGET_OS" != xwindows; then
165-- POST_STRIP_CMD="$STRIP $STRIPFLAGS"
166-+ if test -z "$POST_STRIP_CMD" ; then
167-+ POST_STRIP_CMD="$STRIP $STRIPFLAGS"
168-+ fi
169- fi
170- AC_SUBST(POST_STRIP_CMD)
171-
172diff --git a/debian/patches/enumipv6-fix.diff b/debian/patches/enumipv6-fix.diff
173deleted file mode 100644
174index 82f73c5..0000000
175--- a/debian/patches/enumipv6-fix.diff
176+++ /dev/null
177@@ -1,11 +0,0 @@
178---- openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c~ 2012-02-15 09:26:50.000000000 +0100
179-+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2012-02-26 14:13:22.602107361 +0100
180-@@ -1105,7 +1105,7 @@
181- uint8_t ipv6addr[16];
182-
183- if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) {
184-- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
185-+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %x %x %x %x %20s\n",
186- addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7],
187- &if_idx, &plen, &scope, &dad_status, devname) != EOF) {
188-
189diff --git a/debian/patches/generated-headers.patch b/debian/patches/generated-headers.patch
190index ca73f87..f9aa947 100644
191--- a/debian/patches/generated-headers.patch
192+++ b/debian/patches/generated-headers.patch
193@@ -1,6 +1,6 @@
194 --- a/make/lib/Awt2dLibraries.gmk
195 +++ b/make/lib/Awt2dLibraries.gmk
196-@@ -382,7 +382,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB
197+@@ -383,7 +383,7 @@
198 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
199 OPTIMIZATION := HIGHEST, \
200 CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
201@@ -9,7 +9,7 @@
202 CFLAGS_solaris := -xc99=no_lib, \
203 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
204 EXTRA_HEADER_DIRS := \
205-@@ -431,7 +431,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB
206+@@ -432,7 +432,7 @@
207 NAME := javajpeg, \
208 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
209 OPTIMIZATION := HIGHEST, \
210diff --git a/debian/patches/hotspot-disable-exec-shield-workaround.diff b/debian/patches/hotspot-disable-exec-shield-workaround.diff
211index 447f09d..34c6e14 100644
212--- a/debian/patches/hotspot-disable-exec-shield-workaround.diff
213+++ b/debian/patches/hotspot-disable-exec-shield-workaround.diff
214@@ -1,6 +1,6 @@
215 --- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
216 +++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
217-@@ -863,7 +863,7 @@ void os::verify_stack_alignment() {
218+@@ -874,7 +874,7 @@
219 * updates (JDK-8023956).
220 */
221 void os::workaround_expand_exec_shield_cs_limit() {
222diff --git a/debian/patches/hotspot-disable-werror.diff b/debian/patches/hotspot-disable-werror.diff
223deleted file mode 100644
224index 0ec8583..0000000
225--- a/debian/patches/hotspot-disable-werror.diff
226+++ /dev/null
227@@ -1,11 +0,0 @@
228---- a/src/hotspot/make/linux/makefiles/gcc.make
229-+++ b/src/hotspot/make/linux/makefiles/gcc.make
230-@@ -203,7 +203,7 @@ else
231- endif
232-
233- # Compiler warnings are treated as errors
234--WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
235-+WARNINGS_ARE_ERRORS ?=
236-
237- ifeq ($(USE_CLANG), true)
238- # However we need to clean the code up before we can unrestrictedly enable this option with Clang
239diff --git a/debian/patches/hotspot-libpath.diff b/debian/patches/hotspot-libpath.diff
240index 469c698..caf7616 100644
241--- a/debian/patches/hotspot-libpath.diff
242+++ b/debian/patches/hotspot-libpath.diff
243@@ -1,6 +1,6 @@
244 --- a/src/hotspot/os/linux/os_linux.cpp
245 +++ b/src/hotspot/os/linux/os_linux.cpp
246-@@ -427,18 +427,22 @@ void os::init_system_properties_values()
247+@@ -430,18 +430,22 @@
248 // 1: ...
249 // ...
250 // 7: The default directories, normally /lib and /usr/lib.
251@@ -28,7 +28,7 @@
252 #define SYS_EXT_DIR "/usr/java/packages"
253 --- a/make/hotspot/lib/CompileJvm.gmk
254 +++ b/make/hotspot/lib/CompileJvm.gmk
255-@@ -131,6 +131,11 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TAR
256+@@ -131,6 +131,11 @@
257 endif
258 endif
259
260diff --git a/debian/patches/hotspot-mips-align.diff b/debian/patches/hotspot-mips-align.diff
261index fb397fc..4ffd7f1 100644
262--- a/debian/patches/hotspot-mips-align.diff
263+++ b/debian/patches/hotspot-mips-align.diff
264@@ -1,8 +1,6 @@
265-Index: b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
266-===================================================================
267 --- a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
268 +++ b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
269-@@ -367,7 +367,7 @@ int CppInterpreter::native_entry(Method*
270+@@ -369,7 +369,7 @@
271 ThreadStateTransition::transition_from_java(thread, _thread_in_native);
272
273 // Make the call
274diff --git a/debian/patches/hotspot-set-compiler.diff b/debian/patches/hotspot-set-compiler.diff
275deleted file mode 100644
276index 181b71c..0000000
277--- a/debian/patches/hotspot-set-compiler.diff
278+++ /dev/null
279@@ -1,11 +0,0 @@
280---- a/src/hotspot/make/linux/makefiles/gcc.make
281-+++ b/src/hotspot/make/linux/makefiles/gcc.make
282-@@ -39,7 +39,7 @@
283- ifeq ($(USE_CLANG), true)
284- CXX = clang++
285- CC = clang
286-- else
287-+ else ifeq ($(CXX),)
288- CXX = g++
289- CC = gcc
290- endif
291diff --git a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
292index 84781fd..afab6bd 100644
293--- a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
294+++ b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
295@@ -11,7 +11,7 @@ Last-Update: 2020-11-09
296 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
297 --- a/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java
298 +++ b/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java
299-@@ -139,7 +139,7 @@ public class MoveJDKTest {
300+@@ -137,7 +137,7 @@
301 Files.createSymbolicLink(child_dst.toPath(), /* link to -> */ child_src.toPath());
302 }
303 } else {
304diff --git a/debian/patches/hotspot-warn-no-errformat.diff b/debian/patches/hotspot-warn-no-errformat.diff
305deleted file mode 100644
306index 0628b89..0000000
307--- a/debian/patches/hotspot-warn-no-errformat.diff
308+++ /dev/null
309@@ -1,22 +0,0 @@
310---- a/src/hotspot/make/solaris/makefiles/gcc.make
311-+++ b/src/hotspot/make/solaris/makefiles/gcc.make
312-@@ -117,7 +117,7 @@ endif
313-
314-
315- # Compiler warnings are treated as errors
316--WARNINGS_ARE_ERRORS ?= -Werror
317-+WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
318-
319- # Enable these warnings. See 'info gcc' about details on these options
320- WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2
321---- a/src/hotspot/make/linux/makefiles/gcc.make
322-+++ b/src/hotspot/make/linux/makefiles/gcc.make
323-@@ -203,7 +203,7 @@ else
324- endif
325-
326- # Compiler warnings are treated as errors
327--WARNINGS_ARE_ERRORS ?= -Werror
328-+WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
329-
330- ifeq ($(USE_CLANG), true)
331- # However we need to clean the code up before we can unrestrictedly enable this option with Clang
332diff --git a/debian/patches/icedtea-sound.diff b/debian/patches/icedtea-sound.diff
333deleted file mode 100644
334index 3e76219..0000000
335--- a/debian/patches/icedtea-sound.diff
336+++ /dev/null
337@@ -1,158 +0,0 @@
338---- a/src/icedtea-sound/acinclude.m4
339-+++ b/src/icedtea-sound/acinclude.m4
340-@@ -24,12 +24,14 @@
341- BUILD_ARCH_DIR=amd64
342- INSTALL_ARCH_DIR=amd64
343- JRE_ARCH_DIR=amd64
344-+ ARCHFLAG="-m64"
345- ;;
346- i?86)
347- BUILD_ARCH_DIR=i586
348- INSTALL_ARCH_DIR=i386
349- JRE_ARCH_DIR=i386
350- ARCH_PREFIX=${LINUX32}
351-+ ARCHFLAG="-m32"
352- ;;
353- alpha*)
354- BUILD_ARCH_DIR=alpha
355-@@ -40,11 +42,13 @@
356- BUILD_ARCH_DIR=arm
357- INSTALL_ARCH_DIR=arm
358- JRE_ARCH_DIR=arm
359-+ ARCHFLAG="-D_LITTLE_ENDIAN"
360- ;;
361- arm64|aarch64)
362- BUILD_ARCH_DIR=aarch64
363- INSTALL_ARCH_DIR=aarch64
364- JRE_ARCH_DIR=aarch64
365-+ ARCHFLAG="-D_LITTLE_ENDIAN"
366- ;;
367- mips)
368- BUILD_ARCH_DIR=mips
369-@@ -61,16 +65,19 @@
370- INSTALL_ARCH_DIR=ppc
371- JRE_ARCH_DIR=ppc
372- ARCH_PREFIX=${LINUX32}
373-+ ARCHFLAG="-m32"
374- ;;
375- powerpc64)
376- BUILD_ARCH_DIR=ppc64
377- INSTALL_ARCH_DIR=ppc64
378- JRE_ARCH_DIR=ppc64
379-+ ARCHFLAG="-m64"
380- ;;
381- powerpc64le)
382- BUILD_ARCH_DIR=ppc64
383- INSTALL_ARCH_DIR=ppc64
384- JRE_ARCH_DIR=ppc64
385-+ ARCHFLAG="-m64"
386- ;;
387- sparc)
388- BUILD_ARCH_DIR=sparc
389-@@ -78,23 +85,27 @@
390- JRE_ARCH_DIR=sparc
391- CROSS_TARGET_ARCH=sparc
392- ARCH_PREFIX=${LINUX32}
393-+ ARCHFLAG="-m32"
394- ;;
395- sparc64)
396- BUILD_ARCH_DIR=sparcv9
397- INSTALL_ARCH_DIR=sparcv9
398- JRE_ARCH_DIR=sparc64
399-+ ARCHFLAG="-m64"
400- ;;
401- s390)
402- BUILD_ARCH_DIR=s390
403- INSTALL_ARCH_DIR=s390
404- JRE_ARCH_DIR=s390
405- ARCH_PREFIX=${LINUX32}
406-+ ARCHFLAG="-m31"
407- ;;
408- s390x)
409- BUILD_ARCH_DIR=s390x
410- INSTALL_ARCH_DIR=s390x
411- JRE_ARCH_DIR=s390x
412- CROSS_TARGET_ARCH=s390x
413-+ ARCHFLAG="-m64"
414- ;;
415- sh*)
416- BUILD_ARCH_DIR=sh
417---- a/src/icedtea-sound/configure
418-+++ b/src/icedtea-sound/configure
419-@@ -3719,12 +3719,14 @@
420- BUILD_ARCH_DIR=amd64
421- INSTALL_ARCH_DIR=amd64
422- JRE_ARCH_DIR=amd64
423-+ ARCHFLAG="-m64"
424- ;;
425- i?86)
426- BUILD_ARCH_DIR=i586
427- INSTALL_ARCH_DIR=i386
428- JRE_ARCH_DIR=i386
429- ARCH_PREFIX=${LINUX32}
430-+ ARCHFLAG="-m32"
431- ;;
432- alpha*)
433- BUILD_ARCH_DIR=alpha
434-@@ -3735,11 +3737,13 @@
435- BUILD_ARCH_DIR=arm
436- INSTALL_ARCH_DIR=arm
437- JRE_ARCH_DIR=arm
438-+ ARCHFLAG="-D_LITTLE_ENDIAN"
439- ;;
440- arm64|aarch64)
441- BUILD_ARCH_DIR=aarch64
442- INSTALL_ARCH_DIR=aarch64
443- JRE_ARCH_DIR=aarch64
444-+ ARCHFLAG="-D_LITTLE_ENDIAN"
445- ;;
446- mips)
447- BUILD_ARCH_DIR=mips
448-@@ -3756,16 +3760,19 @@
449- INSTALL_ARCH_DIR=ppc
450- JRE_ARCH_DIR=ppc
451- ARCH_PREFIX=${LINUX32}
452-+ ARCHFLAG="-m32"
453- ;;
454- powerpc64)
455- BUILD_ARCH_DIR=ppc64
456- INSTALL_ARCH_DIR=ppc64
457- JRE_ARCH_DIR=ppc64
458-+ ARCHFLAG="-m64"
459- ;;
460- powerpc64le)
461- BUILD_ARCH_DIR=ppc64
462- INSTALL_ARCH_DIR=ppc64
463- JRE_ARCH_DIR=ppc64
464-+ ARCHFLAG="-m64"
465- ;;
466- sparc)
467- BUILD_ARCH_DIR=sparc
468-@@ -3773,23 +3780,27 @@
469- JRE_ARCH_DIR=sparc
470- CROSS_TARGET_ARCH=sparc
471- ARCH_PREFIX=${LINUX32}
472-+ ARCHFLAG="-m32"
473- ;;
474- sparc64)
475- BUILD_ARCH_DIR=sparcv9
476- INSTALL_ARCH_DIR=sparcv9
477- JRE_ARCH_DIR=sparc64
478-+ ARCHFLAG="-m64"
479- ;;
480- s390)
481- BUILD_ARCH_DIR=s390
482- INSTALL_ARCH_DIR=s390
483- JRE_ARCH_DIR=s390
484- ARCH_PREFIX=${LINUX32}
485-+ ARCHFLAG="-m31"
486- ;;
487- s390x)
488- BUILD_ARCH_DIR=s390x
489- INSTALL_ARCH_DIR=s390x
490- JRE_ARCH_DIR=s390x
491- CROSS_TARGET_ARCH=s390x
492-+ ARCHFLAG="-m64"
493- ;;
494- sh*)
495- BUILD_ARCH_DIR=sh
496diff --git a/debian/patches/icedtea-sound2.diff b/debian/patches/icedtea-sound2.diff
497deleted file mode 100644
498index cd01771..0000000
499--- a/debian/patches/icedtea-sound2.diff
500+++ /dev/null
501@@ -1,22 +0,0 @@
502---- a/src/icedtea-sound/acinclude.m4
503-+++ b/src/icedtea-sound/acinclude.m4
504-@@ -527,7 +527,7 @@
505- }
506- }]
507- EOF
508-- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
509-+ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
510- if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then
511- it_cv_jdk_works=yes;
512- else
513---- a/src/icedtea-sound/configure
514-+++ b/src/icedtea-sound/configure
515-@@ -4601,7 +4601,7 @@
516- }
517- }
518- EOF
519-- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&5 2>&1; then
520-+ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&5 2>&1; then
521- if $JAVA -classpath . $BYTECODE >&5 2>&1; then
522- it_cv_jdk_works=yes;
523- else
524diff --git a/debian/patches/include-all-srcs.diff b/debian/patches/include-all-srcs.diff
525deleted file mode 100644
526index f73bfaf..0000000
527--- a/debian/patches/include-all-srcs.diff
528+++ /dev/null
529@@ -1,54 +0,0 @@
530---- a/src/jdk/make/CreateJars.gmk
531-+++ b/src/jdk/make/CreateJars.gmk
532-@@ -569,38 +569,12 @@
533- ##########################################################################################
534-
535- SRC_ZIP_INCLUDES = \
536-- com/sun/corba \
537-- com/sun/image/codec/jpeg \
538-- com/sun/imageio \
539-- com/sun/java_cup \
540-- com/sun/javadoc \
541-- com/sun/java/swing \
542-- com/sun/jmx \
543-- com/sun/naming \
544-- com/sun/org/apache \
545-- com/sun/security/auth \
546-- com/sun/security/jgss \
547-- com/sun/source \
548-+ com \
549- java \
550-- javax/accessibility \
551-- javax/annotation \
552-- javax/imageio \
553-- javax/lang \
554-- javax/management \
555-- javax/naming \
556-- javax/print \
557-- javax/rmi \
558-- javax/script \
559-- javax/security \
560-- javax/sound \
561-- javax/sql \
562-- javax/swing \
563-- javax/tools \
564-- javax/xml \
565-- org/ietf \
566-- org/omg \
567-- org/w3c/dom \
568-- org/xml/sax \
569-+ javax \
570-+ jdk \
571-+ org \
572-+ sun \
573- #
574-
575- SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
576-@@ -632,7 +606,6 @@
577- $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
578- SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \
579- INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
580-- EXCLUDES := javax/swing/beaninfo, \
581- SUFFIXES := .java .c .h, \
582- ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \
583- EXTRA_DEPS := $(LAUNCHER_ZIP_SRC)))
584diff --git a/debian/patches/java-access-bridge-security.diff b/debian/patches/java-access-bridge-security.diff
585deleted file mode 100644
586index 2e5d0e1..0000000
587--- a/debian/patches/java-access-bridge-security.diff
588+++ /dev/null
589@@ -1,15 +0,0 @@
590-# patch only used for builds with java-access-bridge support
591-
592---- openjdk/jdk/src/share/lib/security/java.security-linux
593-+++ openjdk/jdk/src/share/lib/security/java.security-linux
594-@@ -149,7 +149,9 @@
595- com.sun.org.apache.xml.internal.security.,\
596- com.sun.org.glassfish.,\
597- org.jcp.xml.dsig.internal.,\
598-- oracle.jrockit.jfr.
599-+ oracle.jrockit.jfr.,\
600-+ org.GNOME.Accessibility.,\
601-+ org.GNOME.Bonobo.
602- #
603- # List of comma-separated packages that start with or equal this string
604- # will cause a security exception to be thrown when
605diff --git a/debian/patches/jaw-classpath.diff b/debian/patches/jaw-classpath.diff
606index 77ff42d..ab77905 100644
607--- a/debian/patches/jaw-classpath.diff
608+++ b/debian/patches/jaw-classpath.diff
609@@ -2,7 +2,7 @@ Fix finding the Java ATK wrapper, see #900912
610
611 --- a/src/hotspot/os/linux/os_linux.cpp
612 +++ b/src/hotspot/os/linux/os_linux.cpp
613-@@ -481,6 +481,7 @@ void os::init_system_properties_values()
614+@@ -484,6 +484,7 @@
615 }
616 Arguments::set_java_home(buf);
617 set_boot_path('/', ':');
618diff --git a/debian/patches/jdk-pulseaudio.diff b/debian/patches/jdk-pulseaudio.diff
619deleted file mode 100644
620index 5b75862..0000000
621--- a/debian/patches/jdk-pulseaudio.diff
622+++ /dev/null
623@@ -1,16 +0,0 @@
624---- a/src/jdk/src/java.desktop/share/conf/sound.properties
625-+++ b/src/jdk/src/java.desktop/share/conf/sound.properties
626-@@ -37,3 +37,13 @@
627- # Specify the default Receiver by provider and name:
628- # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1
629- #
630-+
631-+javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
632-+javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
633-+javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
634-+javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
635-+
636-+#javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
637-+#javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
638-+#javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
639-+#javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
640diff --git a/debian/patches/jtreg-location.diff b/debian/patches/jtreg-location.diff
641index 59361c6..86c4bdb 100644
642--- a/debian/patches/jtreg-location.diff
643+++ b/debian/patches/jtreg-location.diff
644@@ -1,6 +1,6 @@
645 --- a/make/autoconf/toolchain.m4
646 +++ b/make/autoconf/toolchain.m4
647-@@ -1137,7 +1137,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
648+@@ -1069,7 +1069,7 @@
649 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
650 fi
651
652@@ -9,7 +9,7 @@
653 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
654 fi
655
656-@@ -1156,7 +1156,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
657+@@ -1088,7 +1088,7 @@
658 AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
659 JT_HOME=
660 else
661@@ -18,7 +18,7 @@
662 AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
663 JT_HOME=
664 elif test ! -x "$JT_HOME/bin/jtreg"; then
665-@@ -1176,7 +1176,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
666+@@ -1108,7 +1108,7 @@
667 if test "x$JTREGEXE" != x; then
668 # That's good, now try to derive JT_HOME
669 JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
670@@ -29,7 +29,7 @@
671 JTREGEXE=
672 --- a/make/RunTests.gmk
673 +++ b/make/RunTests.gmk
674-@@ -752,7 +752,7 @@ define SetupRunJtregTestBody
675+@@ -740,7 +740,7 @@
676
677 $1_COMMAND_LINE := \
678 $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
679@@ -40,7 +40,7 @@
680 -dir:$$(JTREG_TOPDIR) \
681 --- a/make/test/BuildFailureHandler.gmk
682 +++ b/make/test/BuildFailureHandler.gmk
683-@@ -39,7 +39,7 @@ FH_BASEDIR := $(TOPDIR)/test/failure_han
684+@@ -39,7 +39,7 @@
685 FH_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/failure_handler
686 FH_JAR := $(FH_SUPPORT)/jtregFailureHandler.jar
687
688diff --git a/debian/patches/kfreebsd-support-jamvm.diff b/debian/patches/kfreebsd-support-jamvm.diff
689deleted file mode 100644
690index 5e39ed2..0000000
691--- a/debian/patches/kfreebsd-support-jamvm.diff
692+++ /dev/null
693@@ -1,33 +0,0 @@
694---- a/src/jamvm/configure.ac
695-+++ b/src/jamvm/configure.ac
696-@@ -38,6 +38,7 @@
697- i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
698- i386-*-solaris*) host_cpu=x86 host_os=solaris ;;
699- x86_64-*-linux*) host_os=linux ;;
700-+x86_64-*-kfreebsd*) host_os=linux ;;
701- hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
702- mips*-*-linux*) host_cpu=mips host_os=linux ;;
703- x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;;
704---- a/src/jamvm/configure
705-+++ b/src/jamvm/configure
706-@@ -2926,6 +2926,7 @@
707- i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
708- i386-*-solaris*) host_cpu=x86 host_os=solaris ;;
709- x86_64-*-linux*) host_os=linux ;;
710-+x86_64-*-kfreebsd*) host_os=linux ;;
711- hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
712- mips*-*-linux*) host_cpu=mips host_os=linux ;;
713- x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;;
714---- a/src/jamvm/src/classlib/openjdk/jvm.c
715-+++ b/src/jamvm/src/classlib/openjdk/jvm.c
716-@@ -63,6 +63,10 @@
717- #define have_monotonic_clock FALSE
718- #endif
719-
720-+#ifndef TIOCINQ
721-+#define TIOCINQ FIONREAD
722-+#endif
723-+
724- static Class *cloneable_class, *constant_pool_class;
725- static Class *exception_class, *runtime_excp_class;
726-
727diff --git a/debian/patches/m68k-support.diff b/debian/patches/m68k-support.diff
728deleted file mode 100644
729index 62c2ec4..0000000
730--- a/debian/patches/m68k-support.diff
731+++ /dev/null
732@@ -1,1149 +0,0 @@
733-# HG changeset patch
734-# User glaubitz
735-# Date 1532184301 -7200
736-# Sat Jul 21 16:45:01 2018 +0200
737-# Node ID 418a697aef91a730b942129d5d41b6c68a871cd8
738-# Parent b0fcf59be3918afcaa13d1f97343968c2c467ffe
739-JDK-NNNNNNN: Zero needs alignment fixes for linux-m68k
740-
741---- /dev/null
742-+++ b/make/data/x11wrappergen/sizes-32-linux-m68k.txt
743-@@ -0,0 +1,1017 @@
744-+long 4
745-+int 4
746-+short 2
747-+ptr 4
748-+Bool 4
749-+Atom 4
750-+Window 4
751-+XExtData.number 0
752-+XExtData.next 4
753-+XExtData.free_private 8
754-+XExtData.private_data 12
755-+XExtData 16
756-+XIMStringConversionCallbackStruct.position 0
757-+XIMStringConversionCallbackStruct.direction 2
758-+XIMStringConversionCallbackStruct.operation 6
759-+XIMStringConversionCallbackStruct.factor 8
760-+XIMStringConversionCallbackStruct.text 10
761-+XIMStringConversionCallbackStruct 14
762-+XkbNewKeyboardNotifyEvent.type 0
763-+XkbNewKeyboardNotifyEvent.serial 4
764-+XkbNewKeyboardNotifyEvent.send_event 8
765-+XkbNewKeyboardNotifyEvent.display 12
766-+XkbNewKeyboardNotifyEvent.time 16
767-+XkbNewKeyboardNotifyEvent.xkb_type 20
768-+XkbNewKeyboardNotifyEvent.device 24
769-+XkbNewKeyboardNotifyEvent.old_device 28
770-+XkbNewKeyboardNotifyEvent.min_key_code 32
771-+XkbNewKeyboardNotifyEvent.max_key_code 36
772-+XkbNewKeyboardNotifyEvent.old_min_key_code 40
773-+XkbNewKeyboardNotifyEvent.old_max_key_code 44
774-+XkbNewKeyboardNotifyEvent.changed 48
775-+XkbNewKeyboardNotifyEvent.req_major 52
776-+XkbNewKeyboardNotifyEvent.req_minor 53
777-+XkbNewKeyboardNotifyEvent 54
778-+XTimeCoord.time 0
779-+XTimeCoord.x 4
780-+XTimeCoord.y 6
781-+XTimeCoord 8
782-+XkbCompatMapNotifyEvent.type 0
783-+XkbCompatMapNotifyEvent.serial 4
784-+XkbCompatMapNotifyEvent.send_event 8
785-+XkbCompatMapNotifyEvent.display 12
786-+XkbCompatMapNotifyEvent.time 16
787-+XkbCompatMapNotifyEvent.xkb_type 20
788-+XkbCompatMapNotifyEvent.device 24
789-+XkbCompatMapNotifyEvent.changed_groups 28
790-+XkbCompatMapNotifyEvent.first_si 32
791-+XkbCompatMapNotifyEvent.num_si 36
792-+XkbCompatMapNotifyEvent.num_total_si 40
793-+XkbCompatMapNotifyEvent 44
794-+XIMStatusDrawCallbackStruct.type 0
795-+XIMStatusDrawCallbackStruct.data 4
796-+XIMStatusDrawCallbackStruct 8
797-+XKeyboardControl.key_click_percent 0
798-+XKeyboardControl.bell_percent 4
799-+XKeyboardControl.bell_pitch 8
800-+XKeyboardControl.bell_duration 12
801-+XKeyboardControl.led 16
802-+XKeyboardControl.led_mode 20
803-+XKeyboardControl.key 24
804-+XKeyboardControl.auto_repeat_mode 28
805-+XKeyboardControl 32
806-+XSelectionClearEvent.type 0
807-+XSelectionClearEvent.serial 4
808-+XSelectionClearEvent.send_event 8
809-+XSelectionClearEvent.display 12
810-+XSelectionClearEvent.window 16
811-+XSelectionClearEvent.selection 20
812-+XSelectionClearEvent.time 24
813-+XSelectionClearEvent 28
814-+XWindowChanges.x 0
815-+XWindowChanges.y 4
816-+XWindowChanges.width 8
817-+XWindowChanges.height 12
818-+XWindowChanges.border_width 16
819-+XWindowChanges.sibling 20
820-+XWindowChanges.stack_mode 24
821-+XWindowChanges 28
822-+XIMPreeditCaretCallbackStruct.position 0
823-+XIMPreeditCaretCallbackStruct.direction 4
824-+XIMPreeditCaretCallbackStruct.style 8
825-+XIMPreeditCaretCallbackStruct 12
826-+XOMCharSetList.charset_count 0
827-+XOMCharSetList.charset_list 4
828-+XOMCharSetList 8
829-+XOMFontInfo.num_font 0
830-+XOMFontInfo.font_struct_list 4
831-+XOMFontInfo.font_name_list 8
832-+XOMFontInfo 12
833-+AwtScreenData.numConfigs 0
834-+AwtScreenData.root 4
835-+AwtScreenData.whitepixel 8
836-+AwtScreenData.blackpixel 12
837-+AwtScreenData.defaultConfig 16
838-+AwtScreenData.configs 20
839-+AwtScreenData 24
840-+XIMHotKeyTrigger.keysym 0
841-+XIMHotKeyTrigger.modifier 4
842-+XIMHotKeyTrigger.modifier_mask 8
843-+XIMHotKeyTrigger 12
844-+XCirculateEvent.type 0
845-+XCirculateEvent.serial 4
846-+XCirculateEvent.send_event 8
847-+XCirculateEvent.display 12
848-+XCirculateEvent.event 16
849-+XCirculateEvent.window 20
850-+XCirculateEvent.place 24
851-+XCirculateEvent 28
852-+Screen.ext_data 0
853-+Screen.display 4
854-+Screen.root 8
855-+Screen.width 12
856-+Screen.height 16
857-+Screen.mwidth 20
858-+Screen.mheight 24
859-+Screen.ndepths 28
860-+Screen.depths 32
861-+Screen.root_depth 36
862-+Screen.root_visual 40
863-+Screen.default_gc 44
864-+Screen.cmap 48
865-+Screen.white_pixel 52
866-+Screen.black_pixel 56
867-+Screen.max_maps 60
868-+Screen.min_maps 64
869-+Screen.backing_store 68
870-+Screen.save_unders 72
871-+Screen.root_input_mask 76
872-+Screen 80
873-+XMapRequestEvent.type 0
874-+XMapRequestEvent.serial 4
875-+XMapRequestEvent.send_event 8
876-+XMapRequestEvent.display 12
877-+XMapRequestEvent.parent 16
878-+XMapRequestEvent.window 20
879-+XMapRequestEvent 24
880-+XIMText.length 0
881-+XIMText.feedback 2
882-+XIMText.encoding_is_wchar 6
883-+XIMText.string 10
884-+XIMText 14
885-+XGraphicsExposeEvent.type 0
886-+XGraphicsExposeEvent.serial 4
887-+XGraphicsExposeEvent.send_event 8
888-+XGraphicsExposeEvent.display 12
889-+XGraphicsExposeEvent.drawable 16
890-+XGraphicsExposeEvent.x 20
891-+XGraphicsExposeEvent.y 24
892-+XGraphicsExposeEvent.width 28
893-+XGraphicsExposeEvent.height 32
894-+XGraphicsExposeEvent.count 36
895-+XGraphicsExposeEvent.major_code 40
896-+XGraphicsExposeEvent.minor_code 44
897-+XGraphicsExposeEvent 48
898-+XEvent.type 0
899-+XEvent.xany 0
900-+XEvent.xkey 0
901-+XEvent.xbutton 0
902-+XEvent.xmotion 0
903-+XEvent.xcrossing 0
904-+XEvent.xfocus 0
905-+XEvent.xexpose 0
906-+XEvent.xgraphicsexpose 0
907-+XEvent.xnoexpose 0
908-+XEvent.xvisibility 0
909-+XEvent.xcreatewindow 0
910-+XEvent.xdestroywindow 0
911-+XEvent.xunmap 0
912-+XEvent.xmap 0
913-+XEvent.xmaprequest 0
914-+XEvent.xreparent 0
915-+XEvent.xconfigure 0
916-+XEvent.xgravity 0
917-+XEvent.xresizerequest 0
918-+XEvent.xconfigurerequest 0
919-+XEvent.xcirculate 0
920-+XEvent.xcirculaterequest 0
921-+XEvent.xproperty 0
922-+XEvent.xselectionclear 0
923-+XEvent.xselectionrequest 0
924-+XEvent.xselection 0
925-+XEvent.xcolormap 0
926-+XEvent.xclient 0
927-+XEvent.xmapping 0
928-+XEvent.xerror 0
929-+XEvent.xkeymap 0
930-+XEvent.pad 0
931-+XEvent 96
932-+XRenderDirectFormat.red 0
933-+XRenderDirectFormat.redMask 2
934-+XRenderDirectFormat.green 4
935-+XRenderDirectFormat.greenMask 6
936-+XRenderDirectFormat.blue 8
937-+XRenderDirectFormat.blueMask 10
938-+XRenderDirectFormat.alpha 12
939-+XRenderDirectFormat.alphaMask 14
940-+XRenderDirectFormat 16
941-+ColorData.awt_Colors 0
942-+ColorData.awt_numICMcolors 4
943-+ColorData.awt_icmLUT 8
944-+ColorData.awt_icmLUT2Colors 12
945-+ColorData.img_grays 16
946-+ColorData.img_clr_tbl 20
947-+ColorData.img_oda_red 24
948-+ColorData.img_oda_green 28
949-+ColorData.img_oda_blue 32
950-+ColorData.pGrayInverseLutData 36
951-+ColorData.representsPrimaries 44
952-+ColorData.screendata 40
953-+ColorData 48
954-+XFontStruct.ext_data 0
955-+XFontStruct.fid 4
956-+XFontStruct.direction 8
957-+XFontStruct.min_char_or_byte2 12
958-+XFontStruct.max_char_or_byte2 16
959-+XFontStruct.min_byte1 20
960-+XFontStruct.max_byte1 24
961-+XFontStruct.all_chars_exist 28
962-+XFontStruct.n_properties 36
963-+XFontStruct.properties 40
964-+XFontStruct.min_bounds 44
965-+XFontStruct.max_bounds 56
966-+XFontStruct.per_char 68
967-+XFontStruct.ascent 72
968-+XFontStruct.descent 76
969-+XFontStruct 80
970-+XExtCodes.extension 0
971-+XExtCodes.major_opcode 4
972-+XExtCodes.first_event 8
973-+XExtCodes.first_error 12
974-+XExtCodes 16
975-+XFontSetExtents.max_ink_extent 0
976-+XFontSetExtents.max_logical_extent 8
977-+XFontSetExtents 16
978-+XSelectionEvent.type 0
979-+XSelectionEvent.serial 4
980-+XSelectionEvent.send_event 8
981-+XSelectionEvent.display 12
982-+XSelectionEvent.requestor 16
983-+XSelectionEvent.selection 20
984-+XSelectionEvent.target 24
985-+XSelectionEvent.property 28
986-+XSelectionEvent.time 32
987-+XSelectionEvent 36
988-+XArc.x 0
989-+XArc.y 2
990-+XArc.width 4
991-+XArc.height 6
992-+XArc.angle1 8
993-+XArc.angle2 10
994-+XArc 12
995-+XErrorEvent.type 0
996-+XErrorEvent.display 4
997-+XErrorEvent.resourceid 8
998-+XErrorEvent.serial 12
999-+XErrorEvent.error_code 16
1000-+XErrorEvent.request_code 17
1001-+XErrorEvent.minor_code 18
1002-+XErrorEvent 20
1003-+XConfigureRequestEvent.type 0
1004-+XConfigureRequestEvent.serial 4
1005-+XConfigureRequestEvent.send_event 8
1006-+XConfigureRequestEvent.display 12
1007-+XConfigureRequestEvent.parent 16
1008-+XConfigureRequestEvent.window 20
1009-+XConfigureRequestEvent.x 24
1010-+XConfigureRequestEvent.y 28
1011-+XConfigureRequestEvent.width 32
1012-+XConfigureRequestEvent.height 36
1013-+XConfigureRequestEvent.border_width 40
1014-+XConfigureRequestEvent.above 44
1015-+XConfigureRequestEvent.detail 48
1016-+XConfigureRequestEvent.value_mask 52
1017-+XConfigureRequestEvent 56
1018-+ScreenFormat.ext_data 0
1019-+ScreenFormat.depth 4
1020-+ScreenFormat.bits_per_pixel 8
1021-+ScreenFormat.scanline_pad 12
1022-+ScreenFormat 16
1023-+XButtonEvent.type 0
1024-+XButtonEvent.serial 4
1025-+XButtonEvent.send_event 8
1026-+XButtonEvent.display 12
1027-+XButtonEvent.window 16
1028-+XButtonEvent.root 20
1029-+XButtonEvent.subwindow 24
1030-+XButtonEvent.time 28
1031-+XButtonEvent.x 32
1032-+XButtonEvent.y 36
1033-+XButtonEvent.x_root 40
1034-+XButtonEvent.y_root 44
1035-+XButtonEvent.state 48
1036-+XButtonEvent.button 52
1037-+XButtonEvent.same_screen 56
1038-+XButtonEvent 60
1039-+XFontProp.name 0
1040-+XFontProp.card32 4
1041-+XFontProp 8
1042-+XIMValuesList.count_values 0
1043-+XIMValuesList.supported_values 2
1044-+XIMValuesList 6
1045-+XKeymapEvent.type 0
1046-+XKeymapEvent.serial 4
1047-+XKeymapEvent.send_event 8
1048-+XKeymapEvent.display 12
1049-+XKeymapEvent.window 16
1050-+XKeymapEvent.key_vector 20
1051-+XKeymapEvent 52
1052-+XTextItem16.chars 0
1053-+XTextItem16.nchars 4
1054-+XTextItem16.delta 8
1055-+XTextItem16.font 12
1056-+XTextItem16 16
1057-+XIMPreeditDrawCallbackStruct.caret 0
1058-+XIMPreeditDrawCallbackStruct.chg_first 4
1059-+XIMPreeditDrawCallbackStruct.chg_length 8
1060-+XIMPreeditDrawCallbackStruct.text 12
1061-+XIMPreeditDrawCallbackStruct 16
1062-+XVisualInfo.visual 0
1063-+XVisualInfo.visualid 4
1064-+XVisualInfo.screen 8
1065-+XVisualInfo.depth 12
1066-+XVisualInfo.class 16
1067-+XVisualInfo.red_mask 20
1068-+XVisualInfo.green_mask 24
1069-+XVisualInfo.blue_mask 28
1070-+XVisualInfo.colormap_size 32
1071-+XVisualInfo.bits_per_rgb 36
1072-+XVisualInfo 40
1073-+XkbControlsNotifyEvent.type 0
1074-+XkbControlsNotifyEvent.serial 4
1075-+XkbControlsNotifyEvent.send_event 8
1076-+XkbControlsNotifyEvent.display 12
1077-+XkbControlsNotifyEvent.time 16
1078-+XkbControlsNotifyEvent.xkb_type 20
1079-+XkbControlsNotifyEvent.device 24
1080-+XkbControlsNotifyEvent.changed_ctrls 28
1081-+XkbControlsNotifyEvent.enabled_ctrls 32
1082-+XkbControlsNotifyEvent.enabled_ctrl_changes 36
1083-+XkbControlsNotifyEvent.num_groups 40
1084-+XkbControlsNotifyEvent.keycode 44
1085-+XkbControlsNotifyEvent.event_type 45
1086-+XkbControlsNotifyEvent.req_major 46
1087-+XkbControlsNotifyEvent.req_minor 47
1088-+XkbControlsNotifyEvent 48
1089-+PropMwmHints.flags 0
1090-+PropMwmHints.functions 4
1091-+PropMwmHints.decorations 8
1092-+PropMwmHints.inputMode 12
1093-+PropMwmHints.status 16
1094-+PropMwmHints 20
1095-+XClientMessageEvent.type 0
1096-+XClientMessageEvent.serial 4
1097-+XClientMessageEvent.send_event 8
1098-+XClientMessageEvent.display 12
1099-+XClientMessageEvent.window 16
1100-+XClientMessageEvent.message_type 20
1101-+XClientMessageEvent.format 24
1102-+XClientMessageEvent.data 28
1103-+XClientMessageEvent 48
1104-+XAnyEvent.type 0
1105-+XAnyEvent.serial 4
1106-+XAnyEvent.send_event 8
1107-+XAnyEvent.display 12
1108-+XAnyEvent.window 16
1109-+XAnyEvent 20
1110-+XkbIndicatorNotifyEvent.type 0
1111-+XkbIndicatorNotifyEvent.serial 4
1112-+XkbIndicatorNotifyEvent.send_event 8
1113-+XkbIndicatorNotifyEvent.display 12
1114-+XkbIndicatorNotifyEvent.time 16
1115-+XkbIndicatorNotifyEvent.xkb_type 20
1116-+XkbIndicatorNotifyEvent.device 24
1117-+XkbIndicatorNotifyEvent.changed 28
1118-+XkbIndicatorNotifyEvent.state 32
1119-+XkbIndicatorNotifyEvent 36
1120-+XIMPreeditStateNotifyCallbackStruct.state 0
1121-+XIMPreeditStateNotifyCallbackStruct 4
1122-+XkbAnyEvent.type 0
1123-+XkbAnyEvent.serial 4
1124-+XkbAnyEvent.send_event 8
1125-+XkbAnyEvent.display 12
1126-+XkbAnyEvent.time 16
1127-+XkbAnyEvent.xkb_type 20
1128-+XkbAnyEvent.device 24
1129-+XkbAnyEvent 28
1130-+XMotionEvent.type 0
1131-+XMotionEvent.serial 4
1132-+XMotionEvent.send_event 8
1133-+XMotionEvent.display 12
1134-+XMotionEvent.window 16
1135-+XMotionEvent.root 20
1136-+XMotionEvent.subwindow 24
1137-+XMotionEvent.time 28
1138-+XMotionEvent.x 32
1139-+XMotionEvent.y 36
1140-+XMotionEvent.x_root 40
1141-+XMotionEvent.y_root 44
1142-+XMotionEvent.state 48
1143-+XMotionEvent.is_hint 52
1144-+XMotionEvent.same_screen 54
1145-+XMotionEvent 58
1146-+XIMHotKeyTriggers.num_hot_key 0
1147-+XIMHotKeyTriggers.key 4
1148-+XIMHotKeyTriggers 8
1149-+XIMStyles.count_styles 0
1150-+XIMStyles.supported_styles 2
1151-+XIMStyles 6
1152-+XkbExtensionDeviceNotifyEvent.type 0
1153-+XkbExtensionDeviceNotifyEvent.serial 4
1154-+XkbExtensionDeviceNotifyEvent.send_event 8
1155-+XkbExtensionDeviceNotifyEvent.display 12
1156-+XkbExtensionDeviceNotifyEvent.time 16
1157-+XkbExtensionDeviceNotifyEvent.xkb_type 20
1158-+XkbExtensionDeviceNotifyEvent.device 24
1159-+XkbExtensionDeviceNotifyEvent.reason 28
1160-+XkbExtensionDeviceNotifyEvent.supported 32
1161-+XkbExtensionDeviceNotifyEvent.unsupported 36
1162-+XkbExtensionDeviceNotifyEvent.first_btn 40
1163-+XkbExtensionDeviceNotifyEvent.num_btns 44
1164-+XkbExtensionDeviceNotifyEvent.leds_defined 48
1165-+XkbExtensionDeviceNotifyEvent.led_state 52
1166-+XkbExtensionDeviceNotifyEvent.led_class 56
1167-+XkbExtensionDeviceNotifyEvent.led_id 60
1168-+XkbExtensionDeviceNotifyEvent 64
1169-+XwcTextItem.chars 0
1170-+XwcTextItem.nchars 4
1171-+XwcTextItem.delta 8
1172-+XwcTextItem.font_set 12
1173-+XwcTextItem 16
1174-+XClassHint.res_name 0
1175-+XClassHint.res_class 4
1176-+XClassHint 8
1177-+XChar2b.byte1 0
1178-+XChar2b.byte2 1
1179-+XChar2b 2
1180-+XSetWindowAttributes.background_pixmap 0
1181-+XSetWindowAttributes.background_pixel 4
1182-+XSetWindowAttributes.border_pixmap 8
1183-+XSetWindowAttributes.border_pixel 12
1184-+XSetWindowAttributes.bit_gravity 16
1185-+XSetWindowAttributes.win_gravity 20
1186-+XSetWindowAttributes.backing_store 24
1187-+XSetWindowAttributes.backing_planes 28
1188-+XSetWindowAttributes.backing_pixel 32
1189-+XSetWindowAttributes.save_under 36
1190-+XSetWindowAttributes.event_mask 40
1191-+XSetWindowAttributes.do_not_propagate_mask 44
1192-+XSetWindowAttributes.override_redirect 48
1193-+XSetWindowAttributes.colormap 52
1194-+XSetWindowAttributes.cursor 56
1195-+XSetWindowAttributes 60
1196-+XRenderPictFormat.id 0
1197-+XRenderPictFormat.type 4
1198-+XRenderPictFormat.depth 8
1199-+XRenderPictFormat.direct 12
1200-+XRenderPictFormat.colormap 28
1201-+XRenderPictFormat 32
1202-+XReparentEvent.type 0
1203-+XReparentEvent.serial 4
1204-+XReparentEvent.send_event 8
1205-+XReparentEvent.display 12
1206-+XReparentEvent.event 16
1207-+XReparentEvent.window 20
1208-+XReparentEvent.parent 24
1209-+XReparentEvent.x 28
1210-+XReparentEvent.y 32
1211-+XReparentEvent.override_redirect 36
1212-+XReparentEvent 40
1213-+XCirculateRequestEvent.type 0
1214-+XCirculateRequestEvent.serial 4
1215-+XCirculateRequestEvent.send_event 8
1216-+XCirculateRequestEvent.display 12
1217-+XCirculateRequestEvent.parent 16
1218-+XCirculateRequestEvent.window 20
1219-+XCirculateRequestEvent.place 24
1220-+XCirculateRequestEvent 28
1221-+XImage.width 0
1222-+XImage.height 4
1223-+XImage.xoffset 8
1224-+XImage.format 12
1225-+XImage.data 16
1226-+XImage.byte_order 20
1227-+XImage.bitmap_unit 24
1228-+XImage.bitmap_bit_order 28
1229-+XImage.bitmap_pad 32
1230-+XImage.depth 36
1231-+XImage.bytes_per_line 40
1232-+XImage.bits_per_pixel 44
1233-+XImage.red_mask 48
1234-+XImage.green_mask 52
1235-+XImage.blue_mask 56
1236-+XImage.obdata 60
1237-+XImage.f.create_image 64
1238-+XImage.f.destroy_image 68
1239-+XImage.f.get_pixel 72
1240-+XImage.f.put_pixel 76
1241-+XImage.f.sub_image 80
1242-+XImage.f.add_pixel 84
1243-+XImage 88
1244-+XKeyEvent.type 0
1245-+XKeyEvent.serial 4
1246-+XKeyEvent.send_event 8
1247-+XKeyEvent.display 12
1248-+XKeyEvent.window 16
1249-+XKeyEvent.root 20
1250-+XKeyEvent.subwindow 24
1251-+XKeyEvent.time 28
1252-+XKeyEvent.x 32
1253-+XKeyEvent.y 36
1254-+XKeyEvent.x_root 40
1255-+XKeyEvent.y_root 44
1256-+XKeyEvent.state 48
1257-+XKeyEvent.keycode 52
1258-+XKeyEvent.same_screen 56
1259-+XKeyEvent 60
1260-+XkbActionMessageEvent.type 0
1261-+XkbActionMessageEvent.serial 4
1262-+XkbActionMessageEvent.send_event 8
1263-+XkbActionMessageEvent.display 12
1264-+XkbActionMessageEvent.time 16
1265-+XkbActionMessageEvent.xkb_type 20
1266-+XkbActionMessageEvent.device 24
1267-+XkbActionMessageEvent.keycode 28
1268-+XkbActionMessageEvent.press 30
1269-+XkbActionMessageEvent.key_event_follows 34
1270-+XkbActionMessageEvent.group 38
1271-+XkbActionMessageEvent.mods 42
1272-+XkbActionMessageEvent.message 46
1273-+XkbActionMessageEvent 54
1274-+XdbeSwapInfo.swap_window 0
1275-+XdbeSwapInfo.swap_action 4
1276-+XdbeSwapInfo 6
1277-+XTextItem.chars 0
1278-+XTextItem.nchars 4
1279-+XTextItem.delta 8
1280-+XTextItem.font 12
1281-+XTextItem 16
1282-+XModifierKeymap.max_keypermod 0
1283-+XModifierKeymap.modifiermap 4
1284-+XModifierKeymap 8
1285-+XCharStruct.lbearing 0
1286-+XCharStruct.rbearing 2
1287-+XCharStruct.width 4
1288-+XCharStruct.ascent 6
1289-+XCharStruct.descent 8
1290-+XCharStruct.attributes 10
1291-+XCharStruct 12
1292-+XGravityEvent.type 0
1293-+XGravityEvent.serial 4
1294-+XGravityEvent.send_event 8
1295-+XGravityEvent.display 12
1296-+XGravityEvent.event 16
1297-+XGravityEvent.window 20
1298-+XGravityEvent.x 24
1299-+XGravityEvent.y 28
1300-+XGravityEvent 32
1301-+Visual.ext_data 0
1302-+Visual.visualid 4
1303-+Visual.class 8
1304-+Visual.red_mask 12
1305-+Visual.green_mask 16
1306-+Visual.blue_mask 20
1307-+Visual.bits_per_rgb 24
1308-+Visual.map_entries 28
1309-+Visual 32
1310-+XOMOrientation.num_orientation 0
1311-+XOMOrientation.orientation 4
1312-+XOMOrientation 8
1313-+XkbAccessXNotifyEvent.type 0
1314-+XkbAccessXNotifyEvent.serial 4
1315-+XkbAccessXNotifyEvent.send_event 8
1316-+XkbAccessXNotifyEvent.display 12
1317-+XkbAccessXNotifyEvent.time 16
1318-+XkbAccessXNotifyEvent.xkb_type 20
1319-+XkbAccessXNotifyEvent.device 24
1320-+XkbAccessXNotifyEvent.detail 28
1321-+XkbAccessXNotifyEvent.keycode 32
1322-+XkbAccessXNotifyEvent.sk_delay 36
1323-+XkbAccessXNotifyEvent.debounce_delay 40
1324-+XkbAccessXNotifyEvent 44
1325-+XWindowAttributes.x 0
1326-+XWindowAttributes.y 4
1327-+XWindowAttributes.width 8
1328-+XWindowAttributes.height 12
1329-+XWindowAttributes.border_width 16
1330-+XWindowAttributes.depth 20
1331-+XWindowAttributes.visual 24
1332-+XWindowAttributes.root 28
1333-+XWindowAttributes.class 32
1334-+XWindowAttributes.bit_gravity 36
1335-+XWindowAttributes.win_gravity 40
1336-+XWindowAttributes.backing_store 44
1337-+XWindowAttributes.backing_planes 48
1338-+XWindowAttributes.backing_pixel 52
1339-+XWindowAttributes.save_under 56
1340-+XWindowAttributes.colormap 60
1341-+XWindowAttributes.map_installed 64
1342-+XWindowAttributes.map_state 68
1343-+XWindowAttributes.all_event_masks 72
1344-+XWindowAttributes.your_event_mask 76
1345-+XWindowAttributes.do_not_propagate_mask 80
1346-+XWindowAttributes.override_redirect 84
1347-+XWindowAttributes.screen 88
1348-+XWindowAttributes 92
1349-+XmbTextItem.chars 0
1350-+XmbTextItem.nchars 4
1351-+XmbTextItem.delta 8
1352-+XmbTextItem.font_set 12
1353-+XmbTextItem 16
1354-+XMappingEvent.type 0
1355-+XMappingEvent.serial 4
1356-+XMappingEvent.send_event 8
1357-+XMappingEvent.display 12
1358-+XMappingEvent.window 16
1359-+XMappingEvent.request 20
1360-+XMappingEvent.first_keycode 24
1361-+XMappingEvent.count 28
1362-+XMappingEvent 32
1363-+XSizeHints.flags 0
1364-+XSizeHints.x 4
1365-+XSizeHints.y 8
1366-+XSizeHints.width 12
1367-+XSizeHints.height 16
1368-+XSizeHints.min_width 20
1369-+XSizeHints.min_height 24
1370-+XSizeHints.max_width 28
1371-+XSizeHints.max_height 32
1372-+XSizeHints.width_inc 36
1373-+XSizeHints.height_inc 40
1374-+XSizeHints.min_aspect.x 44
1375-+XSizeHints.min_aspect.y 48
1376-+XSizeHints.max_aspect.x 52
1377-+XSizeHints.max_aspect.y 56
1378-+XSizeHints.base_width 60
1379-+XSizeHints.base_height 64
1380-+XSizeHints.win_gravity 68
1381-+XSizeHints 72
1382-+XUnmapEvent.type 0
1383-+XUnmapEvent.serial 4
1384-+XUnmapEvent.send_event 8
1385-+XUnmapEvent.display 12
1386-+XUnmapEvent.event 16
1387-+XUnmapEvent.window 20
1388-+XUnmapEvent.from_configure 24
1389-+XUnmapEvent 28
1390-+awtImageData.Depth 0
1391-+awtImageData.wsImageFormat 4
1392-+awtImageData.clrdata 16
1393-+awtImageData.convert 48
1394-+awtImageData 304
1395-+XkbStateNotifyEvent.type 0
1396-+XkbStateNotifyEvent.serial 4
1397-+XkbStateNotifyEvent.send_event 8
1398-+XkbStateNotifyEvent.display 12
1399-+XkbStateNotifyEvent.time 16
1400-+XkbStateNotifyEvent.xkb_type 20
1401-+XkbStateNotifyEvent.device 24
1402-+XkbStateNotifyEvent.changed 28
1403-+XkbStateNotifyEvent.group 32
1404-+XkbStateNotifyEvent.base_group 36
1405-+XkbStateNotifyEvent.latched_group 40
1406-+XkbStateNotifyEvent.locked_group 44
1407-+XkbStateNotifyEvent.mods 48
1408-+XkbStateNotifyEvent.base_mods 52
1409-+XkbStateNotifyEvent.latched_mods 56
1410-+XkbStateNotifyEvent.locked_mods 60
1411-+XkbStateNotifyEvent.compat_state 64
1412-+XkbStateNotifyEvent.grab_mods 68
1413-+XkbStateNotifyEvent.compat_grab_mods 69
1414-+XkbStateNotifyEvent.lookup_mods 70
1415-+XkbStateNotifyEvent.compat_lookup_mods 71
1416-+XkbStateNotifyEvent.ptr_buttons 72
1417-+XkbStateNotifyEvent.keycode 76
1418-+XkbStateNotifyEvent.event_type 77
1419-+XkbStateNotifyEvent.req_major 78
1420-+XkbStateNotifyEvent.req_minor 79
1421-+XkbStateNotifyEvent 80
1422-+XExposeEvent.type 0
1423-+XExposeEvent.serial 4
1424-+XExposeEvent.send_event 8
1425-+XExposeEvent.display 12
1426-+XExposeEvent.window 16
1427-+XExposeEvent.x 20
1428-+XExposeEvent.y 24
1429-+XExposeEvent.width 28
1430-+XExposeEvent.height 32
1431-+XExposeEvent.count 36
1432-+XExposeEvent 40
1433-+XkbMapNotifyEvent.type 0
1434-+XkbMapNotifyEvent.serial 4
1435-+XkbMapNotifyEvent.send_event 8
1436-+XkbMapNotifyEvent.display 12
1437-+XkbMapNotifyEvent.time 16
1438-+XkbMapNotifyEvent.xkb_type 20
1439-+XkbMapNotifyEvent.device 24
1440-+XkbMapNotifyEvent.changed 28
1441-+XkbMapNotifyEvent.flags 32
1442-+XkbMapNotifyEvent.first_type 36
1443-+XkbMapNotifyEvent.num_types 40
1444-+XkbMapNotifyEvent.min_key_code 44
1445-+XkbMapNotifyEvent.max_key_code 45
1446-+XkbMapNotifyEvent.first_key_sym 46
1447-+XkbMapNotifyEvent.first_key_act 47
1448-+XkbMapNotifyEvent.first_key_behavior 48
1449-+XkbMapNotifyEvent.first_key_explicit 49
1450-+XkbMapNotifyEvent.first_modmap_key 50
1451-+XkbMapNotifyEvent.first_vmodmap_key 51
1452-+XkbMapNotifyEvent.num_key_syms 52
1453-+XkbMapNotifyEvent.num_key_acts 56
1454-+XkbMapNotifyEvent.num_key_behaviors 60
1455-+XkbMapNotifyEvent.num_key_explicit 64
1456-+XkbMapNotifyEvent.num_modmap_keys 68
1457-+XkbMapNotifyEvent.num_vmodmap_keys 72
1458-+XkbMapNotifyEvent.vmods 76
1459-+XkbMapNotifyEvent 80
1460-+XGCValues.function 0
1461-+XGCValues.plane_mask 4
1462-+XGCValues.foreground 8
1463-+XGCValues.background 12
1464-+XGCValues.line_width 16
1465-+XGCValues.line_style 20
1466-+XGCValues.cap_style 24
1467-+XGCValues.join_style 28
1468-+XGCValues.fill_style 32
1469-+XGCValues.fill_rule 36
1470-+XGCValues.arc_mode 40
1471-+XGCValues.tile 44
1472-+XGCValues.stipple 48
1473-+XGCValues.ts_x_origin 52
1474-+XGCValues.ts_y_origin 56
1475-+XGCValues.font 60
1476-+XGCValues.subwindow_mode 64
1477-+XGCValues.graphics_exposures 68
1478-+XGCValues.clip_x_origin 72
1479-+XGCValues.clip_y_origin 76
1480-+XGCValues.clip_mask 80
1481-+XGCValues.dash_offset 84
1482-+XGCValues.dashes 88
1483-+XGCValues 90
1484-+XFocusChangeEvent.type 0
1485-+XFocusChangeEvent.serial 4
1486-+XFocusChangeEvent.send_event 8
1487-+XFocusChangeEvent.display 12
1488-+XFocusChangeEvent.window 16
1489-+XFocusChangeEvent.mode 20
1490-+XFocusChangeEvent.detail 24
1491-+XFocusChangeEvent 28
1492-+XPixmapFormatValues.depth 0
1493-+XPixmapFormatValues.bits_per_pixel 4
1494-+XPixmapFormatValues.scanline_pad 8
1495-+XPixmapFormatValues 12
1496-+XMapEvent.type 0
1497-+XMapEvent.serial 4
1498-+XMapEvent.send_event 8
1499-+XMapEvent.display 12
1500-+XMapEvent.event 16
1501-+XMapEvent.window 20
1502-+XMapEvent.override_redirect 24
1503-+XMapEvent 28
1504-+XkbBellNotifyEvent.type 0
1505-+XkbBellNotifyEvent.serial 4
1506-+XkbBellNotifyEvent.send_event 8
1507-+XkbBellNotifyEvent.display 12
1508-+XkbBellNotifyEvent.time 16
1509-+XkbBellNotifyEvent.xkb_type 20
1510-+XkbBellNotifyEvent.device 24
1511-+XkbBellNotifyEvent.percent 28
1512-+XkbBellNotifyEvent.pitch 32
1513-+XkbBellNotifyEvent.duration 36
1514-+XkbBellNotifyEvent.bell_class 40
1515-+XkbBellNotifyEvent.bell_id 44
1516-+XkbBellNotifyEvent.name 48
1517-+XkbBellNotifyEvent.window 52
1518-+XkbBellNotifyEvent.event_only 56
1519-+XkbBellNotifyEvent 60
1520-+XIMStringConversionText.length 0
1521-+XIMStringConversionText.feedback 2
1522-+XIMStringConversionText.encoding_is_wchar 6
1523-+XIMStringConversionText.string 10
1524-+XIMStringConversionText 14
1525-+XKeyboardState.key_click_percent 0
1526-+XKeyboardState.bell_percent 4
1527-+XKeyboardState.bell_pitch 8
1528-+XKeyboardState.bell_duration 12
1529-+XKeyboardState.led_mask 16
1530-+XKeyboardState.global_auto_repeat 20
1531-+XKeyboardState.auto_repeats 24
1532-+XKeyboardState 56
1533-+XkbEvent.type 0
1534-+XkbEvent.any 0
1535-+XkbEvent.new_kbd 0
1536-+XkbEvent.map 0
1537-+XkbEvent.state 0
1538-+XkbEvent.ctrls 0
1539-+XkbEvent.indicators 0
1540-+XkbEvent.names 0
1541-+XkbEvent.compat 0
1542-+XkbEvent.bell 0
1543-+XkbEvent.message 0
1544-+XkbEvent.accessx 0
1545-+XkbEvent.device 0
1546-+XkbEvent.core 0
1547-+XkbEvent 96
1548-+XPoint.x 0
1549-+XPoint.y 2
1550-+XPoint 4
1551-+XSegment.x1 0
1552-+XSegment.y1 2
1553-+XSegment.x2 4
1554-+XSegment.y2 6
1555-+XSegment 8
1556-+XIconSize.min_width 0
1557-+XIconSize.min_height 4
1558-+XIconSize.max_width 8
1559-+XIconSize.max_height 12
1560-+XIconSize.width_inc 16
1561-+XIconSize.height_inc 20
1562-+XIconSize 24
1563-+XIMCallback.client_data 0
1564-+XIMCallback.callback 4
1565-+XIMCallback 8
1566-+XConfigureEvent.type 0
1567-+XConfigureEvent.serial 4
1568-+XConfigureEvent.send_event 8
1569-+XConfigureEvent.display 12
1570-+XConfigureEvent.event 16
1571-+XConfigureEvent.window 20
1572-+XConfigureEvent.x 24
1573-+XConfigureEvent.y 28
1574-+XConfigureEvent.width 32
1575-+XConfigureEvent.height 36
1576-+XConfigureEvent.border_width 40
1577-+XConfigureEvent.above 44
1578-+XConfigureEvent.override_redirect 48
1579-+XConfigureEvent 52
1580-+XRectangle.x 0
1581-+XRectangle.y 2
1582-+XRectangle.width 4
1583-+XRectangle.height 6
1584-+XRectangle 8
1585-+XkbNamesNotifyEvent.type 0
1586-+XkbNamesNotifyEvent.serial 4
1587-+XkbNamesNotifyEvent.send_event 8
1588-+XkbNamesNotifyEvent.display 12
1589-+XkbNamesNotifyEvent.time 16
1590-+XkbNamesNotifyEvent.xkb_type 20
1591-+XkbNamesNotifyEvent.device 24
1592-+XkbNamesNotifyEvent.changed 28
1593-+XkbNamesNotifyEvent.first_type 32
1594-+XkbNamesNotifyEvent.num_types 36
1595-+XkbNamesNotifyEvent.first_lvl 40
1596-+XkbNamesNotifyEvent.num_lvls 44
1597-+XkbNamesNotifyEvent.num_aliases 48
1598-+XkbNamesNotifyEvent.num_radio_groups 52
1599-+XkbNamesNotifyEvent.changed_vmods 56
1600-+XkbNamesNotifyEvent.changed_groups 60
1601-+XkbNamesNotifyEvent.changed_indicators 64
1602-+XkbNamesNotifyEvent.first_key 68
1603-+XkbNamesNotifyEvent.num_keys 72
1604-+XkbNamesNotifyEvent 76
1605-+XCreateWindowEvent.type 0
1606-+XCreateWindowEvent.serial 4
1607-+XCreateWindowEvent.send_event 8
1608-+XCreateWindowEvent.display 12
1609-+XCreateWindowEvent.parent 16
1610-+XCreateWindowEvent.window 20
1611-+XCreateWindowEvent.x 24
1612-+XCreateWindowEvent.y 28
1613-+XCreateWindowEvent.width 32
1614-+XCreateWindowEvent.height 36
1615-+XCreateWindowEvent.border_width 40
1616-+XCreateWindowEvent.override_redirect 44
1617-+XCreateWindowEvent 48
1618-+XVisibilityEvent.type 0
1619-+XVisibilityEvent.serial 4
1620-+XVisibilityEvent.send_event 8
1621-+XVisibilityEvent.display 12
1622-+XVisibilityEvent.window 16
1623-+XVisibilityEvent.state 20
1624-+XVisibilityEvent 24
1625-+XWMHints.flags 0
1626-+XWMHints.initial_state 8
1627-+XWMHints.icon_pixmap 12
1628-+XWMHints.icon_window 16
1629-+XWMHints.icon_x 20
1630-+XWMHints.icon_y 24
1631-+XWMHints.icon_mask 28
1632-+XWMHints.input 4
1633-+XWMHints.window_group 32
1634-+XWMHints 36
1635-+XCrossingEvent.type 0
1636-+XCrossingEvent.serial 4
1637-+XCrossingEvent.send_event 8
1638-+XCrossingEvent.display 12
1639-+XCrossingEvent.window 16
1640-+XCrossingEvent.root 20
1641-+XCrossingEvent.subwindow 24
1642-+XCrossingEvent.time 28
1643-+XCrossingEvent.x 32
1644-+XCrossingEvent.y 36
1645-+XCrossingEvent.x_root 40
1646-+XCrossingEvent.y_root 44
1647-+XCrossingEvent.mode 48
1648-+XCrossingEvent.detail 52
1649-+XCrossingEvent.same_screen 56
1650-+XCrossingEvent.focus 60
1651-+XCrossingEvent.state 64
1652-+XCrossingEvent 68
1653-+XSelectionRequestEvent.type 0
1654-+XSelectionRequestEvent.serial 4
1655-+XSelectionRequestEvent.send_event 8
1656-+XSelectionRequestEvent.display 12
1657-+XSelectionRequestEvent.owner 16
1658-+XSelectionRequestEvent.requestor 20
1659-+XSelectionRequestEvent.selection 24
1660-+XSelectionRequestEvent.target 28
1661-+XSelectionRequestEvent.property 32
1662-+XSelectionRequestEvent.time 36
1663-+XSelectionRequestEvent 40
1664-+XNoExposeEvent.type 0
1665-+XNoExposeEvent.serial 4
1666-+XNoExposeEvent.send_event 8
1667-+XNoExposeEvent.display 12
1668-+XNoExposeEvent.drawable 16
1669-+XNoExposeEvent.major_code 20
1670-+XNoExposeEvent.minor_code 24
1671-+XNoExposeEvent 28
1672-+XHostAddress.family 0
1673-+XHostAddress.length 4
1674-+XHostAddress.address 8
1675-+XHostAddress 12
1676-+XColormapEvent.type 0
1677-+XColormapEvent.serial 4
1678-+XColormapEvent.send_event 8
1679-+XColormapEvent.display 12
1680-+XColormapEvent.window 16
1681-+XColormapEvent.colormap 20
1682-+XColormapEvent.new 24
1683-+XColormapEvent.state 28
1684-+XColormapEvent 32
1685-+ColorEntry.r 0
1686-+ColorEntry.g 1
1687-+ColorEntry.b 2
1688-+ColorEntry.flags 3
1689-+ColorEntry 4
1690-+XResizeRequestEvent.type 0
1691-+XResizeRequestEvent.serial 4
1692-+XResizeRequestEvent.send_event 8
1693-+XResizeRequestEvent.display 12
1694-+XResizeRequestEvent.window 16
1695-+XResizeRequestEvent.width 20
1696-+XResizeRequestEvent.height 24
1697-+XResizeRequestEvent 28
1698-+Depth.depth 0
1699-+Depth.nvisuals 4
1700-+Depth.visuals 8
1701-+Depth 12
1702-+XPropertyEvent.type 0
1703-+XPropertyEvent.serial 4
1704-+XPropertyEvent.send_event 8
1705-+XPropertyEvent.display 12
1706-+XPropertyEvent.window 16
1707-+XPropertyEvent.atom 20
1708-+XPropertyEvent.time 24
1709-+XPropertyEvent.state 28
1710-+XPropertyEvent 32
1711-+XDestroyWindowEvent.type 0
1712-+XDestroyWindowEvent.serial 4
1713-+XDestroyWindowEvent.send_event 8
1714-+XDestroyWindowEvent.display 12
1715-+XDestroyWindowEvent.event 16
1716-+XDestroyWindowEvent.window 20
1717-+XDestroyWindowEvent 24
1718-+XStandardColormap.colormap 0
1719-+XStandardColormap.red_max 4
1720-+XStandardColormap.red_mult 8
1721-+XStandardColormap.green_max 12
1722-+XStandardColormap.green_mult 16
1723-+XStandardColormap.blue_max 20
1724-+XStandardColormap.blue_mult 24
1725-+XStandardColormap.base_pixel 28
1726-+XStandardColormap.visualid 32
1727-+XStandardColormap.killid 36
1728-+XStandardColormap 40
1729-+XComposeStatus.compose_ptr 0
1730-+XComposeStatus.chars_matched 4
1731-+XComposeStatus 8
1732-+AwtGraphicsConfigData.awt_depth 0
1733-+AwtGraphicsConfigData.awt_cmap 4
1734-+AwtGraphicsConfigData.awt_visInfo 8
1735-+AwtGraphicsConfigData.awt_num_colors 48
1736-+AwtGraphicsConfigData.awtImage 52
1737-+AwtGraphicsConfigData.AwtColorMatch 56
1738-+AwtGraphicsConfigData.monoImage 60
1739-+AwtGraphicsConfigData.monoPixmap 64
1740-+AwtGraphicsConfigData.monoPixmapWidth 68
1741-+AwtGraphicsConfigData.monoPixmapHeight 72
1742-+AwtGraphicsConfigData.monoPixmapGC 76
1743-+AwtGraphicsConfigData.pixelStride 80
1744-+AwtGraphicsConfigData.color_data 84
1745-+AwtGraphicsConfigData.glxInfo 88
1746-+AwtGraphicsConfigData.isTranslucencySupported 92
1747-+AwtGraphicsConfigData.renderPictFormat 96
1748-+AwtGraphicsConfigData 128
1749-+XColor.pixel 0
1750-+XColor.red 4
1751-+XColor.green 6
1752-+XColor.blue 8
1753-+XColor.flags 10
1754-+XColor.pad 11
1755-+XColor 12
1756-+XTextProperty.value 0
1757-+XTextProperty.encoding 4
1758-+XTextProperty.format 8
1759-+XTextProperty.nitems 12
1760-+XTextProperty 16
1761---- a/make/gensrc/GensrcX11Wrappers.gmk
1762-+++ b/make/gensrc/GensrcX11Wrappers.gmk
1763-@@ -33,9 +33,14 @@ GENSRC_X11WRAPPERS_MARKER := $(GENSRC_X1
1764- # Put the generated Java classes used to interface X11 from awt here.
1765- GENSRC_X11WRAPPERS_OUTPUTDIR := $(GENSRC_X11WRAPPERS_OUTPUT_TOP)/sun/awt/X11
1766-
1767-+GENSRC_X11_VERSION_VARIANT :=
1768-+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-m68k)
1769-+ GENSRC_X11_VERSION_VARIANT := -linux-m68k
1770-+endif
1771-+
1772- # The pre-calculated offset file are stored here:
1773- GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
1774--GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS).txt
1775-+GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS)$(GENSRC_X11_VERSION_VARIANT).txt
1776-
1777- # Run the tool on the offset files to generate several Java classes used in awt.
1778- $(GENSRC_X11WRAPPERS_MARKER): $(BUILD_TOOLS_JDK) $(GENSRC_X11WRAPPERS_DATA) \
1779---- a/src/hotspot/share/memory/allocation.hpp
1780-+++ b/src/hotspot/share/memory/allocation.hpp
1781-@@ -211,7 +211,7 @@ template <MEMFLAGS F> class CHeapObj ALL
1782-
1783- void operator delete(void* p) { FreeHeap(p); }
1784- void operator delete [] (void* p) { FreeHeap(p); }
1785--};
1786-+} __attribute__ ((aligned (4)));
1787-
1788- // Base class for objects allocated on the stack only.
1789- // Calling new or delete will result in fatal error.
1790-@@ -225,7 +225,7 @@ class StackObj ALLOCATION_SUPER_CLASS_SP
1791- #endif
1792- void operator delete(void* p);
1793- void operator delete [](void* p);
1794--};
1795-+} __attribute__ ((aligned (4)));
1796-
1797- // Base class for objects stored in Metaspace.
1798- // Calling delete will result in fatal error.
1799-@@ -326,7 +326,7 @@ class MetaspaceObj {
1800- // that should be read-only by default. See symbol.hpp for an example. This function
1801- // is used by the templates in metaspaceClosure.hpp
1802- static bool is_read_only_by_default() { return false; }
1803--};
1804-+} __attribute__ ((aligned (4)));
1805-
1806- // Base class for classes that constitute name spaces.
1807-
1808-@@ -416,7 +416,7 @@ class ResourceObj ALLOCATION_SUPER_CLASS
1809-
1810- void operator delete(void* p);
1811- void operator delete [](void* p);
1812--};
1813-+} __attribute__ ((aligned (4)));
1814-
1815- // One of the following macros must be used when allocating an array
1816- // or object to determine whether it should reside in the C heap on in
1817---- a/src/hotspot/share/oops/constMethod.hpp
1818-+++ b/src/hotspot/share/oops/constMethod.hpp
1819-@@ -559,6 +559,6 @@ private:
1820-
1821- // Verify
1822- void verify_on(outputStream* st);
1823--};
1824-+} __attribute__ ((aligned (4)));
1825-
1826- #endif // SHARE_VM_OOPS_CONSTMETHODOOP_HPP
1827---- a/src/hotspot/share/oops/oop.hpp
1828-+++ b/src/hotspot/share/oops/oop.hpp
1829-@@ -338,6 +338,6 @@ class oopDesc {
1830- static void* load_oop_raw(oop obj, int offset);
1831- static bool is_valid(oop obj);
1832- static oop oop_or_null(address addr);
1833--};
1834-+} __attribute__ ((aligned (4)));
1835-
1836- #endif // SHARE_VM_OOPS_OOP_HPP
1837---- a/src/java.base/unix/native/libjli/java_md_solinux.c
1838-+++ b/src/java.base/unix/native/libjli/java_md_solinux.c
1839-@@ -728,12 +728,24 @@ void SplashFreeLibrary() {
1840- }
1841- }
1842-
1843-+struct call_continuation_args {
1844-+ int (JNICALL *continuation)(void *);
1845-+ void *args;
1846-+};
1847-+
1848-+static void *call_continuation(void *_args)
1849-+{
1850-+ struct call_continuation_args *args = _args;
1851-+ return (void *)args->continuation(args->args);
1852-+}
1853-+
1854- /*
1855- * Block current thread and continue execution in a new thread
1856- */
1857- int
1858- ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
1859- int rslt;
1860-+ struct call_continuation_args ccargs = { continuation, args };
1861- #ifndef __solaris__
1862- pthread_t tid;
1863- pthread_attr_t attr;
1864-@@ -745,7 +757,7 @@ ContinueInNewThread0(int (JNICALL *conti
1865- }
1866- pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads
1867-
1868-- if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) {
1869-+ if (pthread_create(&tid, &attr, call_continuation, &ccargs) == 0) {
1870- void * tmp;
1871- pthread_join(tid, &tmp);
1872- rslt = (int)(intptr_t)tmp;
1873-@@ -763,7 +775,7 @@ ContinueInNewThread0(int (JNICALL *conti
1874- #else /* __solaris__ */
1875- thread_t tid;
1876- long flags = 0;
1877-- if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) {
1878-+ if (thr_create(NULL, stack_size, call_continuation, &ccargs, flags, &tid) == 0) {
1879- void * tmp;
1880- thr_join(tid, NULL, &tmp);
1881- rslt = (int)(intptr_t)tmp;
1882diff --git a/debian/patches/machine-flag.diff b/debian/patches/machine-flag.diff
1883index bf04c46..8be4c24 100644
1884--- a/debian/patches/machine-flag.diff
1885+++ b/debian/patches/machine-flag.diff
1886@@ -1,6 +1,6 @@
1887 --- a/make/autoconf/flags.m4
1888 +++ b/make/autoconf/flags.m4
1889-@@ -262,6 +262,7 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
1890+@@ -271,6 +271,7 @@
1891 test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
1892 MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
1893 fi
1894@@ -8,7 +8,7 @@
1895 fi
1896
1897 if test "x$OPENJDK_TARGET_OS" = xmacosx; then
1898-@@ -344,11 +345,8 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL]
1899+@@ -357,11 +358,8 @@
1900 AC_SUBST(COMPILER_COMMAND_FILE_FLAG)
1901 AC_SUBST(COMPILER_BINDCMD_FILE_FLAG)
1902
1903diff --git a/debian/patches/mips-sigset.diff b/debian/patches/mips-sigset.diff
1904deleted file mode 100644
1905index 1477d34..0000000
1906--- a/debian/patches/mips-sigset.diff
1907+++ /dev/null
1908@@ -1,41 +0,0 @@
1909---- a/src/hotspot/os/linux/os_linux.cpp
1910-+++ b/src/hotspot/os/linux/os_linux.cpp
1911-@@ -4567,14 +4567,16 @@ bool os::Linux::signal_handlers_are_inst
1912-
1913- // For signal-chaining
1914- struct sigaction sigact[NSIG];
1915--uint64_t sigs = 0;
1916--#if (64 < NSIG-1)
1917--#error "Not all signals can be encoded in sigs. Adapt its type!"
1918--#endif
1919-+sigset_t sigs;
1920- bool os::Linux::libjsig_is_loaded = false;
1921- typedef struct sigaction *(*get_signal_t)(int);
1922- get_signal_t os::Linux::get_signal_action = NULL;
1923-
1924-+static __attribute__((constructor)) void sigs_init()
1925-+{
1926-+ sigemptyset(&sigs);
1927-+}
1928-+
1929- struct sigaction* os::Linux::get_chained_signal_action(int sig) {
1930- struct sigaction *actp = NULL;
1931-
1932-@@ -4649,7 +4651,7 @@ bool os::Linux::chained_handler(int sig,
1933- }
1934-
1935- struct sigaction* os::Linux::get_preinstalled_handler(int sig) {
1936-- if ((((uint64_t)1 << (sig-1)) & sigs) != 0) {
1937-+ if (sigismember(&sigs, sig)) {
1938- return &sigact[sig];
1939- }
1940- return NULL;
1941-@@ -4658,7 +4660,7 @@ struct sigaction* os::Linux::get_preinst
1942- void os::Linux::save_preinstalled_handler(int sig, struct sigaction& oldAct) {
1943- assert(sig > 0 && sig < NSIG, "vm signal out of expected range");
1944- sigact[sig] = oldAct;
1945-- sigs |= (uint64_t)1 << (sig-1);
1946-+ sigaddset(&sigs, sig);
1947- }
1948-
1949- // for diagnostic
1950diff --git a/debian/patches/multiple-pkcs11-library-init.diff b/debian/patches/multiple-pkcs11-library-init.diff
1951index 52cd33f..aec9f96 100644
1952--- a/debian/patches/multiple-pkcs11-library-init.diff
1953+++ b/debian/patches/multiple-pkcs11-library-init.diff
1954@@ -7,7 +7,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
1955
1956 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
1957 +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
1958-@@ -52,6 +52,7 @@ final class Config {
1959+@@ -52,6 +52,7 @@
1960 static final int ERR_HALT = 1;
1961 static final int ERR_IGNORE_ALL = 2;
1962 static final int ERR_IGNORE_LIB = 3;
1963@@ -15,7 +15,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
1964
1965 // same as allowSingleThreadedModules but controlled via a system property
1966 // and applied to all providers. if set to false, no SunPKCS11 instances
1967-@@ -1026,6 +1027,8 @@ final class Config {
1968+@@ -1026,6 +1027,8 @@
1969 handleStartupErrors = ERR_IGNORE_LIB;
1970 } else if (val.equals("halt")) {
1971 handleStartupErrors = ERR_HALT;
1972@@ -26,7 +26,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
1973 }
1974 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
1975 +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
1976-@@ -174,26 +174,37 @@ public final class SunPKCS11 extends Aut
1977+@@ -176,26 +176,37 @@
1978 String nssLibraryDirectory = config.getNssLibraryDirectory();
1979 String nssSecmodDirectory = config.getNssSecmodDirectory();
1980 boolean nssOptimizeSpace = config.getNssOptimizeSpace();
1981diff --git a/debian/patches/no-pch-build.diff b/debian/patches/no-pch-build.diff
1982deleted file mode 100644
1983index 76726e8..0000000
1984--- a/debian/patches/no-pch-build.diff
1985+++ /dev/null
1986@@ -1,110 +0,0 @@
1987---- a/src/hotspot/src/share/vm/oops/arrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
1988-+++ b/src/hotspot/src/share/vm/oops/arrayKlassKlass.cpp 2013-04-15 13:57:24.992929086 +0200
1989-@@ -30,6 +30,7 @@
1990- #include "runtime/handles.inline.hpp"
1991- #ifndef SERIALGC
1992- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
1993-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
1994- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
1995- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
1996- #include "memory/cardTableRS.hpp"
1997---- a/src/hotspot/src/share/vm/oops/constantPoolKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
1998-+++ b/src/hotspot/src/share/vm/oops/constantPoolKlass.cpp 2013-04-15 14:02:52.143087149 +0200
1999-@@ -49,6 +49,7 @@
2000- #endif
2001- #ifndef SERIALGC
2002- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2003-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2004- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2005- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2006- #include "memory/cardTableRS.hpp"
2007---- a/src/hotspot/src/share/vm/oops/cpCacheKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2008-+++ b/src/hotspot/src/share/vm/oops/cpCacheKlass.cpp 2013-04-15 14:04:45.219838633 +0200
2009-@@ -35,6 +35,7 @@
2010- #include "runtime/handles.inline.hpp"
2011- #ifndef SERIALGC
2012- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2013-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2014- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2015- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2016- #include "memory/cardTableRS.hpp"
2017---- a/src/hotspot/src/share/vm/oops/instanceKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2018-+++ b/src/hotspot/src/share/vm/oops/instanceKlass.cpp 2013-04-15 14:07:55.861109867 +0200
2019-@@ -70,6 +70,7 @@
2020- #include "gc_implementation/g1/g1RemSet.inline.hpp"
2021- #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
2022- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2023-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2024- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2025- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2026- #include "oops/oop.pcgc.inline.hpp"
2027---- a/src/hotspot/src/share/vm/oops/instanceKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2028-+++ b/src/hotspot/src/share/vm/oops/instanceKlassKlass.cpp 2013-04-15 14:08:53.541485528 +0200
2029-@@ -44,6 +44,7 @@
2030- #include "runtime/fieldDescriptor.hpp"
2031- #ifndef SERIALGC
2032- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2033-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2034- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2035- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2036- #include "memory/cardTableRS.hpp"
2037---- a/src/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2038-+++ b/src/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp 2013-04-15 14:10:11.162003798 +0200
2039-@@ -42,6 +42,7 @@
2040- #include "gc_implementation/g1/g1RemSet.inline.hpp"
2041- #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
2042- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2043-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2044- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2045- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2046- #include "oops/oop.pcgc.inline.hpp"
2047---- a/src/hotspot/src/share/vm/oops/instanceRefKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2048-+++ b/src/hotspot/src/share/vm/oops/instanceRefKlass.cpp 2013-04-15 14:11:11.726403390 +0200
2049-@@ -39,6 +39,7 @@
2050- #include "gc_implementation/g1/g1RemSet.inline.hpp"
2051- #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
2052- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2053-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2054- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2055- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2056- #include "oops/oop.pcgc.inline.hpp"
2057---- a/src/hotspot/src/share/vm/oops/klassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2058-+++ b/src/hotspot/src/share/vm/oops/klassKlass.cpp 2013-04-15 14:13:01.999133769 +0200
2059-@@ -42,6 +42,7 @@
2060- #include "runtime/handles.inline.hpp"
2061- #ifndef SERIALGC
2062- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2063-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2064- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2065- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2066- #include "memory/cardTableRS.hpp"
2067---- a/src/hotspot/src/share/vm/oops/objArrayKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2068-+++ b/src/hotspot/src/share/vm/oops/objArrayKlass.cpp 2013-04-15 14:16:10.616389484 +0200
2069-@@ -47,6 +47,7 @@
2070- #include "gc_implementation/g1/g1RemSet.inline.hpp"
2071- #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
2072- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2073-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2074- #include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
2075- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2076- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2077---- a/src/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2078-+++ b/src/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp 2013-04-15 14:17:01.800729154 +0200
2079-@@ -33,6 +33,7 @@
2080- #include "oops/oop.inline2.hpp"
2081- #ifndef SERIALGC
2082- #include "gc_implementation/parNew/parOopClosures.inline.hpp"
2083-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2084- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2085- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2086- #include "memory/cardTableRS.hpp"
2087---- a/src/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp~ 2013-03-04 22:51:00.000000000 +0100
2088-+++ b/src/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp 2013-04-15 14:20:24.782079605 +0200
2089-@@ -28,6 +28,7 @@
2090- #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
2091- #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
2092- #include "gc_implementation/parallelScavenge/psMarkSweep.hpp"
2093-+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
2094- #include "gc_implementation/parallelScavenge/psPromotionManager.hpp"
2095- #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
2096- #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
2097diff --git a/debian/patches/pass-extra-flags.diff b/debian/patches/pass-extra-flags.diff
2098deleted file mode 100644
2099index cbf36c5..0000000
2100--- a/debian/patches/pass-extra-flags.diff
2101+++ /dev/null
2102@@ -1,25 +0,0 @@
2103---- a/src/hotspot/make/linux/makefiles/jsig.make
2104-+++ b/src/hotspot/make/linux/makefiles/jsig.make
2105-@@ -54,7 +54,9 @@ endif
2106- $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
2107- @echo $(LOG_INFO) Making signal interposition lib...
2108- $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
2109-- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
2110-+ $(LFLAGS_JSIG) $(EXTRA_LDFLAGS) \
2111-+ $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) \
2112-+ -o $@ $< -ldl
2113- ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
2114- $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
2115- $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
2116---- a/src/hotspot/make/linux/makefiles/vm.make
2117-+++ b/src/hotspot/make/linux/makefiles/vm.make
2118-@@ -118,7 +118,8 @@ CFLAGS += $(CFLAGS/NOEX)
2119-
2120- # Extra flags from gnumake's invocation or environment
2121- CFLAGS += $(EXTRA_CFLAGS)
2122--LFLAGS += $(EXTRA_CFLAGS)
2123-+CXXFLAGS += $(EXTRA_CXXFLAGS)
2124-+LFLAGS += $(EXTRA_LDFLAGS)
2125-
2126- # Don't set excutable bit on stack segment
2127- # the same could be done by separate execstack command
2128diff --git a/debian/patches/powerpcspe-float-const.diff b/debian/patches/powerpcspe-float-const.diff
2129deleted file mode 100644
2130index b03e29e..0000000
2131--- a/debian/patches/powerpcspe-float-const.diff
2132+++ /dev/null
2133@@ -1,11 +0,0 @@
2134---- a/src/java.base/share/classes/java/lang/Float.java 2018-03-13 17:46:28.000000000 +0100
2135-+++ b/src/java.base/share/classes/java/lang/Float.java 2018-05-01 15:35:55.626369726 +0200
2136-@@ -92,7 +92,7 @@
2137- * hexadecimal floating-point literal {@code 0x0.000002P-126f}
2138- * and also equal to {@code Float.intBitsToFloat(0x1)}.
2139- */
2140-- public static final float MIN_VALUE = 0x0.000002P-126f; // 1.4e-45f
2141-+ public static final float MIN_VALUE = Float.intBitsToFloat(0x1);
2142-
2143- /**
2144- * Maximum exponent a finite {@code float} variable may have. It
2145diff --git a/debian/patches/reproducible-build-jmod.diff b/debian/patches/reproducible-build-jmod.diff
2146index 11e73e5..f1e9ca1 100644
2147--- a/debian/patches/reproducible-build-jmod.diff
2148+++ b/debian/patches/reproducible-build-jmod.diff
2149@@ -12,7 +12,7 @@ Forwarded: not-needed
2150
2151 --- a/make/CreateJmods.gmk
2152 +++ b/make/CreateJmods.gmk
2153-@@ -213,6 +213,15 @@ endif
2154+@@ -218,6 +218,15 @@
2155
2156 # Create jmods in a temp dir and then move them into place to keep the
2157 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
2158@@ -28,7 +28,7 @@ Forwarded: not-needed
2159 $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
2160 $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))
2161 $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))
2162-@@ -224,7 +233,11 @@ $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
2163+@@ -229,7 +238,11 @@
2164 --module-path $(JMODS_DIR) \
2165 $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \
2166 )
2167diff --git a/debian/patches/reproducible-build-user.diff b/debian/patches/reproducible-build-user.diff
2168index 2ed579c..60c7a7b 100644
2169--- a/debian/patches/reproducible-build-user.diff
2170+++ b/debian/patches/reproducible-build-user.diff
2171@@ -1,14 +1,14 @@
2172 Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so)
2173 Author: Emmanuel Bourg <ebourg@apache.org>
2174 Forwarded: no
2175---- a/make/autoconf/basics.m4
2176-+++ b/make/autoconf/basics.m4
2177-@@ -658,7 +658,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
2178-
2179+--- a/make/autoconf/basic.m4
2180++++ b/make/autoconf/basic.m4
2181+@@ -100,7 +100,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
2182+
2183 # Setup username (for use in adhoc version strings etc)
2184 # Outer [ ] to quote m4.
2185 - [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
2186 + [ USERNAME="unknown" ]
2187 AC_SUBST(USERNAME)
2188 ])
2189-
2190+
2191diff --git a/debian/patches/reproducible-character-data.diff b/debian/patches/reproducible-character-data.diff
2192index 778b3b2..93412a0 100644
2193--- a/debian/patches/reproducible-character-data.diff
2194+++ b/debian/patches/reproducible-character-data.diff
2195@@ -12,12 +12,13 @@ Forwarded: no
2196 int marklen = commandMarker.length();
2197 LOOP: while(true) {
2198 try {
2199-@@ -1819,7 +1819,7 @@ OUTER: for (int i = 0; i < n; i += m) {
2200+@@ -1819,7 +1819,8 @@ OUTER: for (int i = 0; i < n; i += m) {
2201 }
2202 commentStart = (Csyntax ? "/*" : "//");
2203 commentEnd = (Csyntax ? " */" : "");
2204-- commandLineDescription = desc.toString();
2205-+ commandLineDescription = desc.toString().replace(System.getProperty("user.dir").replace("make/gensrc", ""), "");
2206+- commandLineDescription = desc.toString().replace("\\", "\\\\");
2207++ commandLineDescription = desc.toString().replace("\\", "\\\\")
2208++ .replace(System.getProperty("user.dir").replace("make/gensrc", ""), "");
2209 }
2210-
2211+
2212 private static void searchBins(long[] map, int binsOccupied) throws Exception {
2213diff --git a/debian/patches/reproducible-properties-timestamp.diff b/debian/patches/reproducible-properties-timestamp.diff
2214index 491359a..596c01c 100644
2215--- a/debian/patches/reproducible-properties-timestamp.diff
2216+++ b/debian/patches/reproducible-properties-timestamp.diff
2217@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
2218 Forwarded: no
2219 --- a/src/java.base/share/classes/java/util/Properties.java
2220 +++ b/src/java.base/share/classes/java/util/Properties.java
2221-@@ -926,7 +926,7 @@ class Properties extends Hashtable<Objec
2222+@@ -929,7 +929,7 @@
2223 if (comments != null) {
2224 writeComments(bw, comments);
2225 }
2226@@ -12,7 +12,7 @@ Forwarded: no
2227 bw.newLine();
2228 synchronized (this) {
2229 for (Map.Entry<Object, Object> e : entrySet()) {
2230-@@ -1576,4 +1576,22 @@ class Properties extends Hashtable<Objec
2231+@@ -1579,4 +1579,22 @@
2232 }
2233 this.map = map;
2234 }
2235diff --git a/debian/patches/riscv64.diff b/debian/patches/riscv64.diff
2236index 8eb8898..218aa5d 100644
2237--- a/debian/patches/riscv64.diff
2238+++ b/debian/patches/riscv64.diff
2239@@ -25,7 +25,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
2240
2241 --- a/make/autoconf/build-aux/config.sub
2242 +++ b/make/autoconf/build-aux/config.sub
2243-@@ -34,8 +34,8 @@ if echo $* | grep linux-musl >/dev/null
2244+@@ -40,8 +40,8 @@
2245 exit
2246 fi
2247
2248@@ -36,7 +36,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
2249 . $DIR/autoconf-config.sub "$@"
2250 # autoconf-config.sub exits, so we never reach here, but just in
2251 # case we do:
2252-@@ -50,6 +50,10 @@ while test $# -gt 0 ; do
2253+@@ -56,6 +56,10 @@
2254 config=`echo $1 | sed 's/^aarch64-/arm-/'`
2255 sub_args="$sub_args $config"
2256 shift; ;;
2257@@ -47,7 +47,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
2258 - ) # Use stdin as input.
2259 sub_args="$sub_args $1"
2260 shift; break ;;
2261-@@ -62,7 +66,7 @@ done
2262+@@ -68,7 +72,7 @@
2263 result=`. $DIR/autoconf-config.sub $sub_args "$@"`
2264 exitcode=$?
2265
2266diff --git a/debian/patches/s390x-opt.diff b/debian/patches/s390x-opt.diff
2267index ea60068..e5e119a 100644
2268--- a/debian/patches/s390x-opt.diff
2269+++ b/debian/patches/s390x-opt.diff
2270@@ -1,6 +1,6 @@
2271 --- a/make/autoconf/flags-cflags.m4
2272 +++ b/make/autoconf/flags-cflags.m4
2273-@@ -756,6 +756,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
2274+@@ -757,6 +757,9 @@
2275 fi
2276 elif test "x$FLAGS_CPU" = xs390x; then
2277 $1_CFLAGS_CPU="-mbackchain -march=z10"
2278diff --git a/debian/patches/s390x-thread-stack-size.diff b/debian/patches/s390x-thread-stack-size.diff
2279index 00c785f..6308b10 100644
2280--- a/debian/patches/s390x-thread-stack-size.diff
2281+++ b/debian/patches/s390x-thread-stack-size.diff
2282@@ -14,35 +14,35 @@
2283 #endif // _LP64
2284 --- a/make/autoconf/boot-jdk.m4
2285 +++ b/make/autoconf/boot-jdk.m4
2286-@@ -431,6 +431,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_AR
2287+@@ -459,6 +459,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
2288 fi
2289- ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
2290- ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
2291+ UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
2292+ UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
2293 + if test "$VAR_CPU" = s390x; then
2294-+ ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA])
2295++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA])
2296 + fi
2297-
2298+
2299 AC_MSG_RESULT([$boot_jdk_jvmargs_big])
2300-
2301-@@ -460,6 +463,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_AR
2302- ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
2303- ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
2304- ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
2305+
2306+@@ -488,6 +491,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
2307+ UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
2308+ UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
2309+ UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
2310 + if test "$VAR_CPU" = s390x; then
2311-+ ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA])
2312++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA])
2313 + fi
2314- ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
2315-
2316+ UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
2317+
2318 AC_MSG_RESULT([$boot_jdk_jvmargs_small])
2319 --- a/make/autoconf/build-performance.m4
2320 +++ b/make/autoconf/build-performance.m4
2321 @@ -443,6 +443,9 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
2322 MX_VALUE=512
2323 fi
2324- ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
2325+ UTIL_ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
2326 + if test "$VAR_CPU" = s390x; then
2327-+ ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
2328++ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
2329 + fi
2330 AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS)
2331-
2332+
2333 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
2334diff --git a/debian/patches/series b/debian/patches/series
2335index 7aebfe9..27795ee 100644
2336--- a/debian/patches/series
2337+++ b/debian/patches/series
2338@@ -1,4 +1,3 @@
2339-# jdk11u-dev-updates.diff
2340 system-pcsclite.diff
2341 hotspot-mips-align.diff
2342 icc_loading_with_symlink.diff
2343@@ -18,13 +17,8 @@ disable-doclint-by-default.diff
2344 8199220.diff
2345 machine-flag.diff
2346 zero-x32.diff
2347-# mips-sigset.diff
2348-# s390x-zEC12.diff
2349 hotspot-disable-exec-shield-workaround.diff
2350 atk-wrapper-security.diff
2351-# java-access-bridge-security.diff
2352-# jdk-pulseaudio.diff
2353-# alpha-float-const.diff
2354 dnd-files.diff
2355 hotspot-libpath.diff
2356 generated-headers.patch
2357diff --git a/debian/patches/set-exec-name.diff b/debian/patches/set-exec-name.diff
2358deleted file mode 100644
2359index d1fc398..0000000
2360--- a/debian/patches/set-exec-name.diff
2361+++ /dev/null
2362@@ -1,47 +0,0 @@
2363---- a/src/jdk/src/solaris/bin/java_md.c.orig
2364-+++ b/src/jdk/src/solaris/bin/java_md.c
2365-@@ -688,8 +688,19 @@
2366- char buf[PATH_MAX+1];
2367- int len = readlink(self, buf, PATH_MAX);
2368- if (len >= 0) {
2369-+ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
2370-+ const char **prefix;
2371-+ size_t prefix_len = 0;
2372- buf[len] = '\0'; /* readlink doesn't nul terminate */
2373-- exec_path = JLI_StringDup(buf);
2374-+ for (prefix = prefixes; *prefix; prefix++) {
2375-+ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
2376-+ if (!strncmp(*prefix, buf, prefix_len)) {
2377-+ prefix_len--;
2378-+ break;
2379-+ }
2380-+ prefix_len = 0;
2381-+ }
2382-+ exec_path = JLI_StringDup(buf + prefix_len);
2383- }
2384- }
2385- #else /* !__solaris__ && !__linux */
2386---- a/src/hotspot/src/os/posix/launcher/java_md.c.orig
2387-+++ b/src/hotspot/src/os/posix/launcher/java_md.c
2388-@@ -967,8 +967,19 @@
2389- char buf[PATH_MAX+1];
2390- int len = readlink(self, buf, PATH_MAX);
2391- if (len >= 0) {
2392-- buf[len] = '\0'; /* readlink doesn't nul terminate */
2393-- exec_path = JLI_StringDup(buf);
2394-+ buf[len] = '\0'; /* readlink doesn't nul terminate */
2395-+ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
2396-+ const char **prefix;
2397-+ size_t prefix_len = 0;
2398-+ for (prefix = prefixes; *prefix; prefix++) {
2399-+ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
2400-+ if (!strncmp(*prefix, buf, prefix_len)) {
2401-+ prefix_len--;
2402-+ break;
2403-+ }
2404-+ prefix_len = 0;
2405-+ }
2406-+ exec_path = JLI_StringDup(buf + prefix_len);
2407- }
2408- }
2409- #else /* !__sun && !__linux */
2410diff --git a/debian/patches/stack-direction.diff b/debian/patches/stack-direction.diff
2411deleted file mode 100644
2412index a4421ca..0000000
2413--- a/debian/patches/stack-direction.diff
2414+++ /dev/null
2415@@ -1,215 +0,0 @@
2416---- a/src/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.old 2010-01-06 16:30:02.000000000 +0100
2417-+++ b/src/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-06 23:14:47.000000000 +0100
2418-@@ -144,8 +144,13 @@
2419- address addr = (address) info->si_addr;
2420-
2421- // check if fault address is within thread stack
2422-+#ifdef __hppa__
2423-+ if (addr > thread->stack_base() &&
2424-+ addr <= thread->stack_base() + thread->stack_size()) {
2425-+#else
2426- if (addr < thread->stack_base() &&
2427- addr >= thread->stack_base() - thread->stack_size()) {
2428-+#endif
2429- // stack overflow
2430- if (thread->in_stack_yellow_zone(addr)) {
2431- thread->disable_stack_yellow_zone();
2432-@@ -294,7 +299,11 @@
2433- if (res != 0) {
2434- fatal1("pthread_attr_getstack failed with errno = %d", res);
2435- }
2436-+#ifdef __hppa__
2437-+ address stack_top = stack_bottom - stack_bytes;
2438-+#else
2439- address stack_top = stack_bottom + stack_bytes;
2440-+#endif
2441-
2442- // The block of memory returned by pthread_attr_getstack() includes
2443- // guard pages where present. We need to trim these off.
2444-@@ -321,7 +330,11 @@
2445- stack_bottom += (total_pages - guard_pages) / 2 * page_bytes;
2446- #endif // IA64
2447-
2448-+#ifdef __hppa__
2449-+ stack_bottom -= guard_bytes;
2450-+#else
2451- stack_bottom += guard_bytes;
2452-+#endif
2453-
2454- pthread_attr_destroy(&attr);
2455-
2456-@@ -329,19 +342,36 @@
2457- // by pthread_attr_getstack is the maximum size it could possibly
2458- // be given what currently mapped. This can be huge, so we cap it.
2459- if (os::Linux::is_initial_thread()) {
2460-+#ifdef __hppa__
2461-+ stack_bytes = stack_bottom - stack_top;
2462-+#else
2463- stack_bytes = stack_top - stack_bottom;
2464-+#endif
2465-
2466- if (stack_bytes > JavaThread::stack_size_at_create())
2467- stack_bytes = JavaThread::stack_size_at_create();
2468-
2469-+#ifdef __hppa__
2470-+ stack_bottom = stack_top + stack_bytes;
2471-+#else
2472- stack_bottom = stack_top - stack_bytes;
2473-+#endif
2474- }
2475-
2476-+#ifdef __hppa__
2477-+ assert(os::current_stack_pointer() <= stack_bottom, "should do");
2478-+ assert(os::current_stack_pointer() > stack_top, "should do");
2479-+#else
2480- assert(os::current_stack_pointer() >= stack_bottom, "should do");
2481- assert(os::current_stack_pointer() < stack_top, "should do");
2482-+#endif
2483-
2484- *bottom = stack_bottom;
2485-+#ifdef __hppa__
2486-+ *size = stack_bottom - stack_top;
2487-+#else
2488- *size = stack_top - stack_bottom;
2489-+#endif
2490- }
2491-
2492- address os::current_stack_base() {
2493---- a/src/hotspot/src/share/vm/runtime/thread.cpp.old 2009-10-02 23:16:39.000000000 +0200
2494-+++ b/src/hotspot/src/share/vm/runtime/thread.cpp 2010-01-06 23:31:24.000000000 +0100
2495-@@ -713,8 +713,13 @@
2496- else if (is_ConcurrentGC_thread()) st->print("ConcurrentGCThread");
2497- else st->print("Thread");
2498-
2499-+#ifdef __hppa__
2500- st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
2501- _stack_base - _stack_size, _stack_base);
2502-+#else
2503-+ st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
2504-+ _stack_base + _stack_size, _stack_base);
2505-+#endif
2506-
2507- if (osthread()) {
2508- st->print(" [id=%d]", osthread()->thread_id());
2509-@@ -792,7 +797,11 @@
2510- bool Thread::is_in_stack(address adr) const {
2511- assert(Thread::current() == this, "is_in_stack can only be called from current thread");
2512- address end = os::current_stack_pointer();
2513-+#ifdef __hppa__
2514-+ if (stack_base() <= adr && adr <= end) return true;
2515-+#else
2516- if (stack_base() >= adr && adr >= end) return true;
2517-+#endif
2518-
2519- return false;
2520- }
2521-@@ -804,7 +813,11 @@
2522- // should be revisited, and they should be removed if possible.
2523-
2524- bool Thread::is_lock_owned(address adr) const {
2525-+#ifdef __hppa__
2526-+ return (_stack_base <= adr && adr <= (_stack_base + _stack_size));
2527-+#else
2528- return (_stack_base >= adr && adr >= (_stack_base - _stack_size));
2529-+#endif
2530- }
2531-
2532- bool Thread::set_as_starting_thread() {
2533-@@ -2108,7 +2121,11 @@
2534-
2535- void JavaThread::create_stack_guard_pages() {
2536- if (! os::uses_stack_guard_pages() || _stack_guard_state != stack_guard_unused) return;
2537-+#ifdef __hppa__
2538-+ address low_addr = stack_base();
2539-+#else
2540- address low_addr = stack_base() - stack_size();
2541-+#endif
2542- size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
2543-
2544- int allocate = os::allocate_stack_guard_pages();
2545-@@ -2131,7 +2148,11 @@
2546-
2547- void JavaThread::remove_stack_guard_pages() {
2548- if (_stack_guard_state == stack_guard_unused) return;
2549-+#ifdef __hppa__
2550-+ address low_addr = stack_base();
2551-+#else
2552- address low_addr = stack_base() - stack_size();
2553-+#endif
2554- size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
2555-
2556- if (os::allocate_stack_guard_pages()) {
2557-@@ -2156,10 +2177,17 @@
2558-
2559- // The base notation is from the stacks point of view, growing downward.
2560- // We need to adjust it to work correctly with guard_memory()
2561-+#ifdef __hppa__
2562-+ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
2563-+
2564-+ guarantee(base > stack_base(),"Error calculating stack yellow zone");
2565-+ guarantee(base > os::current_stack_pointer(),"Error calculating stack yellow zone");
2566-+#else
2567- address base = stack_yellow_zone_base() - stack_yellow_zone_size();
2568-
2569- guarantee(base < stack_base(),"Error calculating stack yellow zone");
2570- guarantee(base < os::current_stack_pointer(),"Error calculating stack yellow zone");
2571-+#endif
2572-
2573- if (os::guard_memory((char *) base, stack_yellow_zone_size())) {
2574- _stack_guard_state = stack_guard_enabled;
2575-@@ -2178,7 +2206,11 @@
2576-
2577- // The base notation is from the stacks point of view, growing downward.
2578- // We need to adjust it to work correctly with guard_memory()
2579-+#ifdef __hppa__
2580-+ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
2581-+#else
2582- address base = stack_yellow_zone_base() - stack_yellow_zone_size();
2583-+#endif
2584-
2585- if (os::unguard_memory((char *)base, stack_yellow_zone_size())) {
2586- _stack_guard_state = stack_guard_yellow_disabled;
2587-@@ -2192,10 +2224,17 @@
2588- // The base notation is from the stacks point of view, growing downward.
2589- // We need to adjust it to work correctly with guard_memory()
2590- assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
2591-+#ifdef __hppa__
2592-+ address base = stack_red_zone_base() + stack_red_zone_size();
2593-+
2594-+ guarantee(base > stack_base(),"Error calculating stack red zone");
2595-+ guarantee(base > os::current_stack_pointer(),"Error calculating stack red zone");
2596-+#else
2597- address base = stack_red_zone_base() - stack_red_zone_size();
2598-
2599- guarantee(base < stack_base(),"Error calculating stack red zone");
2600- guarantee(base < os::current_stack_pointer(),"Error calculating stack red zone");
2601-+#endif
2602-
2603- if(!os::guard_memory((char *) base, stack_red_zone_size())) {
2604- warning("Attempt to guard stack red zone failed.");
2605-@@ -2206,7 +2245,11 @@
2606- // The base notation is from the stacks point of view, growing downward.
2607- // We need to adjust it to work correctly with guard_memory()
2608- assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
2609-+#ifdef __hppa__
2610-+ address base = stack_red_zone_base() + stack_red_zone_size();
2611-+#else
2612- address base = stack_red_zone_base() - stack_red_zone_size();
2613-+#endif
2614- if (!os::unguard_memory((char *)base, stack_red_zone_size())) {
2615- warning("Attempt to unguard stack red zone failed.");
2616- }
2617-@@ -2451,8 +2494,13 @@
2618- if (osthread()) {
2619- st->print(", id=%d", osthread()->thread_id());
2620- }
2621-+#ifdef __hppa__
2622-+ st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
2623-+ _stack_base + _stack_size, _stack_base);
2624-+#else
2625- st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
2626- _stack_base - _stack_size, _stack_base);
2627-+#endif
2628- st->print("]");
2629- return;
2630- }
2631diff --git a/debian/patches/system-pcsclite.diff b/debian/patches/system-pcsclite.diff
2632index 16788a1..09b4ad8 100644
2633--- a/debian/patches/system-pcsclite.diff
2634+++ b/debian/patches/system-pcsclite.diff
2635@@ -1,6 +1,6 @@
2636 --- a/make/autoconf/lib-bundled.m4
2637 +++ b/make/autoconf/lib-bundled.m4
2638-@@ -38,6 +38,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS],
2639+@@ -38,6 +38,7 @@
2640 LIB_SETUP_ZLIB
2641 LIB_SETUP_LCMS
2642 LIB_SETUP_HARFBUZZ
2643@@ -8,7 +8,7 @@
2644 ])
2645
2646 ################################################################################
2647-@@ -301,3 +302,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ],
2648+@@ -304,3 +305,41 @@
2649 AC_SUBST(HARFBUZZ_CFLAGS)
2650 AC_SUBST(HARFBUZZ_LIBS)
2651 ])
2652@@ -52,7 +52,7 @@
2653 +])
2654 --- a/make/autoconf/spec.gmk.in
2655 +++ b/make/autoconf/spec.gmk.in
2656-@@ -768,6 +768,7 @@ ENABLE_AOT:=@ENABLE_AOT@
2657+@@ -776,6 +776,7 @@
2658 ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@
2659 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
2660 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
2661@@ -62,7 +62,7 @@
2662 LIBZ_LIBS:=@LIBZ_LIBS@
2663 --- a/make/lib/Lib-java.smartcardio.gmk
2664 +++ b/make/lib/Lib-java.smartcardio.gmk
2665-@@ -30,12 +30,12 @@ include LibCommon.gmk
2666+@@ -30,12 +30,12 @@
2667 $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
2668 NAME := j2pcsc, \
2669 CFLAGS := $(CFLAGS_JDKLIB), \
2670@@ -88,7 +88,7 @@
2671 void *hModule;
2672 FPTR_SCardEstablishContext scardEstablishContext;
2673 FPTR_SCardConnect scardConnect;
2674-@@ -47,6 +48,7 @@ FPTR_SCardListReaders scardListReaders;
2675+@@ -47,6 +48,7 @@
2676 FPTR_SCardBeginTransaction scardBeginTransaction;
2677 FPTR_SCardEndTransaction scardEndTransaction;
2678 FPTR_SCardControl scardControl;
2679@@ -96,7 +96,7 @@
2680
2681 /*
2682 * Throws a Java Exception by name
2683-@@ -75,7 +77,9 @@ void throwIOException(JNIEnv *env, const
2684+@@ -75,7 +77,9 @@
2685 throwByName(env, "java/io/IOException", msg);
2686 }
2687
2688@@ -106,7 +106,7 @@
2689 void *fAddress = dlsym(hModule, functionName);
2690 if (fAddress == NULL) {
2691 char errorMessage[256];
2692-@@ -85,9 +89,11 @@ void *findFunction(JNIEnv *env, void *hM
2693+@@ -85,9 +89,11 @@
2694 }
2695 return fAddress;
2696 }
2697@@ -118,7 +118,7 @@
2698 const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
2699 if (libName == NULL) {
2700 throwNullPointerException(env, "PCSC library name is null");
2701-@@ -141,4 +147,5 @@ JNIEXPORT void JNICALL Java_sun_security
2702+@@ -141,4 +147,5 @@
2703 #else
2704 scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");
2705 #endif // __APPLE__
2706@@ -135,7 +135,7 @@
2707 typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,
2708 LPCVOID pvReserved1,
2709 LPCVOID pvReserved2,
2710-@@ -111,3 +113,41 @@ extern FPTR_SCardListReaders scardListRe
2711+@@ -111,3 +113,41 @@
2712 extern FPTR_SCardBeginTransaction scardBeginTransaction;
2713 extern FPTR_SCardEndTransaction scardEndTransaction;
2714 extern FPTR_SCardControl scardControl;
2715diff --git a/debian/patches/workaround_expand_exec_shield_cs_limit.diff b/debian/patches/workaround_expand_exec_shield_cs_limit.diff
2716index b161e41..fc635ec 100644
2717--- a/debian/patches/workaround_expand_exec_shield_cs_limit.diff
2718+++ b/debian/patches/workaround_expand_exec_shield_cs_limit.diff
2719@@ -1,6 +1,6 @@
2720 --- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
2721 +++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
2722-@@ -863,7 +863,7 @@ void os::verify_stack_alignment() {
2723+@@ -874,7 +874,7 @@
2724 * updates (JDK-8023956).
2725 */
2726 void os::workaround_expand_exec_shield_cs_limit() {
2727diff --git a/debian/patches/zero-x32.diff b/debian/patches/zero-x32.diff
2728index ef8067c..f1cec3a 100644
2729--- a/debian/patches/zero-x32.diff
2730+++ b/debian/patches/zero-x32.diff
2731@@ -1,6 +1,6 @@
2732 --- a/src/hotspot/os/linux/os_linux.cpp
2733 +++ b/src/hotspot/os/linux/os_linux.cpp
2734-@@ -1906,7 +1906,7 @@ void * os::dll_load(const char *filename
2735+@@ -1909,7 +1909,7 @@
2736
2737 #if (defined IA32)
2738 static Elf32_Half running_arch_code=EM_386;
2739@@ -11,7 +11,7 @@
2740 static Elf32_Half running_arch_code=EM_IA_64;
2741 --- a/make/autoconf/platform.m4
2742 +++ b/make/autoconf/platform.m4
2743-@@ -35,6 +35,10 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU
2744+@@ -35,6 +35,10 @@
2745 VAR_CPU_ARCH=x86
2746 VAR_CPU_BITS=64
2747 VAR_CPU_ENDIAN=little
2748@@ -22,7 +22,7 @@
2749 ;;
2750 i?86)
2751 VAR_CPU=x86
2752-@@ -546,6 +550,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HEL
2753+@@ -546,6 +550,8 @@
2754 HOTSPOT_$1_CPU_DEFINE=IA32
2755 elif test "x$OPENJDK_$1_CPU" = xx86_64; then
2756 HOTSPOT_$1_CPU_DEFINE=AMD64
2757diff --git a/debian/rules b/debian/rules
2758index 56b8a4f..b012c83 100755
2759--- a/debian/rules
2760+++ b/debian/rules
2761@@ -151,7 +151,7 @@ ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
2762 NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
2763 endif
2764
2765-ifneq (,$(filter $(distrel), focal jammy kinetic))
2766+ifneq (,$(filter $(distrel), focal jammy kinetic lunar))
2767 jtreg_pkg = jtreg6
2768 else ifneq (,$(filter $(distrel), sid bookworm bullseye))
2769 jtreg_pkg = jtreg
2770@@ -1247,7 +1247,7 @@ install: packaging-files
2771
2772 chmod -R u+w $(d)
2773
2774- : # use javaws from icedtea-netx
2775+ : # use javaws from icedtea-netx
2776 find $(d) -name 'javaws*' | xargs -r rm -f
2777
2778 : # install default jvm config file
2779diff --git a/debian/watch b/debian/watch
2780index 61a97f0..af7b83f 100644
2781--- a/debian/watch
2782+++ b/debian/watch
2783@@ -1,4 +1,4 @@
2784 version=4
2785 opts="filenamemangle=s%(?:.*?)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz%<project>-$1.tar.gz%, dversionmangle=s/~/+/" \
2786- https://github.com/openjdk/jdk11u-dev/tags \
2787+ https://github.com/openjdk/jdk11u/tags \
2788 (?:.*?/)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz debian uupdate
2789diff --git a/doc/building.html b/doc/building.html
2790index a25fe0d..7d6f18c 100644
2791--- a/doc/building.html
2792+++ b/doc/building.html
2793@@ -195,7 +195,7 @@
2794 <h3 id="windows">Windows</h3>
2795 <p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
2796 <p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
2797-<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
2798+<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and MSYS2. (MSYS is no longer supported due to an outdated bash; While OpenJDK can be built with MSYS2, support for it is still experimental, so build failures and unusual errors are not uncommon.)</p>
2799 <p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
2800 <h4 id="cygwin">Cygwin</h4>
2801 <p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
2802@@ -362,6 +362,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
2803 <h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
2804 <p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
2805 <p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
2806+<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
2807 <p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
2808 <h3 id="ibm-xl-cc">IBM XL C/C++</h3>
2809 <p>The regular builds by SAP is using version 12.1, described as <code>IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017</code>.</p>
2810@@ -943,6 +944,8 @@ Clock skew detected. Your build may be incomplete.</code></pre>
2811 cannot create ... Permission denied
2812 spawn failed</code></pre>
2813 <p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
2814+<h4 id="spaces-in-path">Spaces in Path</h4>
2815+<p>On Windows, when configuring, <code>fixpath.sh</code> may report that some directory names have spaces. Usually, it assumes those directories have <a href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name">short paths</a>. You can run <code>fsutil file setshortname</code> in <code>cmd</code> on certain directories, such as <code>Microsoft Visual Studio</code> or <code>Windows Kits</code>, to assign arbitrary short paths so <code>configure</code> can access them.</p>
2816 <h3 id="getting-help">Getting Help</h3>
2817 <p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
2818 <p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
2819diff --git a/doc/building.md b/doc/building.md
2820index d4914ad..55cd791 100644
2821--- a/doc/building.md
2822+++ b/doc/building.md
2823@@ -177,10 +177,9 @@ On Windows, it is important that you pay attention to the instructions in the
2824
2825 Windows is the only non-POSIX OS supported by the JDK, and as such, requires
2826 some extra care. A POSIX support layer is required to build on Windows.
2827-Currently, the only supported such layer is Cygwin. (Msys is no longer
2828-supported due to a too old bash; msys2 and the new Windows Subsystem for Linux
2829-(WSL) would likely be possible to support in a future version but that would
2830-require effort to implement.)
2831+Currently, the only supported such layers are Cygwin and MSYS2. (MSYS is no longer
2832+supported due to an outdated bash; While OpenJDK can be built with MSYS2,
2833+support for it is still experimental, so build failures and unusual errors are not uncommon.)
2834
2835 Internally in the build system, all paths are represented as Unix-style paths,
2836 e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
2837@@ -403,6 +402,9 @@ specific installation order. However, the solution suggested by the KB article
2838 does not always resolve the problem. See [this stackoverflow discussion](
2839 https://stackoverflow.com/questions/10888391) for other suggestions.
2840
2841+If you have Visual Studio installed but `configure` fails to detect it, it may
2842+be because of [spaces in path](#spaces-in-path).
2843+
2844 ### IBM XL C/C++
2845
2846 The regular builds by SAP is using version 12.1, described as `IBM XL C/C++ for
2847@@ -1510,6 +1512,15 @@ This can be a sign of a Cygwin problem. See the information about solving
2848 problems in the [Cygwin](#cygwin) section. Rebooting the computer might help
2849 temporarily.
2850
2851+#### Spaces in Path
2852+
2853+On Windows, when configuring, `fixpath.sh` may report that some directory
2854+names have spaces. Usually, it assumes those directories have
2855+[short paths](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name).
2856+You can run `fsutil file setshortname` in `cmd` on certain directories, such as
2857+`Microsoft Visual Studio` or `Windows Kits`, to assign arbitrary short paths so
2858+`configure` can access them.
2859+
2860 ### Getting Help
2861
2862 If none of the suggestions in this document helps you, or if you find what you
2863diff --git a/make/CreateJmods.gmk b/make/CreateJmods.gmk
2864index c2a8b8b..de068ec 100644
2865--- a/make/CreateJmods.gmk
2866+++ b/make/CreateJmods.gmk
2867@@ -173,6 +173,11 @@ else # not java.base
2868 JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'
2869 endif
2870 endif
2871+ ifneq ($(VCRUNTIME_1_DLL), )
2872+ ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(VCRUNTIME_1_DLL))), )
2873+ JMOD_FLAGS += --exclude '$(notdir $(VCRUNTIME_1_DLL))'
2874+ endif
2875+ endif
2876 ifneq ($(MSVCP_DLL), )
2877 ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCP_DLL))), )
2878 JMOD_FLAGS += --exclude '$(notdir $(MSVCP_DLL))'
2879diff --git a/make/GenerateLinkOptData.gmk b/make/GenerateLinkOptData.gmk
2880index fa55ce2..7a98cb3 100644
2881--- a/make/GenerateLinkOptData.gmk
2882+++ b/make/GenerateLinkOptData.gmk
2883@@ -57,7 +57,7 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
2884 INTERIM_IMAGE_DIR := $(BUILD_JDK)
2885 endif
2886
2887-$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
2888+$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
2889 $(call MakeDir, $(LINK_OPT_DIR))
2890 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
2891 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
2892@@ -72,7 +72,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
2893 # dependencies, make will correctly rebuild both jli trace and classlist
2894 # incrementally using the single recipe above.
2895 $(CLASSLIST_FILE): $(JLI_TRACE_FILE)
2896-$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
2897+$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
2898
2899 TARGETS += $(CLASSLIST_FILE) $(JLI_TRACE_FILE)
2900
2901diff --git a/make/InterimImage.gmk b/make/InterimImage.gmk
2902index af7ae90..bb4b1fc 100644
2903--- a/make/InterimImage.gmk
2904+++ b/make/InterimImage.gmk
2905@@ -1,5 +1,5 @@
2906 #
2907-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
2908+# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
2909 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2910 #
2911 # This code is free software; you can redistribute it and/or modify it
2912@@ -32,7 +32,7 @@ include Modules.gmk
2913 ################################################################################
2914
2915 # Use this file inside the image as target for make rule
2916-JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
2917+JIMAGE_TARGET_FILE := bin/java$(EXECUTABLE_SUFFIX)
2918
2919 INTERIM_MODULES_LIST := $(call CommaList, $(INTERIM_IMAGE_MODULES))
2920
2921diff --git a/make/RunTests.gmk b/make/RunTests.gmk
2922index f8b0a94..0c998c2 100644
2923--- a/make/RunTests.gmk
2924+++ b/make/RunTests.gmk
2925@@ -60,18 +60,13 @@ define SetTestOpt
2926 endif
2927 endef
2928
2929-# Setup _NT_SYMBOL_PATH on Windows
2930+# Setup _NT_SYMBOL_PATH on Windows, which points to our pdb files.
2931 ifeq ($(OPENJDK_TARGET_OS), windows)
2932 ifndef _NT_SYMBOL_PATH
2933- # Can't use PathList here as it adds quotes around the value.
2934- _NT_SYMBOL_PATH := \
2935- $(subst $(SPACE),;,$(strip \
2936- $(foreach p, $(sort $(dir $(wildcard \
2937- $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \
2938- $(call FixPath, $p) \
2939- ) \
2940- ))
2941- export _NT_SYMBOL_PATH
2942+ SYMBOL_PATH := $(call PathList, $(sort $(patsubst %/, %, $(dir $(wildcard \
2943+ $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb))))))
2944+ export _NT_SYMBOL_PATH := $(subst \\,\, $(call FixPath, \
2945+ $(subst $(DQUOTE),, $(SYMBOL_PATH))))
2946 $(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH))
2947 endif
2948 endif
2949diff --git a/make/RunTestsPrebuilt.gmk b/make/RunTestsPrebuilt.gmk
2950index 63af249..8cd4ca5 100644
2951--- a/make/RunTestsPrebuilt.gmk
2952+++ b/make/RunTestsPrebuilt.gmk
2953@@ -209,15 +209,9 @@ else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
2954 endif
2955
2956 ifeq ($(OPENJDK_TARGET_OS), windows)
2957- ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
2958- $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
2959- $(error Cannot continue.)
2960- endif
2961- FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
2962- PATH_SEP:=;
2963+ FIXPATH := $(BASH) $(TOPDIR)/make/scripts/fixpath.sh exec
2964 else
2965 FIXPATH :=
2966- PATH_SEP:=:
2967 endif
2968
2969 # Check number of cores and memory in MB
2970@@ -301,7 +295,6 @@ $(call CreateNewSpec, $(NEW_SPEC), \
2971 BASH := $(BASH), \
2972 JIB_JAR := $(JIB_JAR), \
2973 FIXPATH := $(FIXPATH), \
2974- PATH_SEP := $(PATH_SEP), \
2975 OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \
2976 OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \
2977 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \
2978diff --git a/make/RunTestsPrebuiltSpec.gmk b/make/RunTestsPrebuiltSpec.gmk
2979index c4d08d1..eb6a91a 100644
2980--- a/make/RunTestsPrebuiltSpec.gmk
2981+++ b/make/RunTestsPrebuiltSpec.gmk
2982@@ -116,7 +116,6 @@ JAVAC_CMD := $(BOOT_JDK)/bin/javac
2983 JAR_CMD := $(BOOT_JDK)/bin/jar
2984 JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
2985 JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
2986-JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner
2987
2988 JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
2989 JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
2990@@ -125,7 +124,6 @@ JAVAC := $(FIXPATH) $(JAVAC_CMD)
2991 JAR := $(FIXPATH) $(JAR_CMD)
2992 JLINK := $(FIXPATH) $(JLINK_CMD)
2993 JMOD := $(FIXPATH) $(JMOD_CMD)
2994-JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
2995
2996 BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
2997 ################################################################################
2998@@ -167,7 +165,6 @@ TAIL := tail
2999 TEE := tee
3000 TR := tr
3001 TOUCH := touch
3002-UNIQ := uniq
3003 WC := wc
3004 XARGS := xargs
3005 ZIPEXE := zip
3006@@ -188,7 +185,7 @@ ifeq ($(OPENJDK_BUILD_OS), solaris)
3007 endif
3008
3009 ifeq ($(OPENJDK_BUILD_OS), windows)
3010- CYGPATH := cygpath
3011+ PATHTOOL := cygpath
3012 endif
3013
3014 ################################################################################
3015diff --git a/make/TestImage.gmk b/make/TestImage.gmk
3016index 059a1d9..d5ef69f 100644
3017--- a/make/TestImage.gmk
3018+++ b/make/TestImage.gmk
3019@@ -30,13 +30,6 @@ include MakeBase.gmk
3020
3021 ############################################################################
3022
3023-ifeq ($(OPENJDK_TARGET_OS), windows)
3024- FIXPATH_COPY := $(TEST_IMAGE_DIR)/bin/fixpath.exe
3025-
3026- $(FIXPATH_COPY): $(firstword $(FIXPATH))
3027- $(call install-file)
3028-endif
3029-
3030 BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
3031
3032 FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
3033@@ -44,10 +37,10 @@ FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
3034 $(BUILD_INFO_PROPERTIES):
3035 $(call MakeTargetDir)
3036 $(ECHO) "# Build info properties for JDK tests" > $@
3037- $(FIXPATH_ECHO) "build.workspace.root=$(WORKSPACE_ROOT)" >> $@
3038- $(FIXPATH_ECHO) "build.output.root=$(OUTPUTDIR)" >> $@
3039+ $(ECHO) "build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))" >> $@
3040+ $(ECHO) "build.output.root=$(call FixPath, $(OUTPUTDIR))" >> $@
3041
3042-prepare-test-image: $(FIXPATH_COPY) $(BUILD_INFO_PROPERTIES)
3043+prepare-test-image: $(BUILD_INFO_PROPERTIES)
3044 $(call MakeDir, $(TEST_IMAGE_DIR))
3045 $(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'
3046
3047diff --git a/make/autoconf/basic.m4 b/make/autoconf/basic.m4
3048new file mode 100644
3049index 0000000..a3a4e13
3050--- /dev/null
3051+++ b/make/autoconf/basic.m4
3052@@ -0,0 +1,542 @@
3053+#
3054+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
3055+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3056+#
3057+# This code is free software; you can redistribute it and/or modify it
3058+# under the terms of the GNU General Public License version 2 only, as
3059+# published by the Free Software Foundation. Oracle designates this
3060+# particular file as subject to the "Classpath" exception as provided
3061+# by Oracle in the LICENSE file that accompanied this code.
3062+#
3063+# This code is distributed in the hope that it will be useful, but WITHOUT
3064+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3065+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3066+# version 2 for more details (a copy is included in the LICENSE file that
3067+# accompanied this code).
3068+#
3069+# You should have received a copy of the GNU General Public License version
3070+# 2 along with this work; if not, write to the Free Software Foundation,
3071+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3072+#
3073+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3074+# or visit www.oracle.com if you need additional information or have any
3075+# questions.
3076+#
3077+
3078+m4_include([basic_tools.m4])
3079+m4_include([basic_windows.m4])
3080+
3081+###############################################################################
3082+AC_DEFUN_ONCE([BASIC_INIT],
3083+[
3084+ # Save the original command line. This is passed to us by the wrapper configure script.
3085+ AC_SUBST(CONFIGURE_COMMAND_LINE)
3086+ # AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
3087+ AC_SUBST(AUTOCONF)
3088+ # Save the path variable before it gets changed
3089+ ORIGINAL_PATH="$PATH"
3090+ AC_SUBST(ORIGINAL_PATH)
3091+ DATE_WHEN_CONFIGURED=`date`
3092+ AC_SUBST(DATE_WHEN_CONFIGURED)
3093+ AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
3094+])
3095+
3096+###############################################################################
3097+# Check that there are no unprocessed overridden variables left.
3098+# If so, they are an incorrect argument and we will exit with an error.
3099+AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
3100+[
3101+ if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
3102+ # Replace the separating ! with spaces before presenting for end user.
3103+ unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
3104+ AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
3105+ fi
3106+])
3107+
3108+###############################################################################
3109+# Setup basic configuration paths, and platform-specific stuff related to PATHs.
3110+AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
3111+[
3112+ # Save the current directory this script was started from
3113+ CONFIGURE_START_DIR="$PWD"
3114+
3115+ # We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
3116+ # for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
3117+ # was not available at that time.
3118+ REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
3119+ if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
3120+ ORIGINAL_PATH="$REWRITTEN_PATH"
3121+ AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
3122+ fi
3123+
3124+ if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
3125+ BASIC_SETUP_PATHS_WINDOWS
3126+ fi
3127+
3128+ # We get the top-level directory from the supporting wrappers.
3129+ BASIC_WINDOWS_VERIFY_DIR($TOPDIR, source)
3130+ UTIL_FIXUP_PATH(TOPDIR)
3131+ AC_MSG_CHECKING([for top-level directory])
3132+ AC_MSG_RESULT([$TOPDIR])
3133+ AC_SUBST(TOPDIR)
3134+
3135+ if test "x$CUSTOM_ROOT" != x; then
3136+ BASIC_WINDOWS_VERIFY_DIR($CUSTOM_ROOT, custom root)
3137+ UTIL_FIXUP_PATH(CUSTOM_ROOT)
3138+ WORKSPACE_ROOT="${CUSTOM_ROOT}"
3139+ else
3140+ WORKSPACE_ROOT="${TOPDIR}"
3141+ fi
3142+ AC_SUBST(WORKSPACE_ROOT)
3143+
3144+ # We can only call UTIL_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
3145+ UTIL_FIXUP_PATH(CONFIGURE_START_DIR)
3146+ UTIL_FIXUP_PATH(TOPDIR)
3147+
3148+ AC_SUBST(CONFIGURE_START_DIR)
3149+
3150+ # Locate the directory of this script.
3151+ AUTOCONF_DIR=$TOPDIR/make/autoconf
3152+
3153+ # Setup username (for use in adhoc version strings etc)
3154+ # Outer [ ] to quote m4.
3155+ [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
3156+ AC_SUBST(USERNAME)
3157+])
3158+
3159+###############################################################################
3160+# Evaluates platform specific overrides for devkit variables.
3161+# $1: Name of variable
3162+AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
3163+[
3164+ if test "x[$]$1" = x; then
3165+ eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
3166+ fi
3167+])
3168+
3169+###############################################################################
3170+# Evaluates platform specific overrides for build devkit variables.
3171+# $1: Name of variable
3172+AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
3173+[
3174+ if test "x[$]$1" = x; then
3175+ eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
3176+ fi
3177+])
3178+
3179+###############################################################################
3180+AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
3181+[
3182+ AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
3183+ [use this devkit for compilers, tools and resources])])
3184+
3185+ if test "x$with_devkit" = xyes; then
3186+ AC_MSG_ERROR([--with-devkit must have a value])
3187+ elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
3188+ UTIL_FIXUP_PATH([with_devkit])
3189+ DEVKIT_ROOT="$with_devkit"
3190+ # Check for a meta data info file in the root of the devkit
3191+ if test -f "$DEVKIT_ROOT/devkit.info"; then
3192+ . $DEVKIT_ROOT/devkit.info
3193+ # This potentially sets the following:
3194+ # A descriptive name of the devkit
3195+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_NAME])
3196+ # Corresponds to --with-extra-path
3197+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_EXTRA_PATH])
3198+ # Corresponds to --with-toolchain-path
3199+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_TOOLCHAIN_PATH])
3200+ # Corresponds to --with-sysroot
3201+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_SYSROOT])
3202+
3203+ # Identifies the Visual Studio version in the devkit
3204+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_VERSION])
3205+ # The Visual Studio include environment variable
3206+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_INCLUDE])
3207+ # The Visual Studio lib environment variable
3208+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
3209+ # Corresponds to --with-msvcr-dll
3210+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
3211+ # Corresponds to --with-vcruntime-1-dll
3212+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VCRUNTIME_1_DLL])
3213+ # Corresponds to --with-msvcp-dll
3214+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
3215+ # Corresponds to --with-ucrt-dll-dir
3216+ BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_UCRT_DLL_DIR])
3217+ fi
3218+
3219+ AC_MSG_CHECKING([for devkit])
3220+ if test "x$DEVKIT_NAME" != x; then
3221+ AC_MSG_RESULT([$DEVKIT_NAME in $DEVKIT_ROOT])
3222+ else
3223+ AC_MSG_RESULT([$DEVKIT_ROOT])
3224+ fi
3225+
3226+ UTIL_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
3227+
3228+ # Fallback default of just /bin if DEVKIT_PATH is not defined
3229+ if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
3230+ DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin"
3231+ fi
3232+ UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$DEVKIT_TOOLCHAIN_PATH)
3233+
3234+ # If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known
3235+ # places for backwards compatiblity.
3236+ if test "x$DEVKIT_SYSROOT" != x; then
3237+ SYSROOT="$DEVKIT_SYSROOT"
3238+ elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then
3239+ SYSROOT="$DEVKIT_ROOT/$host_alias/libc"
3240+ elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
3241+ SYSROOT="$DEVKIT_ROOT/$host/sys-root"
3242+ fi
3243+
3244+ if test "x$DEVKIT_ROOT" != x; then
3245+ DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
3246+ if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
3247+ DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
3248+ fi
3249+ AC_SUBST(DEVKIT_LIB_DIR)
3250+ fi
3251+ fi
3252+
3253+ # You can force the sysroot if the sysroot encoded into the compiler tools
3254+ # is not correct.
3255+ AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
3256+ [alias for --with-sysroot for backwards compatability])],
3257+ [SYSROOT=$with_sys_root]
3258+ )
3259+
3260+ AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
3261+ [use this directory as sysroot])],
3262+ [SYSROOT=$with_sysroot]
3263+ )
3264+
3265+ AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
3266+ [alias for --with-toolchain-path for backwards compatibility])],
3267+ [UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
3268+ )
3269+
3270+ AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
3271+ [prepend these directories when searching for toolchain binaries (compilers etc)])],
3272+ [UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
3273+ )
3274+
3275+ AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
3276+ [prepend these directories to the default path])],
3277+ [UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
3278+ )
3279+
3280+ if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
3281+ # If a devkit has been supplied, find xcodebuild in the toolchain_path.
3282+ # If not, detect if Xcode is installed by running xcodebuild -version
3283+ # if no Xcode installed, xcodebuild exits with 1
3284+ # if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
3285+ if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
3286+ # We need to use xcodebuild in the toolchain dir provided by the user
3287+ UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
3288+ if test x$XCODEBUILD = x; then
3289+ # fall back on the stub binary in /usr/bin/xcodebuild
3290+ XCODEBUILD=/usr/bin/xcodebuild
3291+ fi
3292+ else
3293+ # this should result in SYSROOT being empty, unless --with-sysroot is provided
3294+ # when only the command line tools are installed there are no SDKs, so headers
3295+ # are copied into the system frameworks
3296+ XCODEBUILD=
3297+ AC_SUBST(XCODEBUILD)
3298+ fi
3299+
3300+ AC_MSG_CHECKING([for sdk name])
3301+ AC_ARG_WITH([sdk-name], [AS_HELP_STRING([--with-sdk-name],
3302+ [use the platform SDK of the given name. @<:@macosx@:>@])],
3303+ [SDKNAME=$with_sdk_name]
3304+ )
3305+ AC_MSG_RESULT([$SDKNAME])
3306+
3307+ # if toolchain path is specified then don't rely on system headers, they may not compile
3308+ HAVE_SYSTEM_FRAMEWORK_HEADERS=0
3309+ test -z "$TOOLCHAIN_PATH" && \
3310+ HAVE_SYSTEM_FRAMEWORK_HEADERS=`test ! -f /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h; echo $?`
3311+
3312+ if test -z "$SYSROOT"; then
3313+ if test -n "$XCODEBUILD"; then
3314+ # if we don't have system headers, use default SDK name (last resort)
3315+ if test -z "$SDKNAME" -a $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
3316+ SDKNAME=${SDKNAME:-macosx}
3317+ fi
3318+
3319+ if test -n "$SDKNAME"; then
3320+ # Call xcodebuild to determine SYSROOT
3321+ SYSROOT=`"$XCODEBUILD" -sdk $SDKNAME -version | $GREP '^Path: ' | $SED 's/Path: //'`
3322+ fi
3323+ else
3324+ if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
3325+ AC_MSG_ERROR([No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK])
3326+ fi
3327+ fi
3328+ else
3329+ # warn user if --with-sdk-name was also set
3330+ if test -n "$with_sdk_name"; then
3331+ AC_MSG_WARN([Both SYSROOT and --with-sdk-name are set, only SYSROOT will be used])
3332+ fi
3333+ fi
3334+
3335+ if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0 -a -z "$SYSROOT"; then
3336+ # If no system framework headers, then SYSROOT must be set, or we won't build
3337+ AC_MSG_ERROR([Unable to determine SYSROOT and no headers found in /System/Library/Frameworks. Check Xcode configuration, --with-sysroot or --with-sdk-name arguments.])
3338+ fi
3339+
3340+ # Perform a basic sanity test
3341+ if test ! -f "$SYSROOT/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h"; then
3342+ if test -z "$SYSROOT"; then
3343+ AC_MSG_ERROR([Unable to find required framework headers, provide a path to an SDK via --with-sysroot or --with-sdk-name and be sure Xcode is installed properly])
3344+ else
3345+ AC_MSG_ERROR([Invalid SDK or SYSROOT path, dependent framework headers not found])
3346+ fi
3347+ fi
3348+
3349+ # set SDKROOT too, Xcode tools will pick it up
3350+ SDKROOT="$SYSROOT"
3351+ AC_SUBST(SDKROOT)
3352+ fi
3353+
3354+ # Prepend the extra path to the global path
3355+ UTIL_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
3356+
3357+ AC_MSG_CHECKING([for sysroot])
3358+ AC_MSG_RESULT([$SYSROOT])
3359+ AC_MSG_CHECKING([for toolchain path])
3360+ AC_MSG_RESULT([$TOOLCHAIN_PATH])
3361+ AC_SUBST(TOOLCHAIN_PATH)
3362+ AC_MSG_CHECKING([for extra path])
3363+ AC_MSG_RESULT([$EXTRA_PATH])
3364+])
3365+
3366+###############################################################################
3367+AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
3368+[
3369+
3370+ AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
3371+ [use this as the name of the configuration @<:@generated from important configuration options@:>@])],
3372+ [ CONF_NAME=${with_conf_name} ])
3373+
3374+ # Test from where we are running configure, in or outside of src root.
3375+ AC_MSG_CHECKING([where to store configuration])
3376+ if test "x$CONFIGURE_START_DIR" = "x$TOPDIR" \
3377+ || test "x$CONFIGURE_START_DIR" = "x$CUSTOM_ROOT" \
3378+ || test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make/autoconf" \
3379+ || test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make" ; then
3380+ # We are running configure from the src root.
3381+ # Create a default ./build/target-variant-debuglevel output root.
3382+ if test "x${CONF_NAME}" = x; then
3383+ AC_MSG_RESULT([in default location])
3384+ CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
3385+ else
3386+ AC_MSG_RESULT([in build directory with custom name])
3387+ fi
3388+
3389+ OUTPUTDIR="${WORKSPACE_ROOT}/build/${CONF_NAME}"
3390+ $MKDIR -p "$OUTPUTDIR"
3391+ if test ! -d "$OUTPUTDIR"; then
3392+ AC_MSG_ERROR([Could not create build directory $OUTPUTDIR])
3393+ fi
3394+ else
3395+ # We are running configure from outside of the src dir.
3396+ # Then use the current directory as output dir!
3397+ # If configuration is situated in normal build directory, just use the build
3398+ # directory name as configuration name, otherwise use the complete path.
3399+ if test "x${CONF_NAME}" = x; then
3400+ CONF_NAME=`$ECHO $CONFIGURE_START_DIR | $SED -e "s!^${TOPDIR}/build/!!"`
3401+ fi
3402+ OUTPUTDIR="$CONFIGURE_START_DIR"
3403+ AC_MSG_RESULT([in current directory])
3404+
3405+ # WARNING: This might be a bad thing to do. You need to be sure you want to
3406+ # have a configuration in this directory. Do some sanity checks!
3407+
3408+ if test ! -e "$OUTPUTDIR/spec.gmk"; then
3409+ # If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
3410+ # other files
3411+ files_present=`$LS $OUTPUTDIR`
3412+ # Configure has already touched config.log and confdefs.h in the current dir when this check
3413+ # is performed.
3414+ filtered_files=`$ECHO "$files_present" \
3415+ | $SED -e 's/config.log//g' \
3416+ -e 's/configure.log//g' \
3417+ -e 's/confdefs.h//g' \
3418+ -e 's/configure-support//g' \
3419+ -e 's/ //g' \
3420+ | $TR -d '\n'`
3421+ if test "x$filtered_files" != x; then
3422+ AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
3423+ AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
3424+ AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
3425+ AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
3426+ AC_MSG_NOTICE([seriously mess up just about everything.])
3427+ AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
3428+ AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
3429+ AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
3430+ fi
3431+ fi
3432+ fi
3433+ AC_MSG_CHECKING([what configuration name to use])
3434+ AC_MSG_RESULT([$CONF_NAME])
3435+
3436+ BASIC_WINDOWS_VERIFY_DIR($OUTPUTDIR, output)
3437+ UTIL_FIXUP_PATH(OUTPUTDIR)
3438+
3439+ CONFIGURESUPPORT_OUTPUTDIR="$OUTPUTDIR/configure-support"
3440+ $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
3441+
3442+ SPEC="$OUTPUTDIR/spec.gmk"
3443+ AC_SUBST(SPEC)
3444+ AC_SUBST(CONF_NAME)
3445+ AC_SUBST(OUTPUTDIR)
3446+ AC_SUBST(CONFIGURESUPPORT_OUTPUTDIR)
3447+
3448+ # The spec.gmk file contains all variables for the make system.
3449+ AC_CONFIG_FILES([$OUTPUTDIR/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
3450+ # The bootcycle-spec.gmk file contains support for boot cycle builds.
3451+ AC_CONFIG_FILES([$OUTPUTDIR/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
3452+ # The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
3453+ AC_CONFIG_FILES([$OUTPUTDIR/buildjdk-spec.gmk:$AUTOCONF_DIR/buildjdk-spec.gmk.in])
3454+ # The compare.sh is used to compare the build output to other builds.
3455+ AC_CONFIG_FILES([$OUTPUTDIR/compare.sh:$AUTOCONF_DIR/compare.sh.in])
3456+ # The generated Makefile knows where the spec.gmk is and where the source is.
3457+ # You can run make from the OUTPUTDIR, or from the top-level Makefile
3458+ # which will look for generated configurations
3459+ AC_CONFIG_FILES([$OUTPUTDIR/Makefile:$AUTOCONF_DIR/Makefile.in])
3460+])
3461+
3462+###############################################################################
3463+# Check if build directory is on local disk. If not possible to determine,
3464+# we prefer to claim it's local.
3465+# Argument 1: directory to test
3466+# Argument 2: what to do if it is on local disk
3467+# Argument 3: what to do otherwise (remote disk or failure)
3468+AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
3469+[
3470+ # df -l lists only local disks; if the given directory is not found then
3471+ # a non-zero exit code is given
3472+ if test "x$DF" = x; then
3473+ # No df here, say it's local
3474+ $2
3475+ else
3476+ # JDK-8189619
3477+ # df on AIX does not understand -l. On modern AIXes it understands "-T local" which
3478+ # is the same. On older AIXes we just continue to live with a "not local build" warning.
3479+ if test "x$OPENJDK_TARGET_OS" = xaix; then
3480+ DF_LOCAL_ONLY_OPTION='-T local'
3481+ else
3482+ DF_LOCAL_ONLY_OPTION='-l'
3483+ fi
3484+ if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
3485+ $2
3486+ else
3487+ # In WSL, local Windows drives are considered remote by df, but we are
3488+ # required to build into a directory accessible from windows, so consider
3489+ # them local here.
3490+ $3
3491+ fi
3492+ fi
3493+])
3494+
3495+###############################################################################
3496+# Check that source files have basic read permissions set. This might
3497+# not be the case in cygwin in certain conditions.
3498+AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
3499+[
3500+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
3501+ file_to_test="$TOPDIR/LICENSE"
3502+ if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
3503+ AC_MSG_ERROR([Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin.])
3504+ fi
3505+ fi
3506+])
3507+
3508+###############################################################################
3509+AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
3510+[
3511+ AC_MSG_CHECKING([if build directory is on local disk])
3512+ BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUTDIR,
3513+ [OUTPUT_DIR_IS_LOCAL="yes"],
3514+ [OUTPUT_DIR_IS_LOCAL="no"])
3515+ AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
3516+
3517+ BASIC_CHECK_SRC_PERMS
3518+
3519+ # Check if the user has any old-style ALT_ variables set.
3520+ FOUND_ALT_VARIABLES=`env | grep ^ALT_`
3521+
3522+ # Before generating output files, test if they exist. If they do, this is a reconfigure.
3523+ # Since we can't properly handle the dependencies for this, warn the user about the situation
3524+ if test -e $OUTPUTDIR/spec.gmk; then
3525+ IS_RECONFIGURE=yes
3526+ else
3527+ IS_RECONFIGURE=no
3528+ fi
3529+])
3530+
3531+################################################################################
3532+#
3533+# Default make target
3534+#
3535+AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_MAKE_TARGET],
3536+[
3537+ AC_ARG_WITH(default-make-target, [AS_HELP_STRING([--with-default-make-target],
3538+ [set the default make target @<:@exploded-image@:>@])])
3539+ if test "x$with_default_make_target" = "x" \
3540+ || test "x$with_default_make_target" = "xyes"; then
3541+ DEFAULT_MAKE_TARGET="exploded-image"
3542+ elif test "x$with_default_make_target" = "xno"; then
3543+ AC_MSG_ERROR([--without-default-make-target is not a valid option])
3544+ else
3545+ DEFAULT_MAKE_TARGET="$with_default_make_target"
3546+ fi
3547+
3548+ AC_SUBST(DEFAULT_MAKE_TARGET)
3549+])
3550+
3551+###############################################################################
3552+# Setup the default value for LOG=
3553+#
3554+AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_LOG],
3555+[
3556+ AC_ARG_WITH(log, [AS_HELP_STRING([--with-log],
3557+ [[default vaue for make LOG argument [warn]]])])
3558+ AC_MSG_CHECKING([for default LOG value])
3559+ if test "x$with_log" = x; then
3560+ DEFAULT_LOG=""
3561+ else
3562+ # Syntax for valid LOG options is a bit too complex for it to be worth
3563+ # implementing a test for correctness in configure. Just accept it.
3564+ DEFAULT_LOG=$with_log
3565+ fi
3566+ AC_MSG_RESULT([$DEFAULT_LOG])
3567+ AC_SUBST(DEFAULT_LOG)
3568+])
3569+
3570+###############################################################################
3571+# Code to run after AC_OUTPUT
3572+AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT],
3573+[
3574+ # Try to move config.log (generated by autoconf) to the configure-support directory.
3575+ if test -e ./config.log; then
3576+ $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
3577+ fi
3578+
3579+ # Rotate our log file (configure.log)
3580+ if test -e "$OUTPUTDIR/configure.log.old"; then
3581+ $RM -f "$OUTPUTDIR/configure.log.old"
3582+ fi
3583+ if test -e "$OUTPUTDIR/configure.log"; then
3584+ $MV -f "$OUTPUTDIR/configure.log" "$OUTPUTDIR/configure.log.old" 2> /dev/null
3585+ fi
3586+
3587+ # Move configure.log from current directory to the build output root
3588+ if test -e ./configure.log; then
3589+ $MV -f ./configure.log "$OUTPUTDIR/configure.log" 2> /dev/null
3590+ fi
3591+
3592+ # Make the compare script executable
3593+ $CHMOD +x $OUTPUTDIR/compare.sh
3594+])
3595diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4
3596new file mode 100644
3597index 0000000..c39b87d
3598--- /dev/null
3599+++ b/make/autoconf/basic_tools.m4
3600@@ -0,0 +1,480 @@
3601+#
3602+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
3603+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3604+#
3605+# This code is free software; you can redistribute it and/or modify it
3606+# under the terms of the GNU General Public License version 2 only, as
3607+# published by the Free Software Foundation. Oracle designates this
3608+# particular file as subject to the "Classpath" exception as provided
3609+# by Oracle in the LICENSE file that accompanied this code.
3610+#
3611+# This code is distributed in the hope that it will be useful, but WITHOUT
3612+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3613+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3614+# version 2 for more details (a copy is included in the LICENSE file that
3615+# accompanied this code).
3616+#
3617+# You should have received a copy of the GNU General Public License version
3618+# 2 along with this work; if not, write to the Free Software Foundation,
3619+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3620+#
3621+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3622+# or visit www.oracle.com if you need additional information or have any
3623+# questions.
3624+#
3625+
3626+###############################################################################
3627+# Setup the most fundamental tools that relies on not much else to set up,
3628+# but is used by much of the early bootstrap code.
3629+AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
3630+[
3631+ # Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
3632+ AC_PATH_PROGS(BASENAME, basename)
3633+ UTIL_CHECK_NONEMPTY(BASENAME)
3634+ AC_PATH_PROGS(DIRNAME, dirname)
3635+ UTIL_CHECK_NONEMPTY(DIRNAME)
3636+ AC_PATH_PROGS(FILE, file)
3637+ UTIL_CHECK_NONEMPTY(FILE)
3638+ AC_PATH_PROGS(LDD, ldd)
3639+
3640+ # First are all the fundamental required tools.
3641+ UTIL_REQUIRE_PROGS(BASH, bash)
3642+ UTIL_REQUIRE_PROGS(CAT, cat)
3643+ UTIL_REQUIRE_PROGS(CHMOD, chmod)
3644+ UTIL_REQUIRE_PROGS(CP, cp)
3645+ UTIL_REQUIRE_PROGS(CUT, cut)
3646+ UTIL_REQUIRE_PROGS(DATE, date)
3647+ UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
3648+ UTIL_REQUIRE_PROGS(ECHO, echo)
3649+ UTIL_REQUIRE_PROGS(EXPR, expr)
3650+ UTIL_REQUIRE_PROGS(FIND, find)
3651+ UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
3652+ UTIL_REQUIRE_PROGS(GZIP, pigz gzip)
3653+ UTIL_REQUIRE_PROGS(HEAD, head)
3654+ UTIL_REQUIRE_PROGS(LN, ln)
3655+ UTIL_REQUIRE_PROGS(LS, ls)
3656+ # gmkdir is known to be safe for concurrent invocations with -p flag.
3657+ UTIL_REQUIRE_PROGS(MKDIR, gmkdir mkdir)
3658+ UTIL_REQUIRE_PROGS(MKTEMP, mktemp)
3659+ UTIL_REQUIRE_PROGS(MV, mv)
3660+ UTIL_REQUIRE_PROGS(NAWK, nawk gawk awk)
3661+ UTIL_REQUIRE_PROGS(PRINTF, printf)
3662+ UTIL_REQUIRE_PROGS(RM, rm)
3663+ UTIL_REQUIRE_PROGS(RMDIR, rmdir)
3664+ UTIL_REQUIRE_PROGS(SH, sh)
3665+ UTIL_REQUIRE_PROGS(SORT, sort)
3666+ UTIL_REQUIRE_PROGS(TAIL, tail)
3667+ UTIL_REQUIRE_PROGS(TAR, gtar tar)
3668+ UTIL_REQUIRE_PROGS(TEE, tee)
3669+ UTIL_REQUIRE_PROGS(TOUCH, touch)
3670+ UTIL_REQUIRE_PROGS(TR, tr)
3671+ UTIL_REQUIRE_PROGS(UNAME, uname)
3672+ UTIL_REQUIRE_PROGS(WC, wc)
3673+ UTIL_REQUIRE_PROGS(WHICH, which)
3674+ UTIL_REQUIRE_PROGS(XARGS, xargs)
3675+
3676+ # Then required tools that require some special treatment.
3677+ UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
3678+ UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
3679+ UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
3680+ UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
3681+ UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
3682+
3683+ # Optional tools, we can do without them
3684+ UTIL_LOOKUP_PROGS(DF, df)
3685+ UTIL_LOOKUP_PROGS(NICE, nice)
3686+ UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
3687+
3688+ # These are only needed on some platforms
3689+ UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
3690+ UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
3691+ UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
3692+
3693+ # For compare.sh only
3694+ UTIL_LOOKUP_PROGS(CMP, cmp)
3695+ UTIL_LOOKUP_PROGS(UNIQ, uniq)
3696+
3697+ # Always force rm.
3698+ RM="$RM -f"
3699+])
3700+
3701+###############################################################################
3702+# Check if we have found a usable version of make
3703+# $1: the path to a potential make binary (or empty)
3704+# $2: the description on how we found this
3705+AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
3706+[
3707+ MAKE_CANDIDATE="$1"
3708+ DESCRIPTION="$2"
3709+
3710+ # On Cygwin, we require a newer version of make than on other platforms
3711+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
3712+ MAKE_VERSION_EXPR="-e 4\."
3713+ MAKE_REQUIRED_VERSION="4.0"
3714+ else
3715+ MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
3716+ MAKE_REQUIRED_VERSION="3.81"
3717+ fi
3718+
3719+ if test "x$MAKE_CANDIDATE" != x; then
3720+ AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
3721+ MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
3722+ IS_GNU_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP 'GNU Make'`
3723+ if test "x$IS_GNU_MAKE" = x; then
3724+ AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
3725+ else
3726+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
3727+ if test "x$IS_MODERN_MAKE" = x; then
3728+ AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
3729+ else
3730+ if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
3731+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
3732+ MAKE_EXPECTED_ENV='cygwin'
3733+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
3734+ MAKE_EXPECTED_ENV='msys'
3735+ else
3736+ AC_MSG_ERROR([Unknown Windows environment])
3737+ fi
3738+ MAKE_BUILT_FOR=`$MAKE_CANDIDATE --version | $GREP -i 'built for'`
3739+ IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP $MAKE_EXPECTED_ENV`
3740+ else
3741+ # Not relevant for non-Windows
3742+ IS_MAKE_CORRECT_ENV=true
3743+ fi
3744+ if test "x$IS_MAKE_CORRECT_ENV" = x; then
3745+ AC_MSG_NOTICE([Found GNU make version $MAKE_VERSION_STRING at $MAKE_CANDIDATE, but it is not for $MAKE_EXPECTED_ENV (it says: $MAKE_BUILT_FOR). Ignoring.])
3746+ else
3747+ FOUND_MAKE=$MAKE_CANDIDATE
3748+ UTIL_FIXUP_EXECUTABLE(FOUND_MAKE)
3749+ fi
3750+ fi
3751+ fi
3752+ fi
3753+])
3754+
3755+###############################################################################
3756+AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
3757+[
3758+ # Check if make supports the output sync option and if so, setup using it.
3759+ AC_MSG_CHECKING([if make --output-sync is supported])
3760+ if $MAKE --version -O > /dev/null 2>&1; then
3761+ OUTPUT_SYNC_SUPPORTED=true
3762+ AC_MSG_RESULT([yes])
3763+ AC_MSG_CHECKING([for output-sync value])
3764+ AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
3765+ [set make output sync type if supported by make. @<:@recurse@:>@])],
3766+ [OUTPUT_SYNC=$with_output_sync])
3767+ if test "x$OUTPUT_SYNC" = "x"; then
3768+ OUTPUT_SYNC=none
3769+ fi
3770+ AC_MSG_RESULT([$OUTPUT_SYNC])
3771+ if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
3772+ AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
3773+ fi
3774+ else
3775+ OUTPUT_SYNC_SUPPORTED=false
3776+ AC_MSG_RESULT([no])
3777+ fi
3778+ AC_SUBST(OUTPUT_SYNC_SUPPORTED)
3779+ AC_SUBST(OUTPUT_SYNC)
3780+])
3781+
3782+###############################################################################
3783+# Goes looking for a usable version of GNU make.
3784+AC_DEFUN([BASIC_CHECK_GNU_MAKE],
3785+[
3786+ UTIL_SETUP_TOOL(MAKE,
3787+ [
3788+ # Try our hardest to locate a correct version of GNU make
3789+ UTIL_LOOKUP_PROGS(CHECK_GMAKE, gmake)
3790+ BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
3791+
3792+ if test "x$FOUND_MAKE" = x; then
3793+ UTIL_LOOKUP_PROGS(CHECK_MAKE, make)
3794+ BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
3795+ fi
3796+
3797+ if test "x$FOUND_MAKE" = x; then
3798+ if test "x$TOOLCHAIN_PATH" != x; then
3799+ # We have a toolchain path, check that as well before giving up.
3800+ OLD_PATH=$PATH
3801+ PATH=$TOOLCHAIN_PATH:$PATH
3802+ UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
3803+ BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
3804+ if test "x$FOUND_MAKE" = x; then
3805+ UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_MAKE, make)
3806+ BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
3807+ fi
3808+ PATH=$OLD_PATH
3809+ fi
3810+ fi
3811+
3812+ if test "x$FOUND_MAKE" = x; then
3813+ AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
3814+ fi
3815+ ],[
3816+ # If MAKE was set by user, verify the version
3817+ BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
3818+ if test "x$FOUND_MAKE" = x; then
3819+ AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
3820+ fi
3821+ ])
3822+
3823+ MAKE=$FOUND_MAKE
3824+ AC_SUBST(MAKE)
3825+ AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
3826+
3827+ BASIC_CHECK_MAKE_OUTPUT_SYNC
3828+])
3829+
3830+###############################################################################
3831+AC_DEFUN([BASIC_CHECK_FIND_DELETE],
3832+[
3833+ # Test if find supports -delete
3834+ AC_MSG_CHECKING([if find supports -delete])
3835+ FIND_DELETE="-delete"
3836+
3837+ DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
3838+
3839+ echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
3840+
3841+ TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
3842+ if test -f $DELETEDIR/TestIfFindSupportsDelete; then
3843+ # No, it does not.
3844+ $RM $DELETEDIR/TestIfFindSupportsDelete
3845+ if test "x$OPENJDK_TARGET_OS" = "xaix"; then
3846+ # AIX 'find' is buggy if called with '-exec {} \+' and an empty file list
3847+ FIND_DELETE="-print | $XARGS $RM"
3848+ else
3849+ FIND_DELETE="-exec $RM \{\} \+"
3850+ fi
3851+ AC_MSG_RESULT([no])
3852+ else
3853+ AC_MSG_RESULT([yes])
3854+ fi
3855+ $RMDIR $DELETEDIR
3856+ AC_SUBST(FIND_DELETE)
3857+])
3858+
3859+###############################################################################
3860+AC_DEFUN([BASIC_CHECK_TAR],
3861+[
3862+ # Test which kind of tar was found
3863+ if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
3864+ TAR_TYPE="gnu"
3865+ elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
3866+ TAR_TYPE="bsd"
3867+ elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
3868+ TAR_TYPE="bsd"
3869+ elif test "x$($TAR --version | $GREP "busybox")" != "x"; then
3870+ TAR_TYPE="busybox"
3871+ elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
3872+ TAR_TYPE="solaris"
3873+ elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
3874+ TAR_TYPE="aix"
3875+ fi
3876+ AC_MSG_CHECKING([what type of tar was found])
3877+ AC_MSG_RESULT([$TAR_TYPE])
3878+
3879+ TAR_CREATE_FILE_PARAM=""
3880+
3881+ if test "x$TAR_TYPE" = "xgnu"; then
3882+ TAR_INCLUDE_PARAM="T"
3883+ TAR_SUPPORTS_TRANSFORM="true"
3884+ if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
3885+ # When using gnu tar for Solaris targets, need to use compatibility mode
3886+ TAR_CREATE_EXTRA_PARAM="--format=ustar"
3887+ fi
3888+ elif test "x$TAR_TYPE" = "aix"; then
3889+ # -L InputList of aix tar: name of file listing the files and directories
3890+ # that need to be archived or extracted
3891+ TAR_INCLUDE_PARAM="L"
3892+ TAR_SUPPORTS_TRANSFORM="false"
3893+ elif test "x$TAR_TYPE" = "xbusybox"; then
3894+ TAR_INCLUDE_PARAM="T"
3895+ TAR_SUPPORTS_TRANSFORM="false"
3896+ else
3897+ TAR_INCLUDE_PARAM="I"
3898+ TAR_SUPPORTS_TRANSFORM="false"
3899+ fi
3900+ AC_SUBST(TAR_TYPE)
3901+ AC_SUBST(TAR_CREATE_EXTRA_PARAM)
3902+ AC_SUBST(TAR_INCLUDE_PARAM)
3903+ AC_SUBST(TAR_SUPPORTS_TRANSFORM)
3904+])
3905+
3906+###############################################################################
3907+AC_DEFUN([BASIC_CHECK_GREP],
3908+[
3909+ # Test that grep supports -Fx with a list of pattern which includes null pattern.
3910+ # This is a problem for the grep resident on AIX.
3911+ AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
3912+ # Multiple subsequent spaces..
3913+ STACK_SPACES='aaa bbb ccc'
3914+ # ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
3915+ # patterns in it.
3916+ STACK_LIST=${STACK_SPACES// /$'\n'}
3917+ NEEDLE_SPACES='ccc bbb aaa'
3918+ NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
3919+ RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
3920+ if test "x$RESULT" == "x"; then
3921+ AC_MSG_RESULT([yes])
3922+ else
3923+ if test "x$OPENJDK_TARGET_OS" = "xaix"; then
3924+ ADDINFO="Please make sure you use GNU grep, usually found at /opt/freeware/bin."
3925+ fi
3926+ AC_MSG_ERROR([grep does not handle -Fx correctly. ${ADDINFO}])
3927+ fi
3928+])
3929+
3930+###############################################################################
3931+AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
3932+[
3933+ BASIC_CHECK_GNU_MAKE
3934+
3935+ BASIC_CHECK_FIND_DELETE
3936+ BASIC_CHECK_TAR
3937+ BASIC_CHECK_GREP
3938+ BASIC_SETUP_PANDOC
3939+
3940+ # These tools might not be installed by default,
3941+ # need hint on how to install them.
3942+ UTIL_REQUIRE_PROGS(UNZIP, unzip)
3943+ # Since zip uses "ZIP" as a environment variable for passing options, we need
3944+ # to name our variable differently, hence ZIPEXE.
3945+ UTIL_REQUIRE_PROGS(ZIPEXE, zip)
3946+
3947+ # Non-required basic tools
3948+
3949+ UTIL_LOOKUP_PROGS(READELF, greadelf readelf)
3950+ UTIL_LOOKUP_PROGS(DOT, dot)
3951+ UTIL_LOOKUP_PROGS(HG, hg)
3952+ UTIL_LOOKUP_PROGS(GIT, git)
3953+ UTIL_LOOKUP_PROGS(STAT, stat)
3954+ UTIL_LOOKUP_PROGS(TIME, time)
3955+ UTIL_LOOKUP_PROGS(FLOCK, flock)
3956+ # Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
3957+ # be in the user path.
3958+ UTIL_LOOKUP_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
3959+ UTIL_LOOKUP_PROGS(PATCH, gpatch patch)
3960+ # Check if it's GNU time
3961+ IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
3962+ if test "x$IS_GNU_TIME" != x; then
3963+ IS_GNU_TIME=yes
3964+ else
3965+ IS_GNU_TIME=no
3966+ fi
3967+ AC_SUBST(IS_GNU_TIME)
3968+
3969+ if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
3970+ UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
3971+ UTIL_REQUIRE_PROGS(MIG, mig)
3972+ UTIL_REQUIRE_PROGS(XATTR, xattr)
3973+ UTIL_LOOKUP_PROGS(CODESIGN, codesign)
3974+
3975+ if test "x$CODESIGN" != "x"; then
3976+ # Check for user provided code signing identity.
3977+ # If no identity was provided, fall back to "openjdk_codesign".
3978+ AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
3979+ [specify the code signing identity])],
3980+ [MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
3981+ [MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
3982+ )
3983+
3984+ AC_SUBST(MACOSX_CODESIGN_IDENTITY)
3985+
3986+ # Verify that the codesign certificate is present
3987+ AC_MSG_CHECKING([if codesign certificate is present])
3988+ $RM codesign-testfile
3989+ $TOUCH codesign-testfile
3990+ $CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
3991+ >&AS_MESSAGE_LOG_FD || CODESIGN=
3992+ $RM codesign-testfile
3993+ if test "x$CODESIGN" = x; then
3994+ AC_MSG_RESULT([no])
3995+ else
3996+ AC_MSG_RESULT([yes])
3997+ # Verify that the codesign has --option runtime
3998+ AC_MSG_CHECKING([if codesign has --option runtime])
3999+ $RM codesign-testfile
4000+ $TOUCH codesign-testfile
4001+ $CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
4002+ 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
4003+ $RM codesign-testfile
4004+ if test "x$CODESIGN" = x; then
4005+ AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
4006+ else
4007+ AC_MSG_RESULT([yes])
4008+ fi
4009+ fi
4010+ fi
4011+ UTIL_REQUIRE_PROGS(SETFILE, SetFile)
4012+ elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
4013+ UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
4014+ fi
4015+ if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
4016+ UTIL_REQUIRE_PROGS(ULIMIT, ulimit)
4017+ fi
4018+])
4019+
4020+###############################################################################
4021+# Check for support for specific options in bash
4022+AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
4023+[
4024+ # Check bash version
4025+ # Extra [ ] to stop m4 mangling
4026+ [ BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
4027+ AC_MSG_CHECKING([bash version])
4028+ AC_MSG_RESULT([$BASH_VER])
4029+
4030+ BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
4031+ BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
4032+ if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
4033+ AC_MSG_ERROR([bash version 3.2 or better is required])
4034+ fi
4035+
4036+ # Test if bash supports pipefail.
4037+ AC_MSG_CHECKING([if bash supports pipefail])
4038+ if ${BASH} -c 'set -o pipefail'; then
4039+ BASH_ARGS="$BASH_ARGS -o pipefail"
4040+ AC_MSG_RESULT([yes])
4041+ else
4042+ AC_MSG_RESULT([no])
4043+ fi
4044+
4045+ AC_MSG_CHECKING([if bash supports errexit (-e)])
4046+ if ${BASH} -e -c 'true'; then
4047+ BASH_ARGS="$BASH_ARGS -e"
4048+ AC_MSG_RESULT([yes])
4049+ else
4050+ AC_MSG_RESULT([no])
4051+ fi
4052+
4053+ AC_SUBST(BASH_ARGS)
4054+])
4055+
4056+################################################################################
4057+#
4058+# Setup Pandoc
4059+#
4060+AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
4061+[
4062+ UTIL_LOOKUP_PROGS(PANDOC, pandoc)
4063+ PANDOC_MARKDOWN_FLAG="markdown"
4064+ if test -n "$PANDOC"; then
4065+ AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown)
4066+ if $PANDOC --list-extensions | $GREP -q '\+smart'; then
4067+ AC_MSG_RESULT([yes])
4068+ PANDOC_MARKDOWN_FLAG="markdown-smart"
4069+ else
4070+ AC_MSG_RESULT([no])
4071+ fi
4072+ fi
4073+ if test -n "$PANDOC"; then
4074+ ENABLE_PANDOC="true"
4075+ else
4076+ ENABLE_PANDOC="false"
4077+ fi
4078+ AC_SUBST(ENABLE_PANDOC)
4079+ AC_SUBST(PANDOC_MARKDOWN_FLAG)
4080+])
4081diff --git a/make/autoconf/basic_windows.m4 b/make/autoconf/basic_windows.m4
4082new file mode 100644
4083index 0000000..dc19b63
4084--- /dev/null
4085+++ b/make/autoconf/basic_windows.m4
4086@@ -0,0 +1,187 @@
4087+#
4088+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
4089+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4090+#
4091+# This code is free software; you can redistribute it and/or modify it
4092+# under the terms of the GNU General Public License version 2 only, as
4093+# published by the Free Software Foundation. Oracle designates this
4094+# particular file as subject to the "Classpath" exception as provided
4095+# by Oracle in the LICENSE file that accompanied this code.
4096+#
4097+# This code is distributed in the hope that it will be useful, but WITHOUT
4098+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4099+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4100+# version 2 for more details (a copy is included in the LICENSE file that
4101+# accompanied this code).
4102+#
4103+# You should have received a copy of the GNU General Public License version
4104+# 2 along with this work; if not, write to the Free Software Foundation,
4105+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4106+#
4107+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4108+# or visit www.oracle.com if you need additional information or have any
4109+# questions.
4110+#
4111+
4112+# Setup basic configuration paths, and platform-specific stuff related to PATHs.
4113+AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
4114+[
4115+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
4116+ # Must be done prior to calling any commands to avoid mangling of command line
4117+ export MSYS2_ARG_CONV_EXCL="*"
4118+ fi
4119+
4120+ AC_MSG_CHECKING([Windows environment type])
4121+ WINENV_VENDOR=${OPENJDK_BUILD_OS_ENV#windows.}
4122+ AC_MSG_RESULT([$WINENV_VENDOR])
4123+
4124+ if test "x$WINENV_VENDOR" = x; then
4125+ AC_MSG_ERROR([Unknown Windows environment. Neither cygwin nor msys2 was detected.])
4126+ fi
4127+
4128+ if test "x$PATHTOOL" = x; then
4129+ AC_MSG_ERROR([Incorrect $WINENV_VENDOR installation. cygpath was found])
4130+ fi
4131+
4132+ if test "x$CMD" = x; then
4133+ AC_MSG_ERROR([Incorrect Windows/$WINENV_VENDOR setup. Could not locate cmd.exe])
4134+ fi
4135+
4136+ AC_MSG_CHECKING([$WINENV_VENDOR drive prefix])
4137+ WINENV_PREFIX=`$PATHTOOL -u c:/ | $SED -e 's!/c/!!'`
4138+ AC_MSG_RESULT(['$WINENV_PREFIX'])
4139+ AC_SUBST(WINENV_PREFIX)
4140+
4141+ AC_MSG_CHECKING([$WINENV_VENDOR root directory as Windows path])
4142+ if test "x$OPENJDK_BUILD_OS_ENV" != "xwindows.wsl1"; then
4143+ WINENV_ROOT=`$PATHTOOL -w / 2> /dev/null`
4144+ # msys2 has a trailing backslash; strip it
4145+ WINENV_ROOT=${WINENV_ROOT%\\}
4146+ else
4147+ WINENV_ROOT='[[unavailable]]'
4148+ fi
4149+ AC_MSG_RESULT(['$WINENV_ROOT'])
4150+ AC_SUBST(WINENV_ROOT)
4151+
4152+ AC_MSG_CHECKING([$WINENV_VENDOR temp directory])
4153+ WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
4154+ AC_MSG_RESULT([$WINENV_TEMP_DIR])
4155+
4156+ AC_MSG_CHECKING([$WINENV_VENDOR release])
4157+ WINENV_UNAME_RELEASE=`$UNAME -r`
4158+ AC_MSG_RESULT([$WINENV_UNAME_RELEASE])
4159+
4160+ AC_MSG_CHECKING([$WINENV_VENDOR version])
4161+ WINENV_UNAME_VERSION=`$UNAME -v`
4162+ AC_MSG_RESULT([$WINENV_UNAME_VERSION])
4163+
4164+ WINENV_VERSION="$WINENV_UNAME_RELEASE, $WINENV_UNAME_VERSION"
4165+
4166+ AC_MSG_CHECKING([Windows version])
4167+
4168+ # We must change directory to one guaranteed to work, otherwise WSL1
4169+ # can complain (since it does not have a WINENV_ROOT so it can't access
4170+ # unix-style paths from Windows.
4171+ # Additional [] needed to keep m4 from mangling shell constructs.
4172+ [ WINDOWS_VERSION=`cd $WINENV_TEMP_DIR && $CMD /c ver | $EGREP -o '([0-9]+\.)+[0-9]+'` ]
4173+ AC_MSG_RESULT([$WINDOWS_VERSION])
4174+
4175+ # Additional handling per specific env
4176+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
4177+ # Additional [] needed to keep m4 from mangling shell constructs.
4178+ [ CYGWIN_VERSION_OLD=`$ECHO $WINENV_UNAME_RELEASE | $GREP -e '^1\.[0-6]'` ]
4179+ if test "x$CYGWIN_VERSION_OLD" != x; then
4180+ AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
4181+ AC_MSG_ERROR([Cannot continue])
4182+ fi
4183+ if test "x$LDD" = x; then
4184+ AC_MSG_ERROR([ldd is missing, which is needed on cygwin])
4185+ fi
4186+ WINENV_MARKER_DLL=cygwin1.dll
4187+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
4188+ if test "x$LDD" = x; then
4189+ AC_MSG_ERROR([ldd is missing, which is needed on msys2])
4190+ fi
4191+ WINENV_MARKER_DLL=msys-2.0.dll
4192+ fi
4193+
4194+ # Chicken and egg: FIXPATH is needed for UTIL_FIXUP_PATH to work. So for the
4195+ # first run we use the auto-detect abilities of fixpath.sh.
4196+ FIXPATH_DIR="$TOPDIR/make/scripts"
4197+ FIXPATH="$BASH $FIXPATH_DIR/fixpath.sh exec"
4198+ FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh"
4199+ FIXPATH_SAVED_PATH="$PATH"
4200+ UTIL_FIXUP_PATH(FIXPATH_DIR)
4201+
4202+ # Now we can use FIXPATH_DIR to rewrite path to fixpath.sh properly.
4203+ if test "x$WINENV_PREFIX" = x; then
4204+ # On msys the prefix is empty, but we need to pass something to have the
4205+ # fixpath.sh options parser happy.
4206+ WINENV_PREFIX_ARG="NONE"
4207+ else
4208+ WINENV_PREFIX_ARG="$WINENV_PREFIX"
4209+ fi
4210+ FIXPATH_ARGS="-e $PATHTOOL -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR -c $CMD -q"
4211+ FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh $FIXPATH_ARGS"
4212+ FIXPATH="$FIXPATH_BASE exec"
4213+
4214+ AC_SUBST(FIXPATH_BASE)
4215+ AC_SUBST(FIXPATH)
4216+
4217+ SRC_ROOT_LENGTH=`$ECHO "$TOPDIR" | $WC -m`
4218+ if test $SRC_ROOT_LENGTH -gt 100; then
4219+ AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
4220+ fi
4221+
4222+ # Test if windows or unix "find" is first in path.
4223+ AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
4224+ FIND_BINARY_OUTPUT=`find --version 2>&1`
4225+ if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
4226+ AC_MSG_RESULT([unix style])
4227+ elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
4228+ AC_MSG_RESULT([Windows])
4229+ AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix tools.])
4230+ AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
4231+ AC_MSG_ERROR([Cannot continue])
4232+ else
4233+ AC_MSG_RESULT([unknown])
4234+ AC_MSG_WARN([It seems that your find utility is non-standard.])
4235+ fi
4236+])
4237+
4238+# Verify that the directory is usable on Windows
4239+AC_DEFUN([BASIC_WINDOWS_VERIFY_DIR],
4240+[
4241+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1"; then
4242+ OUTPUTDIR_WIN=`$FIXPATH_BASE print $1`
4243+ if test "x$OUTPUTDIR_WIN" = x; then
4244+ AC_MSG_NOTICE([For wsl1, the $2 dir must be located on a Windows drive. Please see doc/building.md for details.])
4245+ AC_MSG_ERROR([Cannot continue])
4246+ fi
4247+ fi
4248+])
4249+
4250+# Create fixpath wrapper
4251+AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
4252+[
4253+ if test "x$OPENJDK_BUILD_OS" = xwindows; then
4254+ FIXPATH_CMDLINE=". $TOPDIR/make/scripts/fixpath.sh -e $PATHTOOL \
4255+ -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR \
4256+ -c $CMD -q"
4257+ $ECHO > $OUTPUTDIR/fixpath '#!/bin/bash'
4258+ $ECHO >> $OUTPUTDIR/fixpath export PATH='"[$]PATH:'$PATH'"'
4259+ $ECHO >> $OUTPUTDIR/fixpath $FIXPATH_CMDLINE '"[$]@"'
4260+ $CHMOD +x $OUTPUTDIR/fixpath
4261+ FIXPATH_BASE="$OUTPUTDIR/fixpath"
4262+ FIXPATH="$FIXPATH_BASE exec"
4263+ fi
4264+])
4265+
4266+# Platform-specific finalization
4267+AC_DEFUN([BASIC_WINDOWS_FINALIZE],
4268+[
4269+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
4270+ # Change back from temp dir
4271+ cd $CONFIGURE_START_DIR
4272+ fi
4273+])
4274diff --git a/make/autoconf/basics.m4 b/make/autoconf/basics.m4
4275deleted file mode 100644
4276index 90df36d..0000000
4277--- a/make/autoconf/basics.m4
4278+++ /dev/null
4279@@ -1,1479 +0,0 @@
4280-#
4281-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
4282-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4283-#
4284-# This code is free software; you can redistribute it and/or modify it
4285-# under the terms of the GNU General Public License version 2 only, as
4286-# published by the Free Software Foundation. Oracle designates this
4287-# particular file as subject to the "Classpath" exception as provided
4288-# by Oracle in the LICENSE file that accompanied this code.
4289-#
4290-# This code is distributed in the hope that it will be useful, but WITHOUT
4291-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4292-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4293-# version 2 for more details (a copy is included in the LICENSE file that
4294-# accompanied this code).
4295-#
4296-# You should have received a copy of the GNU General Public License version
4297-# 2 along with this work; if not, write to the Free Software Foundation,
4298-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4299-#
4300-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4301-# or visit www.oracle.com if you need additional information or have any
4302-# questions.
4303-#
4304-
4305-###############################################################################
4306-# Create a function/macro that takes a series of named arguments. The call is
4307-# similar to AC_DEFUN, but the setup of the function looks like this:
4308-# BASIC_DEFUN_NAMED([MYFUNC], [FOO *BAR], [$@], [
4309-# ... do something
4310-# AC_MSG_NOTICE([Value of BAR is ARG_BAR])
4311-# ])
4312-# A star (*) in front of a named argument means that it is required and it's
4313-# presence will be verified. To pass e.g. the first value as a normal indexed
4314-# argument, use [m4_shift($@)] as the third argument instead of [$@]. These
4315-# arguments are referenced in the function by their name prefixed by ARG_, e.g.
4316-# "ARG_FOO".
4317-#
4318-# The generated function can be called like this:
4319-# MYFUNC(FOO: [foo-val],
4320-# BAR: [
4321-# $ECHO hello world
4322-# ])
4323-# Note that the argument value must start on the same line as the argument name.
4324-#
4325-# Argument 1: Name of the function to define
4326-# Argument 2: List of legal named arguments, with a * prefix for required arguments
4327-# Argument 3: Argument array to treat as named, typically $@
4328-# Argument 4: The main function body
4329-AC_DEFUN([BASIC_DEFUN_NAMED],
4330-[
4331- AC_DEFUN($1, [
4332- m4_foreach(arg, m4_split($2), [
4333- m4_if(m4_bregexp(arg, [^\*]), -1,
4334- [
4335- m4_set_add(legal_named_args, arg)
4336- ],
4337- [
4338- m4_set_add(legal_named_args, m4_substr(arg, 1))
4339- m4_set_add(required_named_args, m4_substr(arg, 1))
4340- ]
4341- )
4342- ])
4343-
4344- m4_foreach([arg], [$3], [
4345- m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
4346- m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: arg_name is not a valid named argument to [$1]. Valid arguments are 'm4_set_contents(legal_named_args, [ ])'.])])
4347- m4_set_remove(required_named_args, arg_name)
4348- m4_set_remove(legal_named_args, arg_name)
4349- m4_pushdef([ARG_][]arg_name, m4_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))))
4350- m4_set_add(defined_args, arg_name)
4351- m4_undefine([arg_name])
4352- ])
4353- m4_set_empty(required_named_args, [], [
4354- AC_MSG_ERROR([Internal error: Required named arguments are missing for [$1]. Missing arguments: 'm4_set_contents(required_named_args, [ ])'])
4355- ])
4356- m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([legal_named_args])), [
4357- m4_pushdef([ARG_][]arg, [])
4358- m4_set_add(defined_args, arg)
4359- ])
4360- m4_set_delete(legal_named_args)
4361- m4_set_delete(required_named_args)
4362-
4363- # Execute function body
4364- $4
4365-
4366- m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([defined_args])), [
4367- m4_popdef([ARG_][]arg)
4368- ])
4369-
4370- m4_set_delete(defined_args)
4371- ])
4372-])
4373-
4374-###############################################################################
4375-# Check if a list of space-separated words are selected only from a list of
4376-# space-separated legal words. Typical use is to see if a user-specified
4377-# set of words is selected from a set of legal words.
4378-#
4379-# Sets the specified variable to list of non-matching (offending) words, or to
4380-# the empty string if all words are matching the legal set.
4381-#
4382-# $1: result variable name
4383-# $2: list of values to check
4384-# $3: list of legal values
4385-AC_DEFUN([BASIC_GET_NON_MATCHING_VALUES],
4386-[
4387- # grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
4388- # Notice that the original variant fails on SLES 10 and 11
4389- # Some grep versions (at least bsd) behaves strangely on the base case with
4390- # no legal_values, so make it explicit.
4391- values_to_check=`$ECHO $2 | $TR ' ' '\n'`
4392- legal_values=`$ECHO $3 | $TR ' ' '\n'`
4393- if test -z "$legal_values"; then
4394- $1="$2"
4395- else
4396- result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
4397- $1=${result//$'\n'/ }
4398- fi
4399-])
4400-
4401-###############################################################################
4402-# Check if a list of space-separated words contains any word(s) from a list of
4403-# space-separated illegal words. Typical use is to see if a user-specified
4404-# set of words contains any from a set of illegal words.
4405-#
4406-# Sets the specified variable to list of matching illegal words, or to
4407-# the empty string if no words are matching the illegal set.
4408-#
4409-# $1: result variable name
4410-# $2: list of values to check
4411-# $3: list of illegal values
4412-AC_DEFUN([BASIC_GET_MATCHING_VALUES],
4413-[
4414- # grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
4415- # Notice that the original variant fails on SLES 10 and 11
4416- # Some grep versions (at least bsd) behaves strangely on the base case with
4417- # no legal_values, so make it explicit.
4418- values_to_check=`$ECHO $2 | $TR ' ' '\n'`
4419- illegal_values=`$ECHO $3 | $TR ' ' '\n'`
4420- if test -z "$illegal_values"; then
4421- $1=""
4422- else
4423- result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
4424- $1=${result//$'\n'/ }
4425- fi
4426-])
4427-
4428-###############################################################################
4429-# Sort a space-separated list, and remove duplicates.
4430-#
4431-# Sets the specified variable to the resulting list.
4432-#
4433-# $1: result variable name
4434-# $2: list of values to sort
4435-AC_DEFUN([BASIC_SORT_LIST],
4436-[
4437- values_to_sort=`$ECHO $2 | $TR ' ' '\n'`
4438- result=`$SORT -u <<< "$values_to_sort" | $GREP -v '^$'`
4439- $1=${result//$'\n'/ }
4440-])
4441-
4442-###############################################################################
4443-# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
4444-# If so, then append $1 to $2 \
4445-# Also set JVM_ARG_OK to true/false depending on outcome.
4446-AC_DEFUN([ADD_JVM_ARG_IF_OK],
4447-[
4448- $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
4449- $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
4450- OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
4451- FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
4452- FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
4453- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
4454- $2="[$]$2 $1"
4455- JVM_ARG_OK=true
4456- else
4457- $ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
4458- $ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
4459- JVM_ARG_OK=false
4460- fi
4461-])
4462-
4463-# Appends a string to a path variable, only adding the : when needed.
4464-AC_DEFUN([BASIC_APPEND_TO_PATH],
4465-[
4466- if test "x$2" != x; then
4467- if test "x[$]$1" = x; then
4468- $1="$2"
4469- else
4470- $1="[$]$1:$2"
4471- fi
4472- fi
4473-])
4474-
4475-# Prepends a string to a path variable, only adding the : when needed.
4476-AC_DEFUN([BASIC_PREPEND_TO_PATH],
4477-[
4478- if test "x$2" != x; then
4479- if test "x[$]$1" = x; then
4480- $1="$2"
4481- else
4482- $1="$2:[$]$1"
4483- fi
4484- fi
4485-])
4486-
4487-###############################################################################
4488-# This will make sure the given variable points to a full and proper
4489-# path. This means:
4490-# 1) There will be no spaces in the path. On unix platforms,
4491-# spaces in the path will result in an error. On Windows,
4492-# the path will be rewritten using short-style to be space-free.
4493-# 2) The path will be absolute, and it will be in unix-style (on
4494-# cygwin).
4495-# $1: The name of the variable to fix
4496-AC_DEFUN([BASIC_FIXUP_PATH],
4497-[
4498- # Only process if variable expands to non-empty
4499-
4500- if test "x[$]$1" != x; then
4501- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
4502- BASIC_FIXUP_PATH_CYGWIN($1)
4503- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
4504- BASIC_FIXUP_PATH_MSYS($1)
4505- else
4506- # We're on a unix platform. Hooray! :)
4507- path="[$]$1"
4508- has_space=`$ECHO "$path" | $GREP " "`
4509- if test "x$has_space" != x; then
4510- AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
4511- AC_MSG_ERROR([Spaces are not allowed in this path.])
4512- fi
4513-
4514- # Use eval to expand a potential ~
4515- eval path="$path"
4516- if test ! -f "$path" && test ! -d "$path"; then
4517- AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
4518- fi
4519-
4520- if test -d "$path"; then
4521- $1="`cd "$path"; $THEPWDCMD -L`"
4522- else
4523- dir="`$DIRNAME "$path"`"
4524- base="`$BASENAME "$path"`"
4525- $1="`cd "$dir"; $THEPWDCMD -L`/$base"
4526- fi
4527- fi
4528- fi
4529-])
4530-
4531-###############################################################################
4532-# This will make sure the given variable points to a executable
4533-# with a full and proper path. This means:
4534-# 1) There will be no spaces in the path. On unix platforms,
4535-# spaces in the path will result in an error. On Windows,
4536-# the path will be rewritten using short-style to be space-free.
4537-# 2) The path will be absolute, and it will be in unix-style (on
4538-# cygwin).
4539-# Any arguments given to the executable is preserved.
4540-# If the input variable does not have a directory specification, then
4541-# it need to be in the PATH.
4542-# $1: The name of the variable to fix
4543-AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
4544-[
4545- # Only process if variable expands to non-empty
4546-
4547- if test "x[$]$1" != x; then
4548- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
4549- BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
4550- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
4551- BASIC_FIXUP_EXECUTABLE_MSYS($1)
4552- else
4553- # We're on a unix platform. Hooray! :)
4554- # First separate the path from the arguments. This will split at the first
4555- # space.
4556- complete="[$]$1"
4557- path="${complete%% *}"
4558- tmp="$complete EOL"
4559- arguments="${tmp#* }"
4560-
4561- # Cannot rely on the command "which" here since it doesn't always work.
4562- is_absolute_path=`$ECHO "$path" | $GREP ^/`
4563- if test -z "$is_absolute_path"; then
4564- # Path to executable is not absolute. Find it.
4565- IFS_save="$IFS"
4566- IFS=:
4567- for p in $PATH; do
4568- if test -f "$p/$path" && test -x "$p/$path"; then
4569- new_path="$p/$path"
4570- break
4571- fi
4572- done
4573- IFS="$IFS_save"
4574- else
4575- # This is an absolute path, we can use it without further modifications.
4576- new_path="$path"
4577- fi
4578-
4579- if test "x$new_path" = x; then
4580- AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
4581- has_space=`$ECHO "$complete" | $GREP " "`
4582- if test "x$has_space" != x; then
4583- AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
4584- fi
4585- AC_MSG_ERROR([Cannot locate the the path of $1])
4586- fi
4587- fi
4588-
4589- # Now join together the path and the arguments once again
4590- if test "x$arguments" != xEOL; then
4591- new_complete="$new_path ${arguments% *}"
4592- else
4593- new_complete="$new_path"
4594- fi
4595-
4596- if test "x$complete" != "x$new_complete"; then
4597- $1="$new_complete"
4598- AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
4599- fi
4600- fi
4601-])
4602-
4603-###############################################################################
4604-AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],
4605-[
4606- if test "x$OPENJDK_BUILD_OS" != xwindows; then
4607- # Follow a chain of symbolic links. Use readlink
4608- # where it exists, else fall back to horribly
4609- # complicated shell code.
4610- if test "x$READLINK_TESTED" != yes; then
4611- # On MacOSX there is a readlink tool with a different
4612- # purpose than the GNU readlink tool. Check the found readlink.
4613- READLINK_ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
4614- # If READLINK_ISGNU is empty, then it's a non-GNU readlink. Don't use it.
4615- READLINK_TESTED=yes
4616- fi
4617-
4618- if test "x$READLINK" != x && test "x$READLINK_ISGNU" != x; then
4619- $1=`$READLINK -f [$]$1`
4620- else
4621- # Save the current directory for restoring afterwards
4622- STARTDIR=$PWD
4623- COUNTER=0
4624- sym_link_dir=`$DIRNAME [$]$1`
4625- sym_link_file=`$BASENAME [$]$1`
4626- cd $sym_link_dir
4627- # Use -P flag to resolve symlinks in directories.
4628- cd `$THEPWDCMD -P`
4629- sym_link_dir=`$THEPWDCMD -P`
4630- # Resolve file symlinks
4631- while test $COUNTER -lt 20; do
4632- ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
4633- if test "x$ISLINK" == x; then
4634- # This is not a symbolic link! We are done!
4635- break
4636- fi
4637- # Again resolve directory symlinks since the target of the just found
4638- # link could be in a different directory
4639- cd `$DIRNAME $ISLINK`
4640- sym_link_dir=`$THEPWDCMD -P`
4641- sym_link_file=`$BASENAME $ISLINK`
4642- let COUNTER=COUNTER+1
4643- done
4644- cd $STARTDIR
4645- $1=$sym_link_dir/$sym_link_file
4646- fi
4647- fi
4648-])
4649-
4650-###############################################################################
4651-# Register a --with argument but mark it as deprecated
4652-# $1: The name of the with argument to deprecate, not including --with-
4653-AC_DEFUN([BASIC_DEPRECATED_ARG_WITH],
4654-[
4655- AC_ARG_WITH($1, [AS_HELP_STRING([--with-$1],
4656- [Deprecated. Option is kept for backwards compatibility and is ignored])],
4657- [AC_MSG_WARN([Option --with-$1 is deprecated and will be ignored.])])
4658-])
4659-
4660-###############################################################################
4661-# Register a --enable argument but mark it as deprecated
4662-# $1: The name of the with argument to deprecate, not including --enable-
4663-# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
4664-# $3: Messages to user.
4665-AC_DEFUN([BASIC_DEPRECATED_ARG_ENABLE],
4666-[
4667- AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
4668- [Deprecated. Option is kept for backwards compatibility and is ignored])])
4669- if test "x$enable_$2" != x; then
4670- AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])
4671-
4672- if test "x$3" != x; then
4673- AC_MSG_WARN([$3])
4674- fi
4675-
4676- fi
4677-])
4678-
4679-###############################################################################
4680-AC_DEFUN_ONCE([BASIC_INIT],
4681-[
4682- # Save the original command line. This is passed to us by the wrapper configure script.
4683- AC_SUBST(CONFIGURE_COMMAND_LINE)
4684- # AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
4685- AC_SUBST(AUTOCONF)
4686- # Save the path variable before it gets changed
4687- ORIGINAL_PATH="$PATH"
4688- AC_SUBST(ORIGINAL_PATH)
4689- DATE_WHEN_CONFIGURED=`date`
4690- AC_SUBST(DATE_WHEN_CONFIGURED)
4691- AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
4692-])
4693-
4694-###############################################################################
4695-# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
4696-# $1: variable to check
4697-AC_DEFUN([BASIC_CHECK_NONEMPTY],
4698-[
4699- if test "x[$]$1" = x; then
4700- AC_MSG_ERROR([Could not find required tool for $1])
4701- fi
4702-])
4703-
4704-###############################################################################
4705-# Check that there are no unprocessed overridden variables left.
4706-# If so, they are an incorrect argument and we will exit with an error.
4707-AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
4708-[
4709- if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
4710- # Replace the separating ! with spaces before presenting for end user.
4711- unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
4712- AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
4713- fi
4714-])
4715-
4716-###############################################################################
4717-# Setup a tool for the given variable. If correctly specified by the user,
4718-# use that value, otherwise search for the tool using the supplied code snippet.
4719-# $1: variable to set
4720-# $2: code snippet to call to look for the tool
4721-# $3: code snippet to call if variable was used to find tool
4722-AC_DEFUN([BASIC_SETUP_TOOL],
4723-[
4724- # Publish this variable in the help.
4725- AC_ARG_VAR($1, [Override default value for $1])
4726-
4727- if [[ -z "${$1+x}" ]]; then
4728- # The variable is not set by user, try to locate tool using the code snippet
4729- $2
4730- else
4731- # The variable is set, but is it from the command line or the environment?
4732-
4733- # Try to remove the string !$1! from our list.
4734- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!$1!/}
4735- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
4736- # If it failed, the variable was not from the command line. Ignore it,
4737- # but warn the user (except for BASH, which is always set by the calling BASH).
4738- if test "x$1" != xBASH; then
4739- AC_MSG_WARN([Ignoring value of $1 from the environment. Use command line variables instead.])
4740- fi
4741- # Try to locate tool using the code snippet
4742- $2
4743- else
4744- # If it succeeded, then it was overridden by the user. We will use it
4745- # for the tool.
4746-
4747- # First remove it from the list of overridden variables, so we can test
4748- # for unknown variables in the end.
4749- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
4750-
4751- # Check if we try to supply an empty value
4752- if test "x[$]$1" = x; then
4753- AC_MSG_NOTICE([Setting user supplied tool $1= (no value)])
4754- AC_MSG_CHECKING([for $1])
4755- AC_MSG_RESULT([disabled])
4756- else
4757- # Check if the provided tool contains a complete path.
4758- tool_specified="[$]$1"
4759- tool_basename="${tool_specified##*/}"
4760- if test "x$tool_basename" = "x$tool_specified"; then
4761- # A command without a complete path is provided, search $PATH.
4762- AC_MSG_NOTICE([Will search for user supplied tool $1=$tool_basename])
4763- AC_PATH_PROG($1, $tool_basename)
4764- if test "x[$]$1" = x; then
4765- AC_MSG_ERROR([User supplied tool $tool_basename could not be found])
4766- fi
4767- else
4768- # Otherwise we believe it is a complete path. Use it as it is.
4769- AC_MSG_NOTICE([Will use user supplied tool $1=$tool_specified])
4770- AC_MSG_CHECKING([for $1])
4771- if test ! -x "$tool_specified"; then
4772- AC_MSG_RESULT([not found])
4773- AC_MSG_ERROR([User supplied tool $1=$tool_specified does not exist or is not executable])
4774- fi
4775- AC_MSG_RESULT([$tool_specified])
4776- fi
4777- fi
4778- fi
4779- $3
4780- fi
4781-])
4782-
4783-###############################################################################
4784-# Call BASIC_SETUP_TOOL with AC_PATH_PROGS to locate the tool
4785-# $1: variable to set
4786-# $2: executable name (or list of names) to look for
4787-# $3: [path]
4788-AC_DEFUN([BASIC_PATH_PROGS],
4789-[
4790- BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
4791-])
4792-
4793-###############################################################################
4794-# Call BASIC_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
4795-# $1: variable to set
4796-# $2: executable name (or list of names) to look for
4797-AC_DEFUN([BASIC_CHECK_TOOLS],
4798-[
4799- BASIC_SETUP_TOOL($1, [AC_CHECK_TOOLS($1, $2)])
4800-])
4801-
4802-###############################################################################
4803-# Like BASIC_PATH_PROGS but fails if no tool was found.
4804-# $1: variable to set
4805-# $2: executable name (or list of names) to look for
4806-# $3: [path]
4807-AC_DEFUN([BASIC_REQUIRE_PROGS],
4808-[
4809- BASIC_PATH_PROGS($1, $2, , $3)
4810- BASIC_CHECK_NONEMPTY($1)
4811-])
4812-
4813-###############################################################################
4814-# Like BASIC_SETUP_TOOL but fails if no tool was found.
4815-# $1: variable to set
4816-# $2: autoconf macro to call to look for the special tool
4817-AC_DEFUN([BASIC_REQUIRE_SPECIAL],
4818-[
4819- BASIC_SETUP_TOOL($1, [$2])
4820- BASIC_CHECK_NONEMPTY($1)
4821-])
4822-
4823-###############################################################################
4824-# Like BASIC_REQUIRE_PROGS but also allows for bash built-ins
4825-# $1: variable to set
4826-# $2: executable name (or list of names) to look for
4827-# $3: [path]
4828-AC_DEFUN([BASIC_REQUIRE_BUILTIN_PROGS],
4829-[
4830- BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
4831- if test "x[$]$1" = x; then
4832- AC_MSG_NOTICE([Required tool $2 not found in PATH, checking built-in])
4833- if help $2 > /dev/null 2>&1; then
4834- AC_MSG_NOTICE([Found $2 as shell built-in. Using it])
4835- $1="$2"
4836- else
4837- AC_MSG_ERROR([Required tool $2 also not found as built-in.])
4838- fi
4839- fi
4840- BASIC_CHECK_NONEMPTY($1)
4841-])
4842-
4843-###############################################################################
4844-# Setup the most fundamental tools that relies on not much else to set up,
4845-# but is used by much of the early bootstrap code.
4846-AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
4847-[
4848- # Start with tools that do not need have cross compilation support
4849- # and can be expected to be found in the default PATH. These tools are
4850- # used by configure.
4851-
4852- # First are all the simple required tools.
4853- BASIC_REQUIRE_PROGS(BASENAME, basename)
4854- BASIC_REQUIRE_PROGS(BASH, bash)
4855- BASIC_REQUIRE_PROGS(CAT, cat)
4856- BASIC_REQUIRE_PROGS(CHMOD, chmod)
4857- BASIC_REQUIRE_PROGS(CMP, cmp)
4858- BASIC_REQUIRE_PROGS(COMM, comm)
4859- BASIC_REQUIRE_PROGS(CP, cp)
4860- BASIC_REQUIRE_PROGS(CUT, cut)
4861- BASIC_REQUIRE_PROGS(DATE, date)
4862- BASIC_REQUIRE_PROGS(DIFF, [gdiff diff])
4863- BASIC_REQUIRE_PROGS(DIRNAME, dirname)
4864- BASIC_REQUIRE_PROGS(ECHO, echo)
4865- BASIC_REQUIRE_PROGS(EXPR, expr)
4866- BASIC_REQUIRE_PROGS(FILE, file)
4867- BASIC_REQUIRE_PROGS(FIND, find)
4868- BASIC_REQUIRE_PROGS(HEAD, head)
4869- BASIC_REQUIRE_PROGS(GUNZIP, gunzip)
4870- BASIC_REQUIRE_PROGS(GZIP, pigz gzip)
4871- BASIC_REQUIRE_PROGS(LN, ln)
4872- BASIC_REQUIRE_PROGS(LS, ls)
4873- BASIC_REQUIRE_PROGS(MKDIR, mkdir)
4874- BASIC_REQUIRE_PROGS(MKTEMP, mktemp)
4875- BASIC_REQUIRE_PROGS(MV, mv)
4876- BASIC_REQUIRE_PROGS(NAWK, [nawk gawk awk])
4877- BASIC_REQUIRE_PROGS(PRINTF, printf)
4878- BASIC_REQUIRE_PROGS(READLINK, [greadlink readlink])
4879- BASIC_REQUIRE_PROGS(RM, rm)
4880- BASIC_REQUIRE_PROGS(RMDIR, rmdir)
4881- BASIC_REQUIRE_PROGS(SH, sh)
4882- BASIC_REQUIRE_PROGS(SORT, sort)
4883- BASIC_REQUIRE_PROGS(TAIL, tail)
4884- BASIC_REQUIRE_PROGS(TAR, gtar tar)
4885- BASIC_REQUIRE_PROGS(TEE, tee)
4886- BASIC_REQUIRE_PROGS(TOUCH, touch)
4887- BASIC_REQUIRE_PROGS(TR, tr)
4888- BASIC_REQUIRE_PROGS(UNAME, uname)
4889- BASIC_REQUIRE_PROGS(UNIQ, uniq)
4890- BASIC_REQUIRE_PROGS(WC, wc)
4891- BASIC_REQUIRE_PROGS(WHICH, which)
4892- BASIC_REQUIRE_PROGS(XARGS, xargs)
4893-
4894- # Then required tools that require some special treatment.
4895- BASIC_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
4896- BASIC_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
4897- BASIC_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
4898- BASIC_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
4899- BASIC_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
4900-
4901- # Always force rm.
4902- RM="$RM -f"
4903-
4904- # pwd behaves differently on various platforms and some don't support the -L flag.
4905- # Always use the bash builtin pwd to get uniform behavior.
4906- THEPWDCMD=pwd
4907-
4908- # These are not required on all platforms
4909- BASIC_PATH_PROGS(CYGPATH, cygpath)
4910- BASIC_PATH_PROGS(DF, df)
4911- BASIC_PATH_PROGS(CPIO, [cpio bsdcpio])
4912- BASIC_PATH_PROGS(NICE, nice)
4913- BASIC_PATH_PROGS(PANDOC, pandoc)
4914-])
4915-
4916-###############################################################################
4917-# Setup basic configuration paths, and platform-specific stuff related to PATHs.
4918-AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
4919-[
4920- # Save the current directory this script was started from
4921- CONFIGURE_START_DIR="$PWD"
4922-
4923- # We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
4924- # for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
4925- # was not available at that time.
4926- REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
4927- if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
4928- ORIGINAL_PATH="$REWRITTEN_PATH"
4929- AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
4930- fi
4931-
4932- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
4933- PATH_SEP=";"
4934- BASIC_CHECK_PATHS_WINDOWS
4935- else
4936- PATH_SEP=":"
4937- fi
4938- AC_SUBST(PATH_SEP)
4939-
4940- # We get the top-level directory from the supporting wrappers.
4941- AC_MSG_CHECKING([for top-level directory])
4942- AC_MSG_RESULT([$TOPDIR])
4943- AC_SUBST(TOPDIR)
4944- AC_SUBST(CONFIGURE_START_DIR)
4945-
4946- # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
4947- BASIC_FIXUP_PATH(CONFIGURE_START_DIR)
4948- BASIC_FIXUP_PATH(TOPDIR)
4949-
4950- if test "x$CUSTOM_ROOT" != x; then
4951- BASIC_FIXUP_PATH(CUSTOM_ROOT)
4952- WORKSPACE_ROOT="${CUSTOM_ROOT}"
4953- else
4954- WORKSPACE_ROOT="${TOPDIR}"
4955- fi
4956- AC_SUBST(WORKSPACE_ROOT)
4957-
4958- # Locate the directory of this script.
4959- AUTOCONF_DIR=$TOPDIR/make/autoconf
4960-
4961- # Setup username (for use in adhoc version strings etc)
4962- # Outer [ ] to quote m4.
4963- [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
4964- AC_SUBST(USERNAME)
4965-])
4966-
4967-###############################################################################
4968-# Evaluates platform specific overrides for devkit variables.
4969-# $1: Name of variable
4970-AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
4971-[
4972- if test "x[$]$1" = x; then
4973- eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
4974- fi
4975-])
4976-
4977-###############################################################################
4978-# Evaluates platform specific overrides for build devkit variables.
4979-# $1: Name of variable
4980-AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
4981-[
4982- if test "x[$]$1" = x; then
4983- eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
4984- fi
4985-])
4986-
4987-###############################################################################
4988-AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
4989-[
4990- AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
4991- [use this devkit for compilers, tools and resources])])
4992-
4993- if test "x$with_devkit" = xyes; then
4994- AC_MSG_ERROR([--with-devkit must have a value])
4995- elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
4996- BASIC_FIXUP_PATH([with_devkit])
4997- DEVKIT_ROOT="$with_devkit"
4998- # Check for a meta data info file in the root of the devkit
4999- if test -f "$DEVKIT_ROOT/devkit.info"; then
5000- . $DEVKIT_ROOT/devkit.info
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches