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
diff --git a/.gitignore b/.gitignore
0deleted file mode 1006440deleted file mode 100644
index 608a4f6..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
1/build/
2/dist/
3/.idea/
4nbproject/private/
5/webrev
6/.src-rev
7/.jib/
8.DS_Store
9.metadata/
10.recommenders/
11test/nashorn/script/external
12test/nashorn/lib
13NashornProfile.txt
14**/JTreport/**
15**/JTwork/**
diff --git a/.jcheck/conf b/.jcheck/conf
16deleted file mode 1006440deleted file mode 100644
index d8163f5..0000000
--- a/.jcheck/conf
+++ /dev/null
@@ -1,31 +0,0 @@
1[general]
2project=jdk-updates
3jbs=JDK
4version=11.0.17
5
6[checks]
7error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace
8
9[repository]
10tags=(?: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)
11branches=
12
13[census]
14version=0
15domain=openjdk.org
16
17[checks "whitespace"]
18files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java
19
20[checks "merge"]
21message=Merge
22
23[checks "reviewers"]
24reviewers=1
25ignore=duke
26
27[checks "committer"]
28role=committer
29
30[checks "issues"]
31pattern=^([124-8][0-9]{6}): (\S.*)$
diff --git a/debian/changelog b/debian/changelog
index 2d94c5a..2097efa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
1openjdk-lts (11.0.18+10-0ubuntu1) lunar; urgency=medium
2
3 * OpenJDK 11.0.18 release, build 10.
4 - CVE-2023-21835, CVE-2023-21843
5 - Release notes:
6 https://www.oracle.com/java/technologies/javase/11-0-18-relnotes.html
7 * debian/patches/*: Refreshed patches for the new release and dropped unused
8 patches.
9 * debian/watch: use jdk11u repository as upstream.
10 * debian/rules: add lunar to jtreg version selection.
11
12 -- Vladimir Petko <vladimir.petko@canonical.com> Thu, 19 Jan 2023 21:24:22 +1300
13
1openjdk-lts (11.0.17+8-1ubuntu2) kinetic-security; urgency=medium14openjdk-lts (11.0.17+8-1ubuntu2) kinetic-security; urgency=medium
215
3 * OpenJDK 11.0.17 release, build 8.16 * OpenJDK 11.0.17 release, build 8.
diff --git a/debian/patches/accessible-toolkit.diff b/debian/patches/accessible-toolkit.diff
4deleted file mode 10064417deleted file mode 100644
index b337a9c..0000000
--- a/debian/patches/accessible-toolkit.diff
+++ /dev/null
@@ -1,15 +0,0 @@
1--- a/jdk/src/share/classes/java/awt/Toolkit.java
2+++ b/jdk/src/share/classes/java/awt/Toolkit.java
3@@ -894,7 +894,11 @@
4 return null;
5 }
6 });
7- loadAssistiveTechnologies();
8+ try {
9+ loadAssistiveTechnologies();
10+ } catch ( AWTError error) {
11+ // ignore silently
12+ }
13 } finally {
14 // Make sure to always re-enable the JIT.
15 java.lang.Compiler.enable();
diff --git a/debian/patches/adlc-parser.diff b/debian/patches/adlc-parser.diff
index a337b8e..48c64b6 100644
--- a/debian/patches/adlc-parser.diff
+++ b/debian/patches/adlc-parser.diff
@@ -1,13 +1,23 @@
1# DP: fixes an uninitialized memory issue in adlc1# DP: fixes an uninitialized memory issue in adlc
2Index: b/src/hotspot/share/adlc/formsopt.cpp
3===================================================================
4--- a/src/hotspot/share/adlc/formsopt.cpp2--- a/src/hotspot/share/adlc/formsopt.cpp
5+++ b/src/hotspot/share/adlc/formsopt.cpp3+++ b/src/hotspot/share/adlc/formsopt.cpp
6@@ -439,6 +439,7 @@ FrameForm::FrameForm() {4@@ -427,6 +427,11 @@
5 //==============================Frame Handling=================================
6 //------------------------------FrameForm--------------------------------------
7 FrameForm::FrameForm() {
8+ _sync_stack_slots = NULL;
9+ _inline_cache_reg = NULL;
10+ _interpreter_method_oop_reg = NULL;
11+ _interpreter_frame_pointer_reg = NULL;
12+ _cisc_spilling_operand_name = NULL;
13 _frame_pointer = NULL;
14 _c_frame_pointer = NULL;
15 _alignment = NULL;
16@@ -438,7 +443,6 @@
17 _c_calling_convention = NULL;
7 _return_value = NULL;18 _return_value = NULL;
8 _c_return_value = NULL;19 _c_return_value = NULL;
9 _interpreter_frame_pointer_reg = NULL;20- _interpreter_frame_pointer_reg = NULL;
10+ _cisc_spilling_operand_name = NULL;
11 }21 }
12 22
13 FrameForm::~FrameForm() {23 FrameForm::~FrameForm() {
diff --git a/debian/patches/alpha-float-const.diff b/debian/patches/alpha-float-const.diff
14deleted file mode 10064424deleted file mode 100644
index e3b6e08..0000000
--- a/debian/patches/alpha-float-const.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1--- a/src/java.base/share/classes/java/lang/Float.java 2017-11-16 00:58:50.000000000 +0100
2+++ b/src/java.base/share/classes/java/lang/Float.java 2017-12-22 22:56:30.771249660 +0100
3@@ -84,7 +84,9 @@
4 *
5 * @since 1.6
6 */
7- public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
8+ // FIXME: still required on alpha?
9+ // public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
10+ public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000);
11
12 /**
13 * A constant holding the smallest positive nonzero value of type
diff --git a/debian/patches/dont-strip-images.diff b/debian/patches/dont-strip-images.diff
14deleted file mode 1006440deleted file mode 100644
index e7817cf..0000000
--- a/debian/patches/dont-strip-images.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1--- a/src/common/autoconf/flags.m4
2+++ b/src/common/autoconf/flags.m4
3@@ -61,7 +61,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
4 fi
5
6 if test "x$OPENJDK_TARGET_OS" != xwindows; then
7- POST_STRIP_CMD="$STRIP $STRIPFLAGS"
8+ if test -z "$POST_STRIP_CMD" ; then
9+ POST_STRIP_CMD="$STRIP $STRIPFLAGS"
10+ fi
11 fi
12 AC_SUBST(POST_STRIP_CMD)
13
diff --git a/debian/patches/enumipv6-fix.diff b/debian/patches/enumipv6-fix.diff
14deleted file mode 1006440deleted file mode 100644
index 82f73c5..0000000
--- a/debian/patches/enumipv6-fix.diff
+++ /dev/null
@@ -1,11 +0,0 @@
1--- openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c~ 2012-02-15 09:26:50.000000000 +0100
2+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2012-02-26 14:13:22.602107361 +0100
3@@ -1105,7 +1105,7 @@
4 uint8_t ipv6addr[16];
5
6 if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) {
7- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
8+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %x %x %x %x %20s\n",
9 addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7],
10 &if_idx, &plen, &scope, &dad_status, devname) != EOF) {
11
diff --git a/debian/patches/generated-headers.patch b/debian/patches/generated-headers.patch
index ca73f87..f9aa947 100644
--- a/debian/patches/generated-headers.patch
+++ b/debian/patches/generated-headers.patch
@@ -1,6 +1,6 @@
1--- a/make/lib/Awt2dLibraries.gmk1--- a/make/lib/Awt2dLibraries.gmk
2+++ b/make/lib/Awt2dLibraries.gmk2+++ b/make/lib/Awt2dLibraries.gmk
3@@ -382,7 +382,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB3@@ -383,7 +383,7 @@
4 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \4 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
5 OPTIMIZATION := HIGHEST, \5 OPTIMIZATION := HIGHEST, \
6 CFLAGS := $(LCMS_CFLAGS_JDKLIB) \6 CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
@@ -9,7 +9,7 @@
9 CFLAGS_solaris := -xc99=no_lib, \9 CFLAGS_solaris := -xc99=no_lib, \
10 CFLAGS_windows := -DCMS_IS_WINDOWS_, \10 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
11 EXTRA_HEADER_DIRS := \11 EXTRA_HEADER_DIRS := \
12@@ -431,7 +431,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB12@@ -432,7 +432,7 @@
13 NAME := javajpeg, \13 NAME := javajpeg, \
14 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \14 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
15 OPTIMIZATION := HIGHEST, \15 OPTIMIZATION := HIGHEST, \
diff --git a/debian/patches/hotspot-disable-exec-shield-workaround.diff b/debian/patches/hotspot-disable-exec-shield-workaround.diff
index 447f09d..34c6e14 100644
--- a/debian/patches/hotspot-disable-exec-shield-workaround.diff
+++ b/debian/patches/hotspot-disable-exec-shield-workaround.diff
@@ -1,6 +1,6 @@
1--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp1--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
2+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp2+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
3@@ -863,7 +863,7 @@ void os::verify_stack_alignment() {3@@ -874,7 +874,7 @@
4 * updates (JDK-8023956).4 * updates (JDK-8023956).
5 */5 */
6 void os::workaround_expand_exec_shield_cs_limit() {6 void os::workaround_expand_exec_shield_cs_limit() {
diff --git a/debian/patches/hotspot-disable-werror.diff b/debian/patches/hotspot-disable-werror.diff
7deleted file mode 1006447deleted file mode 100644
index 0ec8583..0000000
--- a/debian/patches/hotspot-disable-werror.diff
+++ /dev/null
@@ -1,11 +0,0 @@
1--- a/src/hotspot/make/linux/makefiles/gcc.make
2+++ b/src/hotspot/make/linux/makefiles/gcc.make
3@@ -203,7 +203,7 @@ else
4 endif
5
6 # Compiler warnings are treated as errors
7-WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
8+WARNINGS_ARE_ERRORS ?=
9
10 ifeq ($(USE_CLANG), true)
11 # However we need to clean the code up before we can unrestrictedly enable this option with Clang
diff --git a/debian/patches/hotspot-libpath.diff b/debian/patches/hotspot-libpath.diff
index 469c698..caf7616 100644
--- a/debian/patches/hotspot-libpath.diff
+++ b/debian/patches/hotspot-libpath.diff
@@ -1,6 +1,6 @@
1--- a/src/hotspot/os/linux/os_linux.cpp1--- a/src/hotspot/os/linux/os_linux.cpp
2+++ b/src/hotspot/os/linux/os_linux.cpp2+++ b/src/hotspot/os/linux/os_linux.cpp
3@@ -427,18 +427,22 @@ void os::init_system_properties_values()3@@ -430,18 +430,22 @@
4 // 1: ...4 // 1: ...
5 // ...5 // ...
6 // 7: The default directories, normally /lib and /usr/lib.6 // 7: The default directories, normally /lib and /usr/lib.
@@ -28,7 +28,7 @@
28 #define SYS_EXT_DIR "/usr/java/packages"28 #define SYS_EXT_DIR "/usr/java/packages"
29--- a/make/hotspot/lib/CompileJvm.gmk29--- a/make/hotspot/lib/CompileJvm.gmk
30+++ b/make/hotspot/lib/CompileJvm.gmk30+++ b/make/hotspot/lib/CompileJvm.gmk
31@@ -131,6 +131,11 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TAR31@@ -131,6 +131,11 @@
32 endif32 endif
33 endif33 endif
34 34
diff --git a/debian/patches/hotspot-mips-align.diff b/debian/patches/hotspot-mips-align.diff
index fb397fc..4ffd7f1 100644
--- a/debian/patches/hotspot-mips-align.diff
+++ b/debian/patches/hotspot-mips-align.diff
@@ -1,8 +1,6 @@
1Index: b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
2===================================================================
3--- a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp1--- a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
4+++ b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp2+++ b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp
5@@ -367,7 +367,7 @@ int CppInterpreter::native_entry(Method*3@@ -369,7 +369,7 @@
6 ThreadStateTransition::transition_from_java(thread, _thread_in_native);4 ThreadStateTransition::transition_from_java(thread, _thread_in_native);
7 5
8 // Make the call6 // Make the call
diff --git a/debian/patches/hotspot-set-compiler.diff b/debian/patches/hotspot-set-compiler.diff
9deleted file mode 1006447deleted file mode 100644
index 181b71c..0000000
--- a/debian/patches/hotspot-set-compiler.diff
+++ /dev/null
@@ -1,11 +0,0 @@
1--- a/src/hotspot/make/linux/makefiles/gcc.make
2+++ b/src/hotspot/make/linux/makefiles/gcc.make
3@@ -39,7 +39,7 @@
4 ifeq ($(USE_CLANG), true)
5 CXX = clang++
6 CC = clang
7- else
8+ else ifeq ($(CXX),)
9 CXX = g++
10 CC = gcc
11 endif
diff --git a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
index 84781fd..afab6bd 100644
--- a/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
+++ b/debian/patches/hotspot-test-fix-npe-on-missing-file.patch
@@ -11,7 +11,7 @@ Last-Update: 2020-11-09
11This patch header follows DEP-3: http://dep.debian.net/deps/dep3/11This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
12--- a/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java12--- a/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java
13+++ b/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java13+++ b/test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java
14@@ -139,7 +139,7 @@ public class MoveJDKTest {14@@ -137,7 +137,7 @@
15 Files.createSymbolicLink(child_dst.toPath(), /* link to -> */ child_src.toPath());15 Files.createSymbolicLink(child_dst.toPath(), /* link to -> */ child_src.toPath());
16 }16 }
17 } else {17 } else {
diff --git a/debian/patches/hotspot-warn-no-errformat.diff b/debian/patches/hotspot-warn-no-errformat.diff
18deleted file mode 10064418deleted file mode 100644
index 0628b89..0000000
--- a/debian/patches/hotspot-warn-no-errformat.diff
+++ /dev/null
@@ -1,22 +0,0 @@
1--- a/src/hotspot/make/solaris/makefiles/gcc.make
2+++ b/src/hotspot/make/solaris/makefiles/gcc.make
3@@ -117,7 +117,7 @@ endif
4
5
6 # Compiler warnings are treated as errors
7-WARNINGS_ARE_ERRORS ?= -Werror
8+WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
9
10 # Enable these warnings. See 'info gcc' about details on these options
11 WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2
12--- a/src/hotspot/make/linux/makefiles/gcc.make
13+++ b/src/hotspot/make/linux/makefiles/gcc.make
14@@ -203,7 +203,7 @@ else
15 endif
16
17 # Compiler warnings are treated as errors
18-WARNINGS_ARE_ERRORS ?= -Werror
19+WARNINGS_ARE_ERRORS ?= -Werror -Wno-error=format
20
21 ifeq ($(USE_CLANG), true)
22 # However we need to clean the code up before we can unrestrictedly enable this option with Clang
diff --git a/debian/patches/icedtea-sound.diff b/debian/patches/icedtea-sound.diff
23deleted file mode 1006440deleted file mode 100644
index 3e76219..0000000
--- a/debian/patches/icedtea-sound.diff
+++ /dev/null
@@ -1,158 +0,0 @@
1--- a/src/icedtea-sound/acinclude.m4
2+++ b/src/icedtea-sound/acinclude.m4
3@@ -24,12 +24,14 @@
4 BUILD_ARCH_DIR=amd64
5 INSTALL_ARCH_DIR=amd64
6 JRE_ARCH_DIR=amd64
7+ ARCHFLAG="-m64"
8 ;;
9 i?86)
10 BUILD_ARCH_DIR=i586
11 INSTALL_ARCH_DIR=i386
12 JRE_ARCH_DIR=i386
13 ARCH_PREFIX=${LINUX32}
14+ ARCHFLAG="-m32"
15 ;;
16 alpha*)
17 BUILD_ARCH_DIR=alpha
18@@ -40,11 +42,13 @@
19 BUILD_ARCH_DIR=arm
20 INSTALL_ARCH_DIR=arm
21 JRE_ARCH_DIR=arm
22+ ARCHFLAG="-D_LITTLE_ENDIAN"
23 ;;
24 arm64|aarch64)
25 BUILD_ARCH_DIR=aarch64
26 INSTALL_ARCH_DIR=aarch64
27 JRE_ARCH_DIR=aarch64
28+ ARCHFLAG="-D_LITTLE_ENDIAN"
29 ;;
30 mips)
31 BUILD_ARCH_DIR=mips
32@@ -61,16 +65,19 @@
33 INSTALL_ARCH_DIR=ppc
34 JRE_ARCH_DIR=ppc
35 ARCH_PREFIX=${LINUX32}
36+ ARCHFLAG="-m32"
37 ;;
38 powerpc64)
39 BUILD_ARCH_DIR=ppc64
40 INSTALL_ARCH_DIR=ppc64
41 JRE_ARCH_DIR=ppc64
42+ ARCHFLAG="-m64"
43 ;;
44 powerpc64le)
45 BUILD_ARCH_DIR=ppc64
46 INSTALL_ARCH_DIR=ppc64
47 JRE_ARCH_DIR=ppc64
48+ ARCHFLAG="-m64"
49 ;;
50 sparc)
51 BUILD_ARCH_DIR=sparc
52@@ -78,23 +85,27 @@
53 JRE_ARCH_DIR=sparc
54 CROSS_TARGET_ARCH=sparc
55 ARCH_PREFIX=${LINUX32}
56+ ARCHFLAG="-m32"
57 ;;
58 sparc64)
59 BUILD_ARCH_DIR=sparcv9
60 INSTALL_ARCH_DIR=sparcv9
61 JRE_ARCH_DIR=sparc64
62+ ARCHFLAG="-m64"
63 ;;
64 s390)
65 BUILD_ARCH_DIR=s390
66 INSTALL_ARCH_DIR=s390
67 JRE_ARCH_DIR=s390
68 ARCH_PREFIX=${LINUX32}
69+ ARCHFLAG="-m31"
70 ;;
71 s390x)
72 BUILD_ARCH_DIR=s390x
73 INSTALL_ARCH_DIR=s390x
74 JRE_ARCH_DIR=s390x
75 CROSS_TARGET_ARCH=s390x
76+ ARCHFLAG="-m64"
77 ;;
78 sh*)
79 BUILD_ARCH_DIR=sh
80--- a/src/icedtea-sound/configure
81+++ b/src/icedtea-sound/configure
82@@ -3719,12 +3719,14 @@
83 BUILD_ARCH_DIR=amd64
84 INSTALL_ARCH_DIR=amd64
85 JRE_ARCH_DIR=amd64
86+ ARCHFLAG="-m64"
87 ;;
88 i?86)
89 BUILD_ARCH_DIR=i586
90 INSTALL_ARCH_DIR=i386
91 JRE_ARCH_DIR=i386
92 ARCH_PREFIX=${LINUX32}
93+ ARCHFLAG="-m32"
94 ;;
95 alpha*)
96 BUILD_ARCH_DIR=alpha
97@@ -3735,11 +3737,13 @@
98 BUILD_ARCH_DIR=arm
99 INSTALL_ARCH_DIR=arm
100 JRE_ARCH_DIR=arm
101+ ARCHFLAG="-D_LITTLE_ENDIAN"
102 ;;
103 arm64|aarch64)
104 BUILD_ARCH_DIR=aarch64
105 INSTALL_ARCH_DIR=aarch64
106 JRE_ARCH_DIR=aarch64
107+ ARCHFLAG="-D_LITTLE_ENDIAN"
108 ;;
109 mips)
110 BUILD_ARCH_DIR=mips
111@@ -3756,16 +3760,19 @@
112 INSTALL_ARCH_DIR=ppc
113 JRE_ARCH_DIR=ppc
114 ARCH_PREFIX=${LINUX32}
115+ ARCHFLAG="-m32"
116 ;;
117 powerpc64)
118 BUILD_ARCH_DIR=ppc64
119 INSTALL_ARCH_DIR=ppc64
120 JRE_ARCH_DIR=ppc64
121+ ARCHFLAG="-m64"
122 ;;
123 powerpc64le)
124 BUILD_ARCH_DIR=ppc64
125 INSTALL_ARCH_DIR=ppc64
126 JRE_ARCH_DIR=ppc64
127+ ARCHFLAG="-m64"
128 ;;
129 sparc)
130 BUILD_ARCH_DIR=sparc
131@@ -3773,23 +3780,27 @@
132 JRE_ARCH_DIR=sparc
133 CROSS_TARGET_ARCH=sparc
134 ARCH_PREFIX=${LINUX32}
135+ ARCHFLAG="-m32"
136 ;;
137 sparc64)
138 BUILD_ARCH_DIR=sparcv9
139 INSTALL_ARCH_DIR=sparcv9
140 JRE_ARCH_DIR=sparc64
141+ ARCHFLAG="-m64"
142 ;;
143 s390)
144 BUILD_ARCH_DIR=s390
145 INSTALL_ARCH_DIR=s390
146 JRE_ARCH_DIR=s390
147 ARCH_PREFIX=${LINUX32}
148+ ARCHFLAG="-m31"
149 ;;
150 s390x)
151 BUILD_ARCH_DIR=s390x
152 INSTALL_ARCH_DIR=s390x
153 JRE_ARCH_DIR=s390x
154 CROSS_TARGET_ARCH=s390x
155+ ARCHFLAG="-m64"
156 ;;
157 sh*)
158 BUILD_ARCH_DIR=sh
diff --git a/debian/patches/icedtea-sound2.diff b/debian/patches/icedtea-sound2.diff
159deleted file mode 1006440deleted file mode 100644
index cd01771..0000000
--- a/debian/patches/icedtea-sound2.diff
+++ /dev/null
@@ -1,22 +0,0 @@
1--- a/src/icedtea-sound/acinclude.m4
2+++ b/src/icedtea-sound/acinclude.m4
3@@ -527,7 +527,7 @@
4 }
5 }]
6 EOF
7- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
8+ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
9 if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then
10 it_cv_jdk_works=yes;
11 else
12--- a/src/icedtea-sound/configure
13+++ b/src/icedtea-sound/configure
14@@ -4601,7 +4601,7 @@
15 }
16 }
17 EOF
18- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&5 2>&1; then
19+ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&5 2>&1; then
20 if $JAVA -classpath . $BYTECODE >&5 2>&1; then
21 it_cv_jdk_works=yes;
22 else
diff --git a/debian/patches/include-all-srcs.diff b/debian/patches/include-all-srcs.diff
23deleted file mode 1006440deleted file mode 100644
index f73bfaf..0000000
--- a/debian/patches/include-all-srcs.diff
+++ /dev/null
@@ -1,54 +0,0 @@
1--- a/src/jdk/make/CreateJars.gmk
2+++ b/src/jdk/make/CreateJars.gmk
3@@ -569,38 +569,12 @@
4 ##########################################################################################
5
6 SRC_ZIP_INCLUDES = \
7- com/sun/corba \
8- com/sun/image/codec/jpeg \
9- com/sun/imageio \
10- com/sun/java_cup \
11- com/sun/javadoc \
12- com/sun/java/swing \
13- com/sun/jmx \
14- com/sun/naming \
15- com/sun/org/apache \
16- com/sun/security/auth \
17- com/sun/security/jgss \
18- com/sun/source \
19+ com \
20 java \
21- javax/accessibility \
22- javax/annotation \
23- javax/imageio \
24- javax/lang \
25- javax/management \
26- javax/naming \
27- javax/print \
28- javax/rmi \
29- javax/script \
30- javax/security \
31- javax/sound \
32- javax/sql \
33- javax/swing \
34- javax/tools \
35- javax/xml \
36- org/ietf \
37- org/omg \
38- org/w3c/dom \
39- org/xml/sax \
40+ javax \
41+ jdk \
42+ org \
43+ sun \
44 #
45
46 SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
47@@ -632,7 +606,6 @@
48 $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
49 SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \
50 INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
51- EXCLUDES := javax/swing/beaninfo, \
52 SUFFIXES := .java .c .h, \
53 ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \
54 EXTRA_DEPS := $(LAUNCHER_ZIP_SRC)))
diff --git a/debian/patches/java-access-bridge-security.diff b/debian/patches/java-access-bridge-security.diff
55deleted file mode 1006440deleted file mode 100644
index 2e5d0e1..0000000
--- a/debian/patches/java-access-bridge-security.diff
+++ /dev/null
@@ -1,15 +0,0 @@
1# patch only used for builds with java-access-bridge support
2
3--- openjdk/jdk/src/share/lib/security/java.security-linux
4+++ openjdk/jdk/src/share/lib/security/java.security-linux
5@@ -149,7 +149,9 @@
6 com.sun.org.apache.xml.internal.security.,\
7 com.sun.org.glassfish.,\
8 org.jcp.xml.dsig.internal.,\
9- oracle.jrockit.jfr.
10+ oracle.jrockit.jfr.,\
11+ org.GNOME.Accessibility.,\
12+ org.GNOME.Bonobo.
13 #
14 # List of comma-separated packages that start with or equal this string
15 # will cause a security exception to be thrown when
diff --git a/debian/patches/jaw-classpath.diff b/debian/patches/jaw-classpath.diff
index 77ff42d..ab77905 100644
--- a/debian/patches/jaw-classpath.diff
+++ b/debian/patches/jaw-classpath.diff
@@ -2,7 +2,7 @@ Fix finding the Java ATK wrapper, see #900912
22
3--- a/src/hotspot/os/linux/os_linux.cpp3--- a/src/hotspot/os/linux/os_linux.cpp
4+++ b/src/hotspot/os/linux/os_linux.cpp4+++ b/src/hotspot/os/linux/os_linux.cpp
5@@ -481,6 +481,7 @@ void os::init_system_properties_values()5@@ -484,6 +484,7 @@
6 }6 }
7 Arguments::set_java_home(buf);7 Arguments::set_java_home(buf);
8 set_boot_path('/', ':');8 set_boot_path('/', ':');
diff --git a/debian/patches/jdk-pulseaudio.diff b/debian/patches/jdk-pulseaudio.diff
9deleted file mode 1006449deleted file mode 100644
index 5b75862..0000000
--- a/debian/patches/jdk-pulseaudio.diff
+++ /dev/null
@@ -1,16 +0,0 @@
1--- a/src/jdk/src/java.desktop/share/conf/sound.properties
2+++ b/src/jdk/src/java.desktop/share/conf/sound.properties
3@@ -37,3 +37,13 @@
4 # Specify the default Receiver by provider and name:
5 # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1
6 #
7+
8+javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
9+javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
10+javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
11+javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
12+
13+#javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
14+#javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
15+#javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
16+#javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
diff --git a/debian/patches/jtreg-location.diff b/debian/patches/jtreg-location.diff
index 59361c6..86c4bdb 100644
--- a/debian/patches/jtreg-location.diff
+++ b/debian/patches/jtreg-location.diff
@@ -1,6 +1,6 @@
1--- a/make/autoconf/toolchain.m41--- a/make/autoconf/toolchain.m4
2+++ b/make/autoconf/toolchain.m42+++ b/make/autoconf/toolchain.m4
3@@ -1137,7 +1137,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],3@@ -1069,7 +1069,7 @@
4 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])4 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
5 fi5 fi
6 6
@@ -9,7 +9,7 @@
9 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])9 AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
10 fi10 fi
11 11
12@@ -1156,7 +1156,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],12@@ -1088,7 +1088,7 @@
13 AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])13 AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
14 JT_HOME=14 JT_HOME=
15 else15 else
@@ -18,7 +18,7 @@
18 AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])18 AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
19 JT_HOME=19 JT_HOME=
20 elif test ! -x "$JT_HOME/bin/jtreg"; then20 elif test ! -x "$JT_HOME/bin/jtreg"; then
21@@ -1176,7 +1176,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],21@@ -1108,7 +1108,7 @@
22 if test "x$JTREGEXE" != x; then22 if test "x$JTREGEXE" != x; then
23 # That's good, now try to derive JT_HOME23 # That's good, now try to derive JT_HOME
24 JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`24 JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
@@ -29,7 +29,7 @@
29 JTREGEXE=29 JTREGEXE=
30--- a/make/RunTests.gmk30--- a/make/RunTests.gmk
31+++ b/make/RunTests.gmk31+++ b/make/RunTests.gmk
32@@ -752,7 +752,7 @@ define SetupRunJtregTestBody32@@ -740,7 +740,7 @@
33 33
34 $1_COMMAND_LINE := \34 $1_COMMAND_LINE := \
35 $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \35 $$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
@@ -40,7 +40,7 @@
40 -dir:$$(JTREG_TOPDIR) \40 -dir:$$(JTREG_TOPDIR) \
41--- a/make/test/BuildFailureHandler.gmk41--- a/make/test/BuildFailureHandler.gmk
42+++ b/make/test/BuildFailureHandler.gmk42+++ b/make/test/BuildFailureHandler.gmk
43@@ -39,7 +39,7 @@ FH_BASEDIR := $(TOPDIR)/test/failure_han43@@ -39,7 +39,7 @@
44 FH_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/failure_handler44 FH_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/failure_handler
45 FH_JAR := $(FH_SUPPORT)/jtregFailureHandler.jar45 FH_JAR := $(FH_SUPPORT)/jtregFailureHandler.jar
46 46
diff --git a/debian/patches/kfreebsd-support-jamvm.diff b/debian/patches/kfreebsd-support-jamvm.diff
47deleted file mode 10064447deleted file mode 100644
index 5e39ed2..0000000
--- a/debian/patches/kfreebsd-support-jamvm.diff
+++ /dev/null
@@ -1,33 +0,0 @@
1--- a/src/jamvm/configure.ac
2+++ b/src/jamvm/configure.ac
3@@ -38,6 +38,7 @@
4 i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
5 i386-*-solaris*) host_cpu=x86 host_os=solaris ;;
6 x86_64-*-linux*) host_os=linux ;;
7+x86_64-*-kfreebsd*) host_os=linux ;;
8 hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
9 mips*-*-linux*) host_cpu=mips host_os=linux ;;
10 x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;;
11--- a/src/jamvm/configure
12+++ b/src/jamvm/configure
13@@ -2926,6 +2926,7 @@
14 i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
15 i386-*-solaris*) host_cpu=x86 host_os=solaris ;;
16 x86_64-*-linux*) host_os=linux ;;
17+x86_64-*-kfreebsd*) host_os=linux ;;
18 hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
19 mips*-*-linux*) host_cpu=mips host_os=linux ;;
20 x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;;
21--- a/src/jamvm/src/classlib/openjdk/jvm.c
22+++ b/src/jamvm/src/classlib/openjdk/jvm.c
23@@ -63,6 +63,10 @@
24 #define have_monotonic_clock FALSE
25 #endif
26
27+#ifndef TIOCINQ
28+#define TIOCINQ FIONREAD
29+#endif
30+
31 static Class *cloneable_class, *constant_pool_class;
32 static Class *exception_class, *runtime_excp_class;
33
diff --git a/debian/patches/m68k-support.diff b/debian/patches/m68k-support.diff
34deleted file mode 1006440deleted file mode 100644
index 62c2ec4..0000000
--- a/debian/patches/m68k-support.diff
+++ /dev/null
@@ -1,1149 +0,0 @@
1# HG changeset patch
2# User glaubitz
3# Date 1532184301 -7200
4# Sat Jul 21 16:45:01 2018 +0200
5# Node ID 418a697aef91a730b942129d5d41b6c68a871cd8
6# Parent b0fcf59be3918afcaa13d1f97343968c2c467ffe
7JDK-NNNNNNN: Zero needs alignment fixes for linux-m68k
8
9--- /dev/null
10+++ b/make/data/x11wrappergen/sizes-32-linux-m68k.txt
11@@ -0,0 +1,1017 @@
12+long 4
13+int 4
14+short 2
15+ptr 4
16+Bool 4
17+Atom 4
18+Window 4
19+XExtData.number 0
20+XExtData.next 4
21+XExtData.free_private 8
22+XExtData.private_data 12
23+XExtData 16
24+XIMStringConversionCallbackStruct.position 0
25+XIMStringConversionCallbackStruct.direction 2
26+XIMStringConversionCallbackStruct.operation 6
27+XIMStringConversionCallbackStruct.factor 8
28+XIMStringConversionCallbackStruct.text 10
29+XIMStringConversionCallbackStruct 14
30+XkbNewKeyboardNotifyEvent.type 0
31+XkbNewKeyboardNotifyEvent.serial 4
32+XkbNewKeyboardNotifyEvent.send_event 8
33+XkbNewKeyboardNotifyEvent.display 12
34+XkbNewKeyboardNotifyEvent.time 16
35+XkbNewKeyboardNotifyEvent.xkb_type 20
36+XkbNewKeyboardNotifyEvent.device 24
37+XkbNewKeyboardNotifyEvent.old_device 28
38+XkbNewKeyboardNotifyEvent.min_key_code 32
39+XkbNewKeyboardNotifyEvent.max_key_code 36
40+XkbNewKeyboardNotifyEvent.old_min_key_code 40
41+XkbNewKeyboardNotifyEvent.old_max_key_code 44
42+XkbNewKeyboardNotifyEvent.changed 48
43+XkbNewKeyboardNotifyEvent.req_major 52
44+XkbNewKeyboardNotifyEvent.req_minor 53
45+XkbNewKeyboardNotifyEvent 54
46+XTimeCoord.time 0
47+XTimeCoord.x 4
48+XTimeCoord.y 6
49+XTimeCoord 8
50+XkbCompatMapNotifyEvent.type 0
51+XkbCompatMapNotifyEvent.serial 4
52+XkbCompatMapNotifyEvent.send_event 8
53+XkbCompatMapNotifyEvent.display 12
54+XkbCompatMapNotifyEvent.time 16
55+XkbCompatMapNotifyEvent.xkb_type 20
56+XkbCompatMapNotifyEvent.device 24
57+XkbCompatMapNotifyEvent.changed_groups 28
58+XkbCompatMapNotifyEvent.first_si 32
59+XkbCompatMapNotifyEvent.num_si 36
60+XkbCompatMapNotifyEvent.num_total_si 40
61+XkbCompatMapNotifyEvent 44
62+XIMStatusDrawCallbackStruct.type 0
63+XIMStatusDrawCallbackStruct.data 4
64+XIMStatusDrawCallbackStruct 8
65+XKeyboardControl.key_click_percent 0
66+XKeyboardControl.bell_percent 4
67+XKeyboardControl.bell_pitch 8
68+XKeyboardControl.bell_duration 12
69+XKeyboardControl.led 16
70+XKeyboardControl.led_mode 20
71+XKeyboardControl.key 24
72+XKeyboardControl.auto_repeat_mode 28
73+XKeyboardControl 32
74+XSelectionClearEvent.type 0
75+XSelectionClearEvent.serial 4
76+XSelectionClearEvent.send_event 8
77+XSelectionClearEvent.display 12
78+XSelectionClearEvent.window 16
79+XSelectionClearEvent.selection 20
80+XSelectionClearEvent.time 24
81+XSelectionClearEvent 28
82+XWindowChanges.x 0
83+XWindowChanges.y 4
84+XWindowChanges.width 8
85+XWindowChanges.height 12
86+XWindowChanges.border_width 16
87+XWindowChanges.sibling 20
88+XWindowChanges.stack_mode 24
89+XWindowChanges 28
90+XIMPreeditCaretCallbackStruct.position 0
91+XIMPreeditCaretCallbackStruct.direction 4
92+XIMPreeditCaretCallbackStruct.style 8
93+XIMPreeditCaretCallbackStruct 12
94+XOMCharSetList.charset_count 0
95+XOMCharSetList.charset_list 4
96+XOMCharSetList 8
97+XOMFontInfo.num_font 0
98+XOMFontInfo.font_struct_list 4
99+XOMFontInfo.font_name_list 8
100+XOMFontInfo 12
101+AwtScreenData.numConfigs 0
102+AwtScreenData.root 4
103+AwtScreenData.whitepixel 8
104+AwtScreenData.blackpixel 12
105+AwtScreenData.defaultConfig 16
106+AwtScreenData.configs 20
107+AwtScreenData 24
108+XIMHotKeyTrigger.keysym 0
109+XIMHotKeyTrigger.modifier 4
110+XIMHotKeyTrigger.modifier_mask 8
111+XIMHotKeyTrigger 12
112+XCirculateEvent.type 0
113+XCirculateEvent.serial 4
114+XCirculateEvent.send_event 8
115+XCirculateEvent.display 12
116+XCirculateEvent.event 16
117+XCirculateEvent.window 20
118+XCirculateEvent.place 24
119+XCirculateEvent 28
120+Screen.ext_data 0
121+Screen.display 4
122+Screen.root 8
123+Screen.width 12
124+Screen.height 16
125+Screen.mwidth 20
126+Screen.mheight 24
127+Screen.ndepths 28
128+Screen.depths 32
129+Screen.root_depth 36
130+Screen.root_visual 40
131+Screen.default_gc 44
132+Screen.cmap 48
133+Screen.white_pixel 52
134+Screen.black_pixel 56
135+Screen.max_maps 60
136+Screen.min_maps 64
137+Screen.backing_store 68
138+Screen.save_unders 72
139+Screen.root_input_mask 76
140+Screen 80
141+XMapRequestEvent.type 0
142+XMapRequestEvent.serial 4
143+XMapRequestEvent.send_event 8
144+XMapRequestEvent.display 12
145+XMapRequestEvent.parent 16
146+XMapRequestEvent.window 20
147+XMapRequestEvent 24
148+XIMText.length 0
149+XIMText.feedback 2
150+XIMText.encoding_is_wchar 6
151+XIMText.string 10
152+XIMText 14
153+XGraphicsExposeEvent.type 0
154+XGraphicsExposeEvent.serial 4
155+XGraphicsExposeEvent.send_event 8
156+XGraphicsExposeEvent.display 12
157+XGraphicsExposeEvent.drawable 16
158+XGraphicsExposeEvent.x 20
159+XGraphicsExposeEvent.y 24
160+XGraphicsExposeEvent.width 28
161+XGraphicsExposeEvent.height 32
162+XGraphicsExposeEvent.count 36
163+XGraphicsExposeEvent.major_code 40
164+XGraphicsExposeEvent.minor_code 44
165+XGraphicsExposeEvent 48
166+XEvent.type 0
167+XEvent.xany 0
168+XEvent.xkey 0
169+XEvent.xbutton 0
170+XEvent.xmotion 0
171+XEvent.xcrossing 0
172+XEvent.xfocus 0
173+XEvent.xexpose 0
174+XEvent.xgraphicsexpose 0
175+XEvent.xnoexpose 0
176+XEvent.xvisibility 0
177+XEvent.xcreatewindow 0
178+XEvent.xdestroywindow 0
179+XEvent.xunmap 0
180+XEvent.xmap 0
181+XEvent.xmaprequest 0
182+XEvent.xreparent 0
183+XEvent.xconfigure 0
184+XEvent.xgravity 0
185+XEvent.xresizerequest 0
186+XEvent.xconfigurerequest 0
187+XEvent.xcirculate 0
188+XEvent.xcirculaterequest 0
189+XEvent.xproperty 0
190+XEvent.xselectionclear 0
191+XEvent.xselectionrequest 0
192+XEvent.xselection 0
193+XEvent.xcolormap 0
194+XEvent.xclient 0
195+XEvent.xmapping 0
196+XEvent.xerror 0
197+XEvent.xkeymap 0
198+XEvent.pad 0
199+XEvent 96
200+XRenderDirectFormat.red 0
201+XRenderDirectFormat.redMask 2
202+XRenderDirectFormat.green 4
203+XRenderDirectFormat.greenMask 6
204+XRenderDirectFormat.blue 8
205+XRenderDirectFormat.blueMask 10
206+XRenderDirectFormat.alpha 12
207+XRenderDirectFormat.alphaMask 14
208+XRenderDirectFormat 16
209+ColorData.awt_Colors 0
210+ColorData.awt_numICMcolors 4
211+ColorData.awt_icmLUT 8
212+ColorData.awt_icmLUT2Colors 12
213+ColorData.img_grays 16
214+ColorData.img_clr_tbl 20
215+ColorData.img_oda_red 24
216+ColorData.img_oda_green 28
217+ColorData.img_oda_blue 32
218+ColorData.pGrayInverseLutData 36
219+ColorData.representsPrimaries 44
220+ColorData.screendata 40
221+ColorData 48
222+XFontStruct.ext_data 0
223+XFontStruct.fid 4
224+XFontStruct.direction 8
225+XFontStruct.min_char_or_byte2 12
226+XFontStruct.max_char_or_byte2 16
227+XFontStruct.min_byte1 20
228+XFontStruct.max_byte1 24
229+XFontStruct.all_chars_exist 28
230+XFontStruct.n_properties 36
231+XFontStruct.properties 40
232+XFontStruct.min_bounds 44
233+XFontStruct.max_bounds 56
234+XFontStruct.per_char 68
235+XFontStruct.ascent 72
236+XFontStruct.descent 76
237+XFontStruct 80
238+XExtCodes.extension 0
239+XExtCodes.major_opcode 4
240+XExtCodes.first_event 8
241+XExtCodes.first_error 12
242+XExtCodes 16
243+XFontSetExtents.max_ink_extent 0
244+XFontSetExtents.max_logical_extent 8
245+XFontSetExtents 16
246+XSelectionEvent.type 0
247+XSelectionEvent.serial 4
248+XSelectionEvent.send_event 8
249+XSelectionEvent.display 12
250+XSelectionEvent.requestor 16
251+XSelectionEvent.selection 20
252+XSelectionEvent.target 24
253+XSelectionEvent.property 28
254+XSelectionEvent.time 32
255+XSelectionEvent 36
256+XArc.x 0
257+XArc.y 2
258+XArc.width 4
259+XArc.height 6
260+XArc.angle1 8
261+XArc.angle2 10
262+XArc 12
263+XErrorEvent.type 0
264+XErrorEvent.display 4
265+XErrorEvent.resourceid 8
266+XErrorEvent.serial 12
267+XErrorEvent.error_code 16
268+XErrorEvent.request_code 17
269+XErrorEvent.minor_code 18
270+XErrorEvent 20
271+XConfigureRequestEvent.type 0
272+XConfigureRequestEvent.serial 4
273+XConfigureRequestEvent.send_event 8
274+XConfigureRequestEvent.display 12
275+XConfigureRequestEvent.parent 16
276+XConfigureRequestEvent.window 20
277+XConfigureRequestEvent.x 24
278+XConfigureRequestEvent.y 28
279+XConfigureRequestEvent.width 32
280+XConfigureRequestEvent.height 36
281+XConfigureRequestEvent.border_width 40
282+XConfigureRequestEvent.above 44
283+XConfigureRequestEvent.detail 48
284+XConfigureRequestEvent.value_mask 52
285+XConfigureRequestEvent 56
286+ScreenFormat.ext_data 0
287+ScreenFormat.depth 4
288+ScreenFormat.bits_per_pixel 8
289+ScreenFormat.scanline_pad 12
290+ScreenFormat 16
291+XButtonEvent.type 0
292+XButtonEvent.serial 4
293+XButtonEvent.send_event 8
294+XButtonEvent.display 12
295+XButtonEvent.window 16
296+XButtonEvent.root 20
297+XButtonEvent.subwindow 24
298+XButtonEvent.time 28
299+XButtonEvent.x 32
300+XButtonEvent.y 36
301+XButtonEvent.x_root 40
302+XButtonEvent.y_root 44
303+XButtonEvent.state 48
304+XButtonEvent.button 52
305+XButtonEvent.same_screen 56
306+XButtonEvent 60
307+XFontProp.name 0
308+XFontProp.card32 4
309+XFontProp 8
310+XIMValuesList.count_values 0
311+XIMValuesList.supported_values 2
312+XIMValuesList 6
313+XKeymapEvent.type 0
314+XKeymapEvent.serial 4
315+XKeymapEvent.send_event 8
316+XKeymapEvent.display 12
317+XKeymapEvent.window 16
318+XKeymapEvent.key_vector 20
319+XKeymapEvent 52
320+XTextItem16.chars 0
321+XTextItem16.nchars 4
322+XTextItem16.delta 8
323+XTextItem16.font 12
324+XTextItem16 16
325+XIMPreeditDrawCallbackStruct.caret 0
326+XIMPreeditDrawCallbackStruct.chg_first 4
327+XIMPreeditDrawCallbackStruct.chg_length 8
328+XIMPreeditDrawCallbackStruct.text 12
329+XIMPreeditDrawCallbackStruct 16
330+XVisualInfo.visual 0
331+XVisualInfo.visualid 4
332+XVisualInfo.screen 8
333+XVisualInfo.depth 12
334+XVisualInfo.class 16
335+XVisualInfo.red_mask 20
336+XVisualInfo.green_mask 24
337+XVisualInfo.blue_mask 28
338+XVisualInfo.colormap_size 32
339+XVisualInfo.bits_per_rgb 36
340+XVisualInfo 40
341+XkbControlsNotifyEvent.type 0
342+XkbControlsNotifyEvent.serial 4
343+XkbControlsNotifyEvent.send_event 8
344+XkbControlsNotifyEvent.display 12
345+XkbControlsNotifyEvent.time 16
346+XkbControlsNotifyEvent.xkb_type 20
347+XkbControlsNotifyEvent.device 24
348+XkbControlsNotifyEvent.changed_ctrls 28
349+XkbControlsNotifyEvent.enabled_ctrls 32
350+XkbControlsNotifyEvent.enabled_ctrl_changes 36
351+XkbControlsNotifyEvent.num_groups 40
352+XkbControlsNotifyEvent.keycode 44
353+XkbControlsNotifyEvent.event_type 45
354+XkbControlsNotifyEvent.req_major 46
355+XkbControlsNotifyEvent.req_minor 47
356+XkbControlsNotifyEvent 48
357+PropMwmHints.flags 0
358+PropMwmHints.functions 4
359+PropMwmHints.decorations 8
360+PropMwmHints.inputMode 12
361+PropMwmHints.status 16
362+PropMwmHints 20
363+XClientMessageEvent.type 0
364+XClientMessageEvent.serial 4
365+XClientMessageEvent.send_event 8
366+XClientMessageEvent.display 12
367+XClientMessageEvent.window 16
368+XClientMessageEvent.message_type 20
369+XClientMessageEvent.format 24
370+XClientMessageEvent.data 28
371+XClientMessageEvent 48
372+XAnyEvent.type 0
373+XAnyEvent.serial 4
374+XAnyEvent.send_event 8
375+XAnyEvent.display 12
376+XAnyEvent.window 16
377+XAnyEvent 20
378+XkbIndicatorNotifyEvent.type 0
379+XkbIndicatorNotifyEvent.serial 4
380+XkbIndicatorNotifyEvent.send_event 8
381+XkbIndicatorNotifyEvent.display 12
382+XkbIndicatorNotifyEvent.time 16
383+XkbIndicatorNotifyEvent.xkb_type 20
384+XkbIndicatorNotifyEvent.device 24
385+XkbIndicatorNotifyEvent.changed 28
386+XkbIndicatorNotifyEvent.state 32
387+XkbIndicatorNotifyEvent 36
388+XIMPreeditStateNotifyCallbackStruct.state 0
389+XIMPreeditStateNotifyCallbackStruct 4
390+XkbAnyEvent.type 0
391+XkbAnyEvent.serial 4
392+XkbAnyEvent.send_event 8
393+XkbAnyEvent.display 12
394+XkbAnyEvent.time 16
395+XkbAnyEvent.xkb_type 20
396+XkbAnyEvent.device 24
397+XkbAnyEvent 28
398+XMotionEvent.type 0
399+XMotionEvent.serial 4
400+XMotionEvent.send_event 8
401+XMotionEvent.display 12
402+XMotionEvent.window 16
403+XMotionEvent.root 20
404+XMotionEvent.subwindow 24
405+XMotionEvent.time 28
406+XMotionEvent.x 32
407+XMotionEvent.y 36
408+XMotionEvent.x_root 40
409+XMotionEvent.y_root 44
410+XMotionEvent.state 48
411+XMotionEvent.is_hint 52
412+XMotionEvent.same_screen 54
413+XMotionEvent 58
414+XIMHotKeyTriggers.num_hot_key 0
415+XIMHotKeyTriggers.key 4
416+XIMHotKeyTriggers 8
417+XIMStyles.count_styles 0
418+XIMStyles.supported_styles 2
419+XIMStyles 6
420+XkbExtensionDeviceNotifyEvent.type 0
421+XkbExtensionDeviceNotifyEvent.serial 4
422+XkbExtensionDeviceNotifyEvent.send_event 8
423+XkbExtensionDeviceNotifyEvent.display 12
424+XkbExtensionDeviceNotifyEvent.time 16
425+XkbExtensionDeviceNotifyEvent.xkb_type 20
426+XkbExtensionDeviceNotifyEvent.device 24
427+XkbExtensionDeviceNotifyEvent.reason 28
428+XkbExtensionDeviceNotifyEvent.supported 32
429+XkbExtensionDeviceNotifyEvent.unsupported 36
430+XkbExtensionDeviceNotifyEvent.first_btn 40
431+XkbExtensionDeviceNotifyEvent.num_btns 44
432+XkbExtensionDeviceNotifyEvent.leds_defined 48
433+XkbExtensionDeviceNotifyEvent.led_state 52
434+XkbExtensionDeviceNotifyEvent.led_class 56
435+XkbExtensionDeviceNotifyEvent.led_id 60
436+XkbExtensionDeviceNotifyEvent 64
437+XwcTextItem.chars 0
438+XwcTextItem.nchars 4
439+XwcTextItem.delta 8
440+XwcTextItem.font_set 12
441+XwcTextItem 16
442+XClassHint.res_name 0
443+XClassHint.res_class 4
444+XClassHint 8
445+XChar2b.byte1 0
446+XChar2b.byte2 1
447+XChar2b 2
448+XSetWindowAttributes.background_pixmap 0
449+XSetWindowAttributes.background_pixel 4
450+XSetWindowAttributes.border_pixmap 8
451+XSetWindowAttributes.border_pixel 12
452+XSetWindowAttributes.bit_gravity 16
453+XSetWindowAttributes.win_gravity 20
454+XSetWindowAttributes.backing_store 24
455+XSetWindowAttributes.backing_planes 28
456+XSetWindowAttributes.backing_pixel 32
457+XSetWindowAttributes.save_under 36
458+XSetWindowAttributes.event_mask 40
459+XSetWindowAttributes.do_not_propagate_mask 44
460+XSetWindowAttributes.override_redirect 48
461+XSetWindowAttributes.colormap 52
462+XSetWindowAttributes.cursor 56
463+XSetWindowAttributes 60
464+XRenderPictFormat.id 0
465+XRenderPictFormat.type 4
466+XRenderPictFormat.depth 8
467+XRenderPictFormat.direct 12
468+XRenderPictFormat.colormap 28
469+XRenderPictFormat 32
470+XReparentEvent.type 0
471+XReparentEvent.serial 4
472+XReparentEvent.send_event 8
473+XReparentEvent.display 12
474+XReparentEvent.event 16
475+XReparentEvent.window 20
476+XReparentEvent.parent 24
477+XReparentEvent.x 28
478+XReparentEvent.y 32
479+XReparentEvent.override_redirect 36
480+XReparentEvent 40
481+XCirculateRequestEvent.type 0
482+XCirculateRequestEvent.serial 4
483+XCirculateRequestEvent.send_event 8
484+XCirculateRequestEvent.display 12
485+XCirculateRequestEvent.parent 16
486+XCirculateRequestEvent.window 20
487+XCirculateRequestEvent.place 24
488+XCirculateRequestEvent 28
489+XImage.width 0
490+XImage.height 4
491+XImage.xoffset 8
492+XImage.format 12
493+XImage.data 16
494+XImage.byte_order 20
495+XImage.bitmap_unit 24
496+XImage.bitmap_bit_order 28
497+XImage.bitmap_pad 32
498+XImage.depth 36
499+XImage.bytes_per_line 40
500+XImage.bits_per_pixel 44
501+XImage.red_mask 48
502+XImage.green_mask 52
503+XImage.blue_mask 56
504+XImage.obdata 60
505+XImage.f.create_image 64
506+XImage.f.destroy_image 68
507+XImage.f.get_pixel 72
508+XImage.f.put_pixel 76
509+XImage.f.sub_image 80
510+XImage.f.add_pixel 84
511+XImage 88
512+XKeyEvent.type 0
513+XKeyEvent.serial 4
514+XKeyEvent.send_event 8
515+XKeyEvent.display 12
516+XKeyEvent.window 16
517+XKeyEvent.root 20
518+XKeyEvent.subwindow 24
519+XKeyEvent.time 28
520+XKeyEvent.x 32
521+XKeyEvent.y 36
522+XKeyEvent.x_root 40
523+XKeyEvent.y_root 44
524+XKeyEvent.state 48
525+XKeyEvent.keycode 52
526+XKeyEvent.same_screen 56
527+XKeyEvent 60
528+XkbActionMessageEvent.type 0
529+XkbActionMessageEvent.serial 4
530+XkbActionMessageEvent.send_event 8
531+XkbActionMessageEvent.display 12
532+XkbActionMessageEvent.time 16
533+XkbActionMessageEvent.xkb_type 20
534+XkbActionMessageEvent.device 24
535+XkbActionMessageEvent.keycode 28
536+XkbActionMessageEvent.press 30
537+XkbActionMessageEvent.key_event_follows 34
538+XkbActionMessageEvent.group 38
539+XkbActionMessageEvent.mods 42
540+XkbActionMessageEvent.message 46
541+XkbActionMessageEvent 54
542+XdbeSwapInfo.swap_window 0
543+XdbeSwapInfo.swap_action 4
544+XdbeSwapInfo 6
545+XTextItem.chars 0
546+XTextItem.nchars 4
547+XTextItem.delta 8
548+XTextItem.font 12
549+XTextItem 16
550+XModifierKeymap.max_keypermod 0
551+XModifierKeymap.modifiermap 4
552+XModifierKeymap 8
553+XCharStruct.lbearing 0
554+XCharStruct.rbearing 2
555+XCharStruct.width 4
556+XCharStruct.ascent 6
557+XCharStruct.descent 8
558+XCharStruct.attributes 10
559+XCharStruct 12
560+XGravityEvent.type 0
561+XGravityEvent.serial 4
562+XGravityEvent.send_event 8
563+XGravityEvent.display 12
564+XGravityEvent.event 16
565+XGravityEvent.window 20
566+XGravityEvent.x 24
567+XGravityEvent.y 28
568+XGravityEvent 32
569+Visual.ext_data 0
570+Visual.visualid 4
571+Visual.class 8
572+Visual.red_mask 12
573+Visual.green_mask 16
574+Visual.blue_mask 20
575+Visual.bits_per_rgb 24
576+Visual.map_entries 28
577+Visual 32
578+XOMOrientation.num_orientation 0
579+XOMOrientation.orientation 4
580+XOMOrientation 8
581+XkbAccessXNotifyEvent.type 0
582+XkbAccessXNotifyEvent.serial 4
583+XkbAccessXNotifyEvent.send_event 8
584+XkbAccessXNotifyEvent.display 12
585+XkbAccessXNotifyEvent.time 16
586+XkbAccessXNotifyEvent.xkb_type 20
587+XkbAccessXNotifyEvent.device 24
588+XkbAccessXNotifyEvent.detail 28
589+XkbAccessXNotifyEvent.keycode 32
590+XkbAccessXNotifyEvent.sk_delay 36
591+XkbAccessXNotifyEvent.debounce_delay 40
592+XkbAccessXNotifyEvent 44
593+XWindowAttributes.x 0
594+XWindowAttributes.y 4
595+XWindowAttributes.width 8
596+XWindowAttributes.height 12
597+XWindowAttributes.border_width 16
598+XWindowAttributes.depth 20
599+XWindowAttributes.visual 24
600+XWindowAttributes.root 28
601+XWindowAttributes.class 32
602+XWindowAttributes.bit_gravity 36
603+XWindowAttributes.win_gravity 40
604+XWindowAttributes.backing_store 44
605+XWindowAttributes.backing_planes 48
606+XWindowAttributes.backing_pixel 52
607+XWindowAttributes.save_under 56
608+XWindowAttributes.colormap 60
609+XWindowAttributes.map_installed 64
610+XWindowAttributes.map_state 68
611+XWindowAttributes.all_event_masks 72
612+XWindowAttributes.your_event_mask 76
613+XWindowAttributes.do_not_propagate_mask 80
614+XWindowAttributes.override_redirect 84
615+XWindowAttributes.screen 88
616+XWindowAttributes 92
617+XmbTextItem.chars 0
618+XmbTextItem.nchars 4
619+XmbTextItem.delta 8
620+XmbTextItem.font_set 12
621+XmbTextItem 16
622+XMappingEvent.type 0
623+XMappingEvent.serial 4
624+XMappingEvent.send_event 8
625+XMappingEvent.display 12
626+XMappingEvent.window 16
627+XMappingEvent.request 20
628+XMappingEvent.first_keycode 24
629+XMappingEvent.count 28
630+XMappingEvent 32
631+XSizeHints.flags 0
632+XSizeHints.x 4
633+XSizeHints.y 8
634+XSizeHints.width 12
635+XSizeHints.height 16
636+XSizeHints.min_width 20
637+XSizeHints.min_height 24
638+XSizeHints.max_width 28
639+XSizeHints.max_height 32
640+XSizeHints.width_inc 36
641+XSizeHints.height_inc 40
642+XSizeHints.min_aspect.x 44
643+XSizeHints.min_aspect.y 48
644+XSizeHints.max_aspect.x 52
645+XSizeHints.max_aspect.y 56
646+XSizeHints.base_width 60
647+XSizeHints.base_height 64
648+XSizeHints.win_gravity 68
649+XSizeHints 72
650+XUnmapEvent.type 0
651+XUnmapEvent.serial 4
652+XUnmapEvent.send_event 8
653+XUnmapEvent.display 12
654+XUnmapEvent.event 16
655+XUnmapEvent.window 20
656+XUnmapEvent.from_configure 24
657+XUnmapEvent 28
658+awtImageData.Depth 0
659+awtImageData.wsImageFormat 4
660+awtImageData.clrdata 16
661+awtImageData.convert 48
662+awtImageData 304
663+XkbStateNotifyEvent.type 0
664+XkbStateNotifyEvent.serial 4
665+XkbStateNotifyEvent.send_event 8
666+XkbStateNotifyEvent.display 12
667+XkbStateNotifyEvent.time 16
668+XkbStateNotifyEvent.xkb_type 20
669+XkbStateNotifyEvent.device 24
670+XkbStateNotifyEvent.changed 28
671+XkbStateNotifyEvent.group 32
672+XkbStateNotifyEvent.base_group 36
673+XkbStateNotifyEvent.latched_group 40
674+XkbStateNotifyEvent.locked_group 44
675+XkbStateNotifyEvent.mods 48
676+XkbStateNotifyEvent.base_mods 52
677+XkbStateNotifyEvent.latched_mods 56
678+XkbStateNotifyEvent.locked_mods 60
679+XkbStateNotifyEvent.compat_state 64
680+XkbStateNotifyEvent.grab_mods 68
681+XkbStateNotifyEvent.compat_grab_mods 69
682+XkbStateNotifyEvent.lookup_mods 70
683+XkbStateNotifyEvent.compat_lookup_mods 71
684+XkbStateNotifyEvent.ptr_buttons 72
685+XkbStateNotifyEvent.keycode 76
686+XkbStateNotifyEvent.event_type 77
687+XkbStateNotifyEvent.req_major 78
688+XkbStateNotifyEvent.req_minor 79
689+XkbStateNotifyEvent 80
690+XExposeEvent.type 0
691+XExposeEvent.serial 4
692+XExposeEvent.send_event 8
693+XExposeEvent.display 12
694+XExposeEvent.window 16
695+XExposeEvent.x 20
696+XExposeEvent.y 24
697+XExposeEvent.width 28
698+XExposeEvent.height 32
699+XExposeEvent.count 36
700+XExposeEvent 40
701+XkbMapNotifyEvent.type 0
702+XkbMapNotifyEvent.serial 4
703+XkbMapNotifyEvent.send_event 8
704+XkbMapNotifyEvent.display 12
705+XkbMapNotifyEvent.time 16
706+XkbMapNotifyEvent.xkb_type 20
707+XkbMapNotifyEvent.device 24
708+XkbMapNotifyEvent.changed 28
709+XkbMapNotifyEvent.flags 32
710+XkbMapNotifyEvent.first_type 36
711+XkbMapNotifyEvent.num_types 40
712+XkbMapNotifyEvent.min_key_code 44
713+XkbMapNotifyEvent.max_key_code 45
714+XkbMapNotifyEvent.first_key_sym 46
715+XkbMapNotifyEvent.first_key_act 47
716+XkbMapNotifyEvent.first_key_behavior 48
717+XkbMapNotifyEvent.first_key_explicit 49
718+XkbMapNotifyEvent.first_modmap_key 50
719+XkbMapNotifyEvent.first_vmodmap_key 51
720+XkbMapNotifyEvent.num_key_syms 52
721+XkbMapNotifyEvent.num_key_acts 56
722+XkbMapNotifyEvent.num_key_behaviors 60
723+XkbMapNotifyEvent.num_key_explicit 64
724+XkbMapNotifyEvent.num_modmap_keys 68
725+XkbMapNotifyEvent.num_vmodmap_keys 72
726+XkbMapNotifyEvent.vmods 76
727+XkbMapNotifyEvent 80
728+XGCValues.function 0
729+XGCValues.plane_mask 4
730+XGCValues.foreground 8
731+XGCValues.background 12
732+XGCValues.line_width 16
733+XGCValues.line_style 20
734+XGCValues.cap_style 24
735+XGCValues.join_style 28
736+XGCValues.fill_style 32
737+XGCValues.fill_rule 36
738+XGCValues.arc_mode 40
739+XGCValues.tile 44
740+XGCValues.stipple 48
741+XGCValues.ts_x_origin 52
742+XGCValues.ts_y_origin 56
743+XGCValues.font 60
744+XGCValues.subwindow_mode 64
745+XGCValues.graphics_exposures 68
746+XGCValues.clip_x_origin 72
747+XGCValues.clip_y_origin 76
748+XGCValues.clip_mask 80
749+XGCValues.dash_offset 84
750+XGCValues.dashes 88
751+XGCValues 90
752+XFocusChangeEvent.type 0
753+XFocusChangeEvent.serial 4
754+XFocusChangeEvent.send_event 8
755+XFocusChangeEvent.display 12
756+XFocusChangeEvent.window 16
757+XFocusChangeEvent.mode 20
758+XFocusChangeEvent.detail 24
759+XFocusChangeEvent 28
760+XPixmapFormatValues.depth 0
761+XPixmapFormatValues.bits_per_pixel 4
762+XPixmapFormatValues.scanline_pad 8
763+XPixmapFormatValues 12
764+XMapEvent.type 0
765+XMapEvent.serial 4
766+XMapEvent.send_event 8
767+XMapEvent.display 12
768+XMapEvent.event 16
769+XMapEvent.window 20
770+XMapEvent.override_redirect 24
771+XMapEvent 28
772+XkbBellNotifyEvent.type 0
773+XkbBellNotifyEvent.serial 4
774+XkbBellNotifyEvent.send_event 8
775+XkbBellNotifyEvent.display 12
776+XkbBellNotifyEvent.time 16
777+XkbBellNotifyEvent.xkb_type 20
778+XkbBellNotifyEvent.device 24
779+XkbBellNotifyEvent.percent 28
780+XkbBellNotifyEvent.pitch 32
781+XkbBellNotifyEvent.duration 36
782+XkbBellNotifyEvent.bell_class 40
783+XkbBellNotifyEvent.bell_id 44
784+XkbBellNotifyEvent.name 48
785+XkbBellNotifyEvent.window 52
786+XkbBellNotifyEvent.event_only 56
787+XkbBellNotifyEvent 60
788+XIMStringConversionText.length 0
789+XIMStringConversionText.feedback 2
790+XIMStringConversionText.encoding_is_wchar 6
791+XIMStringConversionText.string 10
792+XIMStringConversionText 14
793+XKeyboardState.key_click_percent 0
794+XKeyboardState.bell_percent 4
795+XKeyboardState.bell_pitch 8
796+XKeyboardState.bell_duration 12
797+XKeyboardState.led_mask 16
798+XKeyboardState.global_auto_repeat 20
799+XKeyboardState.auto_repeats 24
800+XKeyboardState 56
801+XkbEvent.type 0
802+XkbEvent.any 0
803+XkbEvent.new_kbd 0
804+XkbEvent.map 0
805+XkbEvent.state 0
806+XkbEvent.ctrls 0
807+XkbEvent.indicators 0
808+XkbEvent.names 0
809+XkbEvent.compat 0
810+XkbEvent.bell 0
811+XkbEvent.message 0
812+XkbEvent.accessx 0
813+XkbEvent.device 0
814+XkbEvent.core 0
815+XkbEvent 96
816+XPoint.x 0
817+XPoint.y 2
818+XPoint 4
819+XSegment.x1 0
820+XSegment.y1 2
821+XSegment.x2 4
822+XSegment.y2 6
823+XSegment 8
824+XIconSize.min_width 0
825+XIconSize.min_height 4
826+XIconSize.max_width 8
827+XIconSize.max_height 12
828+XIconSize.width_inc 16
829+XIconSize.height_inc 20
830+XIconSize 24
831+XIMCallback.client_data 0
832+XIMCallback.callback 4
833+XIMCallback 8
834+XConfigureEvent.type 0
835+XConfigureEvent.serial 4
836+XConfigureEvent.send_event 8
837+XConfigureEvent.display 12
838+XConfigureEvent.event 16
839+XConfigureEvent.window 20
840+XConfigureEvent.x 24
841+XConfigureEvent.y 28
842+XConfigureEvent.width 32
843+XConfigureEvent.height 36
844+XConfigureEvent.border_width 40
845+XConfigureEvent.above 44
846+XConfigureEvent.override_redirect 48
847+XConfigureEvent 52
848+XRectangle.x 0
849+XRectangle.y 2
850+XRectangle.width 4
851+XRectangle.height 6
852+XRectangle 8
853+XkbNamesNotifyEvent.type 0
854+XkbNamesNotifyEvent.serial 4
855+XkbNamesNotifyEvent.send_event 8
856+XkbNamesNotifyEvent.display 12
857+XkbNamesNotifyEvent.time 16
858+XkbNamesNotifyEvent.xkb_type 20
859+XkbNamesNotifyEvent.device 24
860+XkbNamesNotifyEvent.changed 28
861+XkbNamesNotifyEvent.first_type 32
862+XkbNamesNotifyEvent.num_types 36
863+XkbNamesNotifyEvent.first_lvl 40
864+XkbNamesNotifyEvent.num_lvls 44
865+XkbNamesNotifyEvent.num_aliases 48
866+XkbNamesNotifyEvent.num_radio_groups 52
867+XkbNamesNotifyEvent.changed_vmods 56
868+XkbNamesNotifyEvent.changed_groups 60
869+XkbNamesNotifyEvent.changed_indicators 64
870+XkbNamesNotifyEvent.first_key 68
871+XkbNamesNotifyEvent.num_keys 72
872+XkbNamesNotifyEvent 76
873+XCreateWindowEvent.type 0
874+XCreateWindowEvent.serial 4
875+XCreateWindowEvent.send_event 8
876+XCreateWindowEvent.display 12
877+XCreateWindowEvent.parent 16
878+XCreateWindowEvent.window 20
879+XCreateWindowEvent.x 24
880+XCreateWindowEvent.y 28
881+XCreateWindowEvent.width 32
882+XCreateWindowEvent.height 36
883+XCreateWindowEvent.border_width 40
884+XCreateWindowEvent.override_redirect 44
885+XCreateWindowEvent 48
886+XVisibilityEvent.type 0
887+XVisibilityEvent.serial 4
888+XVisibilityEvent.send_event 8
889+XVisibilityEvent.display 12
890+XVisibilityEvent.window 16
891+XVisibilityEvent.state 20
892+XVisibilityEvent 24
893+XWMHints.flags 0
894+XWMHints.initial_state 8
895+XWMHints.icon_pixmap 12
896+XWMHints.icon_window 16
897+XWMHints.icon_x 20
898+XWMHints.icon_y 24
899+XWMHints.icon_mask 28
900+XWMHints.input 4
901+XWMHints.window_group 32
902+XWMHints 36
903+XCrossingEvent.type 0
904+XCrossingEvent.serial 4
905+XCrossingEvent.send_event 8
906+XCrossingEvent.display 12
907+XCrossingEvent.window 16
908+XCrossingEvent.root 20
909+XCrossingEvent.subwindow 24
910+XCrossingEvent.time 28
911+XCrossingEvent.x 32
912+XCrossingEvent.y 36
913+XCrossingEvent.x_root 40
914+XCrossingEvent.y_root 44
915+XCrossingEvent.mode 48
916+XCrossingEvent.detail 52
917+XCrossingEvent.same_screen 56
918+XCrossingEvent.focus 60
919+XCrossingEvent.state 64
920+XCrossingEvent 68
921+XSelectionRequestEvent.type 0
922+XSelectionRequestEvent.serial 4
923+XSelectionRequestEvent.send_event 8
924+XSelectionRequestEvent.display 12
925+XSelectionRequestEvent.owner 16
926+XSelectionRequestEvent.requestor 20
927+XSelectionRequestEvent.selection 24
928+XSelectionRequestEvent.target 28
929+XSelectionRequestEvent.property 32
930+XSelectionRequestEvent.time 36
931+XSelectionRequestEvent 40
932+XNoExposeEvent.type 0
933+XNoExposeEvent.serial 4
934+XNoExposeEvent.send_event 8
935+XNoExposeEvent.display 12
936+XNoExposeEvent.drawable 16
937+XNoExposeEvent.major_code 20
938+XNoExposeEvent.minor_code 24
939+XNoExposeEvent 28
940+XHostAddress.family 0
941+XHostAddress.length 4
942+XHostAddress.address 8
943+XHostAddress 12
944+XColormapEvent.type 0
945+XColormapEvent.serial 4
946+XColormapEvent.send_event 8
947+XColormapEvent.display 12
948+XColormapEvent.window 16
949+XColormapEvent.colormap 20
950+XColormapEvent.new 24
951+XColormapEvent.state 28
952+XColormapEvent 32
953+ColorEntry.r 0
954+ColorEntry.g 1
955+ColorEntry.b 2
956+ColorEntry.flags 3
957+ColorEntry 4
958+XResizeRequestEvent.type 0
959+XResizeRequestEvent.serial 4
960+XResizeRequestEvent.send_event 8
961+XResizeRequestEvent.display 12
962+XResizeRequestEvent.window 16
963+XResizeRequestEvent.width 20
964+XResizeRequestEvent.height 24
965+XResizeRequestEvent 28
966+Depth.depth 0
967+Depth.nvisuals 4
968+Depth.visuals 8
969+Depth 12
970+XPropertyEvent.type 0
971+XPropertyEvent.serial 4
972+XPropertyEvent.send_event 8
973+XPropertyEvent.display 12
974+XPropertyEvent.window 16
975+XPropertyEvent.atom 20
976+XPropertyEvent.time 24
977+XPropertyEvent.state 28
978+XPropertyEvent 32
979+XDestroyWindowEvent.type 0
980+XDestroyWindowEvent.serial 4
981+XDestroyWindowEvent.send_event 8
982+XDestroyWindowEvent.display 12
983+XDestroyWindowEvent.event 16
984+XDestroyWindowEvent.window 20
985+XDestroyWindowEvent 24
986+XStandardColormap.colormap 0
987+XStandardColormap.red_max 4
988+XStandardColormap.red_mult 8
989+XStandardColormap.green_max 12
990+XStandardColormap.green_mult 16
991+XStandardColormap.blue_max 20
992+XStandardColormap.blue_mult 24
993+XStandardColormap.base_pixel 28
994+XStandardColormap.visualid 32
995+XStandardColormap.killid 36
996+XStandardColormap 40
997+XComposeStatus.compose_ptr 0
998+XComposeStatus.chars_matched 4
999+XComposeStatus 8
1000+AwtGraphicsConfigData.awt_depth 0
1001+AwtGraphicsConfigData.awt_cmap 4
1002+AwtGraphicsConfigData.awt_visInfo 8
1003+AwtGraphicsConfigData.awt_num_colors 48
1004+AwtGraphicsConfigData.awtImage 52
1005+AwtGraphicsConfigData.AwtColorMatch 56
1006+AwtGraphicsConfigData.monoImage 60
1007+AwtGraphicsConfigData.monoPixmap 64
1008+AwtGraphicsConfigData.monoPixmapWidth 68
1009+AwtGraphicsConfigData.monoPixmapHeight 72
1010+AwtGraphicsConfigData.monoPixmapGC 76
1011+AwtGraphicsConfigData.pixelStride 80
1012+AwtGraphicsConfigData.color_data 84
1013+AwtGraphicsConfigData.glxInfo 88
1014+AwtGraphicsConfigData.isTranslucencySupported 92
1015+AwtGraphicsConfigData.renderPictFormat 96
1016+AwtGraphicsConfigData 128
1017+XColor.pixel 0
1018+XColor.red 4
1019+XColor.green 6
1020+XColor.blue 8
1021+XColor.flags 10
1022+XColor.pad 11
1023+XColor 12
1024+XTextProperty.value 0
1025+XTextProperty.encoding 4
1026+XTextProperty.format 8
1027+XTextProperty.nitems 12
1028+XTextProperty 16
1029--- a/make/gensrc/GensrcX11Wrappers.gmk
1030+++ b/make/gensrc/GensrcX11Wrappers.gmk
1031@@ -33,9 +33,14 @@ GENSRC_X11WRAPPERS_MARKER := $(GENSRC_X1
1032 # Put the generated Java classes used to interface X11 from awt here.
1033 GENSRC_X11WRAPPERS_OUTPUTDIR := $(GENSRC_X11WRAPPERS_OUTPUT_TOP)/sun/awt/X11
1034
1035+GENSRC_X11_VERSION_VARIANT :=
1036+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-m68k)
1037+ GENSRC_X11_VERSION_VARIANT := -linux-m68k
1038+endif
1039+
1040 # The pre-calculated offset file are stored here:
1041 GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
1042-GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS).txt
1043+GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS)$(GENSRC_X11_VERSION_VARIANT).txt
1044
1045 # Run the tool on the offset files to generate several Java classes used in awt.
1046 $(GENSRC_X11WRAPPERS_MARKER): $(BUILD_TOOLS_JDK) $(GENSRC_X11WRAPPERS_DATA) \
1047--- a/src/hotspot/share/memory/allocation.hpp
1048+++ b/src/hotspot/share/memory/allocation.hpp
1049@@ -211,7 +211,7 @@ template <MEMFLAGS F> class CHeapObj ALL
1050
1051 void operator delete(void* p) { FreeHeap(p); }
1052 void operator delete [] (void* p) { FreeHeap(p); }
1053-};
1054+} __attribute__ ((aligned (4)));
1055
1056 // Base class for objects allocated on the stack only.
1057 // Calling new or delete will result in fatal error.
1058@@ -225,7 +225,7 @@ class StackObj ALLOCATION_SUPER_CLASS_SP
1059 #endif
1060 void operator delete(void* p);
1061 void operator delete [](void* p);
1062-};
1063+} __attribute__ ((aligned (4)));
1064
1065 // Base class for objects stored in Metaspace.
1066 // Calling delete will result in fatal error.
1067@@ -326,7 +326,7 @@ class MetaspaceObj {
1068 // that should be read-only by default. See symbol.hpp for an example. This function
1069 // is used by the templates in metaspaceClosure.hpp
1070 static bool is_read_only_by_default() { return false; }
1071-};
1072+} __attribute__ ((aligned (4)));
1073
1074 // Base class for classes that constitute name spaces.
1075
1076@@ -416,7 +416,7 @@ class ResourceObj ALLOCATION_SUPER_CLASS
1077
1078 void operator delete(void* p);
1079 void operator delete [](void* p);
1080-};
1081+} __attribute__ ((aligned (4)));
1082
1083 // One of the following macros must be used when allocating an array
1084 // or object to determine whether it should reside in the C heap on in
1085--- a/src/hotspot/share/oops/constMethod.hpp
1086+++ b/src/hotspot/share/oops/constMethod.hpp
1087@@ -559,6 +559,6 @@ private:
1088
1089 // Verify
1090 void verify_on(outputStream* st);
1091-};
1092+} __attribute__ ((aligned (4)));
1093
1094 #endif // SHARE_VM_OOPS_CONSTMETHODOOP_HPP
1095--- a/src/hotspot/share/oops/oop.hpp
1096+++ b/src/hotspot/share/oops/oop.hpp
1097@@ -338,6 +338,6 @@ class oopDesc {
1098 static void* load_oop_raw(oop obj, int offset);
1099 static bool is_valid(oop obj);
1100 static oop oop_or_null(address addr);
1101-};
1102+} __attribute__ ((aligned (4)));
1103
1104 #endif // SHARE_VM_OOPS_OOP_HPP
1105--- a/src/java.base/unix/native/libjli/java_md_solinux.c
1106+++ b/src/java.base/unix/native/libjli/java_md_solinux.c
1107@@ -728,12 +728,24 @@ void SplashFreeLibrary() {
1108 }
1109 }
1110
1111+struct call_continuation_args {
1112+ int (JNICALL *continuation)(void *);
1113+ void *args;
1114+};
1115+
1116+static void *call_continuation(void *_args)
1117+{
1118+ struct call_continuation_args *args = _args;
1119+ return (void *)args->continuation(args->args);
1120+}
1121+
1122 /*
1123 * Block current thread and continue execution in a new thread
1124 */
1125 int
1126 ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
1127 int rslt;
1128+ struct call_continuation_args ccargs = { continuation, args };
1129 #ifndef __solaris__
1130 pthread_t tid;
1131 pthread_attr_t attr;
1132@@ -745,7 +757,7 @@ ContinueInNewThread0(int (JNICALL *conti
1133 }
1134 pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads
1135
1136- if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) {
1137+ if (pthread_create(&tid, &attr, call_continuation, &ccargs) == 0) {
1138 void * tmp;
1139 pthread_join(tid, &tmp);
1140 rslt = (int)(intptr_t)tmp;
1141@@ -763,7 +775,7 @@ ContinueInNewThread0(int (JNICALL *conti
1142 #else /* __solaris__ */
1143 thread_t tid;
1144 long flags = 0;
1145- if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) {
1146+ if (thr_create(NULL, stack_size, call_continuation, &ccargs, flags, &tid) == 0) {
1147 void * tmp;
1148 thr_join(tid, NULL, &tmp);
1149 rslt = (int)(intptr_t)tmp;
diff --git a/debian/patches/machine-flag.diff b/debian/patches/machine-flag.diff
index bf04c46..8be4c24 100644
--- a/debian/patches/machine-flag.diff
+++ b/debian/patches/machine-flag.diff
@@ -1,6 +1,6 @@
1--- a/make/autoconf/flags.m41--- a/make/autoconf/flags.m4
2+++ b/make/autoconf/flags.m42+++ b/make/autoconf/flags.m4
3@@ -262,6 +262,7 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],3@@ -271,6 +271,7 @@
4 test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then4 test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
5 MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"5 MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
6 fi6 fi
@@ -8,7 +8,7 @@
8 fi8 fi
9 9
10 if test "x$OPENJDK_TARGET_OS" = xmacosx; then10 if test "x$OPENJDK_TARGET_OS" = xmacosx; then
11@@ -344,11 +345,8 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL]11@@ -357,11 +358,8 @@
12 AC_SUBST(COMPILER_COMMAND_FILE_FLAG)12 AC_SUBST(COMPILER_COMMAND_FILE_FLAG)
13 AC_SUBST(COMPILER_BINDCMD_FILE_FLAG)13 AC_SUBST(COMPILER_BINDCMD_FILE_FLAG)
14 14
diff --git a/debian/patches/mips-sigset.diff b/debian/patches/mips-sigset.diff
15deleted file mode 10064415deleted file mode 100644
index 1477d34..0000000
--- a/debian/patches/mips-sigset.diff
+++ /dev/null
@@ -1,41 +0,0 @@
1--- a/src/hotspot/os/linux/os_linux.cpp
2+++ b/src/hotspot/os/linux/os_linux.cpp
3@@ -4567,14 +4567,16 @@ bool os::Linux::signal_handlers_are_inst
4
5 // For signal-chaining
6 struct sigaction sigact[NSIG];
7-uint64_t sigs = 0;
8-#if (64 < NSIG-1)
9-#error "Not all signals can be encoded in sigs. Adapt its type!"
10-#endif
11+sigset_t sigs;
12 bool os::Linux::libjsig_is_loaded = false;
13 typedef struct sigaction *(*get_signal_t)(int);
14 get_signal_t os::Linux::get_signal_action = NULL;
15
16+static __attribute__((constructor)) void sigs_init()
17+{
18+ sigemptyset(&sigs);
19+}
20+
21 struct sigaction* os::Linux::get_chained_signal_action(int sig) {
22 struct sigaction *actp = NULL;
23
24@@ -4649,7 +4651,7 @@ bool os::Linux::chained_handler(int sig,
25 }
26
27 struct sigaction* os::Linux::get_preinstalled_handler(int sig) {
28- if ((((uint64_t)1 << (sig-1)) & sigs) != 0) {
29+ if (sigismember(&sigs, sig)) {
30 return &sigact[sig];
31 }
32 return NULL;
33@@ -4658,7 +4660,7 @@ struct sigaction* os::Linux::get_preinst
34 void os::Linux::save_preinstalled_handler(int sig, struct sigaction& oldAct) {
35 assert(sig > 0 && sig < NSIG, "vm signal out of expected range");
36 sigact[sig] = oldAct;
37- sigs |= (uint64_t)1 << (sig-1);
38+ sigaddset(&sigs, sig);
39 }
40
41 // for diagnostic
diff --git a/debian/patches/multiple-pkcs11-library-init.diff b/debian/patches/multiple-pkcs11-library-init.diff
index 52cd33f..aec9f96 100644
--- a/debian/patches/multiple-pkcs11-library-init.diff
+++ b/debian/patches/multiple-pkcs11-library-init.diff
@@ -7,7 +7,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
77
8--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java8--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
9+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java9+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
10@@ -52,6 +52,7 @@ final class Config {10@@ -52,6 +52,7 @@
11 static final int ERR_HALT = 1;11 static final int ERR_HALT = 1;
12 static final int ERR_IGNORE_ALL = 2;12 static final int ERR_IGNORE_ALL = 2;
13 static final int ERR_IGNORE_LIB = 3;13 static final int ERR_IGNORE_LIB = 3;
@@ -15,7 +15,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
15 15
16 // same as allowSingleThreadedModules but controlled via a system property16 // same as allowSingleThreadedModules but controlled via a system property
17 // and applied to all providers. if set to false, no SunPKCS11 instances17 // and applied to all providers. if set to false, no SunPKCS11 instances
18@@ -1026,6 +1027,8 @@ final class Config {18@@ -1026,6 +1027,8 @@
19 handleStartupErrors = ERR_IGNORE_LIB;19 handleStartupErrors = ERR_IGNORE_LIB;
20 } else if (val.equals("halt")) {20 } else if (val.equals("halt")) {
21 handleStartupErrors = ERR_HALT;21 handleStartupErrors = ERR_HALT;
@@ -26,7 +26,7 @@ Allow multiple PKCS11 library initialisation to be a non-critical error.
26 }26 }
27--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java27--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
28+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java28+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
29@@ -174,26 +174,37 @@ public final class SunPKCS11 extends Aut29@@ -176,26 +176,37 @@
30 String nssLibraryDirectory = config.getNssLibraryDirectory();30 String nssLibraryDirectory = config.getNssLibraryDirectory();
31 String nssSecmodDirectory = config.getNssSecmodDirectory();31 String nssSecmodDirectory = config.getNssSecmodDirectory();
32 boolean nssOptimizeSpace = config.getNssOptimizeSpace();32 boolean nssOptimizeSpace = config.getNssOptimizeSpace();
diff --git a/debian/patches/no-pch-build.diff b/debian/patches/no-pch-build.diff
33deleted file mode 10064433deleted file mode 100644
index 76726e8..0000000
--- a/debian/patches/no-pch-build.diff
+++ /dev/null
@@ -1,110 +0,0 @@
1--- a/src/hotspot/src/share/vm/oops/arrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
2+++ b/src/hotspot/src/share/vm/oops/arrayKlassKlass.cpp 2013-04-15 13:57:24.992929086 +0200
3@@ -30,6 +30,7 @@
4 #include "runtime/handles.inline.hpp"
5 #ifndef SERIALGC
6 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
7+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
8 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
9 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
10 #include "memory/cardTableRS.hpp"
11--- a/src/hotspot/src/share/vm/oops/constantPoolKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
12+++ b/src/hotspot/src/share/vm/oops/constantPoolKlass.cpp 2013-04-15 14:02:52.143087149 +0200
13@@ -49,6 +49,7 @@
14 #endif
15 #ifndef SERIALGC
16 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
17+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
18 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
19 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
20 #include "memory/cardTableRS.hpp"
21--- a/src/hotspot/src/share/vm/oops/cpCacheKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
22+++ b/src/hotspot/src/share/vm/oops/cpCacheKlass.cpp 2013-04-15 14:04:45.219838633 +0200
23@@ -35,6 +35,7 @@
24 #include "runtime/handles.inline.hpp"
25 #ifndef SERIALGC
26 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
27+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
28 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
29 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
30 #include "memory/cardTableRS.hpp"
31--- a/src/hotspot/src/share/vm/oops/instanceKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
32+++ b/src/hotspot/src/share/vm/oops/instanceKlass.cpp 2013-04-15 14:07:55.861109867 +0200
33@@ -70,6 +70,7 @@
34 #include "gc_implementation/g1/g1RemSet.inline.hpp"
35 #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
36 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
37+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
38 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
39 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
40 #include "oops/oop.pcgc.inline.hpp"
41--- a/src/hotspot/src/share/vm/oops/instanceKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
42+++ b/src/hotspot/src/share/vm/oops/instanceKlassKlass.cpp 2013-04-15 14:08:53.541485528 +0200
43@@ -44,6 +44,7 @@
44 #include "runtime/fieldDescriptor.hpp"
45 #ifndef SERIALGC
46 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
47+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
48 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
49 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
50 #include "memory/cardTableRS.hpp"
51--- a/src/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
52+++ b/src/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp 2013-04-15 14:10:11.162003798 +0200
53@@ -42,6 +42,7 @@
54 #include "gc_implementation/g1/g1RemSet.inline.hpp"
55 #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
56 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
57+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
58 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
59 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
60 #include "oops/oop.pcgc.inline.hpp"
61--- a/src/hotspot/src/share/vm/oops/instanceRefKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
62+++ b/src/hotspot/src/share/vm/oops/instanceRefKlass.cpp 2013-04-15 14:11:11.726403390 +0200
63@@ -39,6 +39,7 @@
64 #include "gc_implementation/g1/g1RemSet.inline.hpp"
65 #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
66 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
67+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
68 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
69 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
70 #include "oops/oop.pcgc.inline.hpp"
71--- a/src/hotspot/src/share/vm/oops/klassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
72+++ b/src/hotspot/src/share/vm/oops/klassKlass.cpp 2013-04-15 14:13:01.999133769 +0200
73@@ -42,6 +42,7 @@
74 #include "runtime/handles.inline.hpp"
75 #ifndef SERIALGC
76 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
77+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
78 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
79 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
80 #include "memory/cardTableRS.hpp"
81--- a/src/hotspot/src/share/vm/oops/objArrayKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
82+++ b/src/hotspot/src/share/vm/oops/objArrayKlass.cpp 2013-04-15 14:16:10.616389484 +0200
83@@ -47,6 +47,7 @@
84 #include "gc_implementation/g1/g1RemSet.inline.hpp"
85 #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
86 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
87+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
88 #include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
89 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
90 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
91--- a/src/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100
92+++ b/src/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp 2013-04-15 14:17:01.800729154 +0200
93@@ -33,6 +33,7 @@
94 #include "oops/oop.inline2.hpp"
95 #ifndef SERIALGC
96 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
97+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
98 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
99 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
100 #include "memory/cardTableRS.hpp"
101--- a/src/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp~ 2013-03-04 22:51:00.000000000 +0100
102+++ b/src/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp 2013-04-15 14:20:24.782079605 +0200
103@@ -28,6 +28,7 @@
104 #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
105 #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
106 #include "gc_implementation/parallelScavenge/psMarkSweep.hpp"
107+#include "gc_implementation/parallelScavenge/psOldGen.hpp"
108 #include "gc_implementation/parallelScavenge/psPromotionManager.hpp"
109 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
110 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
diff --git a/debian/patches/pass-extra-flags.diff b/debian/patches/pass-extra-flags.diff
111deleted file mode 1006440deleted file mode 100644
index cbf36c5..0000000
--- a/debian/patches/pass-extra-flags.diff
+++ /dev/null
@@ -1,25 +0,0 @@
1--- a/src/hotspot/make/linux/makefiles/jsig.make
2+++ b/src/hotspot/make/linux/makefiles/jsig.make
3@@ -54,7 +54,9 @@ endif
4 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
5 @echo $(LOG_INFO) Making signal interposition lib...
6 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
7- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
8+ $(LFLAGS_JSIG) $(EXTRA_LDFLAGS) \
9+ $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) \
10+ -o $@ $< -ldl
11 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
12 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
13 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
14--- a/src/hotspot/make/linux/makefiles/vm.make
15+++ b/src/hotspot/make/linux/makefiles/vm.make
16@@ -118,7 +118,8 @@ CFLAGS += $(CFLAGS/NOEX)
17
18 # Extra flags from gnumake's invocation or environment
19 CFLAGS += $(EXTRA_CFLAGS)
20-LFLAGS += $(EXTRA_CFLAGS)
21+CXXFLAGS += $(EXTRA_CXXFLAGS)
22+LFLAGS += $(EXTRA_LDFLAGS)
23
24 # Don't set excutable bit on stack segment
25 # the same could be done by separate execstack command
diff --git a/debian/patches/powerpcspe-float-const.diff b/debian/patches/powerpcspe-float-const.diff
26deleted file mode 1006440deleted file mode 100644
index b03e29e..0000000
--- a/debian/patches/powerpcspe-float-const.diff
+++ /dev/null
@@ -1,11 +0,0 @@
1--- a/src/java.base/share/classes/java/lang/Float.java 2018-03-13 17:46:28.000000000 +0100
2+++ b/src/java.base/share/classes/java/lang/Float.java 2018-05-01 15:35:55.626369726 +0200
3@@ -92,7 +92,7 @@
4 * hexadecimal floating-point literal {@code 0x0.000002P-126f}
5 * and also equal to {@code Float.intBitsToFloat(0x1)}.
6 */
7- public static final float MIN_VALUE = 0x0.000002P-126f; // 1.4e-45f
8+ public static final float MIN_VALUE = Float.intBitsToFloat(0x1);
9
10 /**
11 * Maximum exponent a finite {@code float} variable may have. It
diff --git a/debian/patches/reproducible-build-jmod.diff b/debian/patches/reproducible-build-jmod.diff
index 11e73e5..f1e9ca1 100644
--- a/debian/patches/reproducible-build-jmod.diff
+++ b/debian/patches/reproducible-build-jmod.diff
@@ -12,7 +12,7 @@ Forwarded: not-needed
1212
13--- a/make/CreateJmods.gmk13--- a/make/CreateJmods.gmk
14+++ b/make/CreateJmods.gmk14+++ b/make/CreateJmods.gmk
15@@ -213,6 +213,15 @@ endif15@@ -218,6 +218,15 @@
16 16
17 # Create jmods in a temp dir and then move them into place to keep the17 # Create jmods in a temp dir and then move them into place to keep the
18 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.18 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
@@ -28,7 +28,7 @@ Forwarded: not-needed
28 $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)28 $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
29 $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))29 $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))
30 $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))30 $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))
31@@ -224,7 +233,11 @@ $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)31@@ -229,7 +238,11 @@
32 --module-path $(JMODS_DIR) \32 --module-path $(JMODS_DIR) \
33 $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \33 $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \
34 )34 )
diff --git a/debian/patches/reproducible-build-user.diff b/debian/patches/reproducible-build-user.diff
index 2ed579c..60c7a7b 100644
--- a/debian/patches/reproducible-build-user.diff
+++ b/debian/patches/reproducible-build-user.diff
@@ -1,14 +1,14 @@
1Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so)1Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so)
2Author: Emmanuel Bourg <ebourg@apache.org>2Author: Emmanuel Bourg <ebourg@apache.org>
3Forwarded: no3Forwarded: no
4--- a/make/autoconf/basics.m44--- a/make/autoconf/basic.m4
5+++ b/make/autoconf/basics.m45+++ b/make/autoconf/basic.m4
6@@ -658,7 +658,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],6@@ -100,7 +100,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
7 7
8 # Setup username (for use in adhoc version strings etc)8 # Setup username (for use in adhoc version strings etc)
9 # Outer [ ] to quote m4.9 # Outer [ ] to quote m4.
10- [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]10- [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
11+ [ USERNAME="unknown" ]11+ [ USERNAME="unknown" ]
12 AC_SUBST(USERNAME)12 AC_SUBST(USERNAME)
13 ])13 ])
14 14
diff --git a/debian/patches/reproducible-character-data.diff b/debian/patches/reproducible-character-data.diff
index 778b3b2..93412a0 100644
--- a/debian/patches/reproducible-character-data.diff
+++ b/debian/patches/reproducible-character-data.diff
@@ -12,12 +12,13 @@ Forwarded: no
12 int marklen = commandMarker.length();12 int marklen = commandMarker.length();
13 LOOP: while(true) {13 LOOP: while(true) {
14 try {14 try {
15@@ -1819,7 +1819,7 @@ OUTER: for (int i = 0; i < n; i += m) {15@@ -1819,7 +1819,8 @@ OUTER: for (int i = 0; i < n; i += m) {
16 }16 }
17 commentStart = (Csyntax ? "/*" : "//");17 commentStart = (Csyntax ? "/*" : "//");
18 commentEnd = (Csyntax ? " */" : "");18 commentEnd = (Csyntax ? " */" : "");
19- commandLineDescription = desc.toString();19- commandLineDescription = desc.toString().replace("\\", "\\\\");
20+ commandLineDescription = desc.toString().replace(System.getProperty("user.dir").replace("make/gensrc", ""), "");20+ commandLineDescription = desc.toString().replace("\\", "\\\\")
21+ .replace(System.getProperty("user.dir").replace("make/gensrc", ""), "");
21 }22 }
22 23
23 private static void searchBins(long[] map, int binsOccupied) throws Exception {24 private static void searchBins(long[] map, int binsOccupied) throws Exception {
diff --git a/debian/patches/reproducible-properties-timestamp.diff b/debian/patches/reproducible-properties-timestamp.diff
index 491359a..596c01c 100644
--- a/debian/patches/reproducible-properties-timestamp.diff
+++ b/debian/patches/reproducible-properties-timestamp.diff
@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
3Forwarded: no3Forwarded: no
4--- a/src/java.base/share/classes/java/util/Properties.java4--- a/src/java.base/share/classes/java/util/Properties.java
5+++ b/src/java.base/share/classes/java/util/Properties.java5+++ b/src/java.base/share/classes/java/util/Properties.java
6@@ -926,7 +926,7 @@ class Properties extends Hashtable<Objec6@@ -929,7 +929,7 @@
7 if (comments != null) {7 if (comments != null) {
8 writeComments(bw, comments);8 writeComments(bw, comments);
9 }9 }
@@ -12,7 +12,7 @@ Forwarded: no
12 bw.newLine();12 bw.newLine();
13 synchronized (this) {13 synchronized (this) {
14 for (Map.Entry<Object, Object> e : entrySet()) {14 for (Map.Entry<Object, Object> e : entrySet()) {
15@@ -1576,4 +1576,22 @@ class Properties extends Hashtable<Objec15@@ -1579,4 +1579,22 @@
16 }16 }
17 this.map = map;17 this.map = map;
18 }18 }
diff --git a/debian/patches/riscv64.diff b/debian/patches/riscv64.diff
index 8eb8898..218aa5d 100644
--- a/debian/patches/riscv64.diff
+++ b/debian/patches/riscv64.diff
@@ -25,7 +25,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
25 25
26--- a/make/autoconf/build-aux/config.sub26--- a/make/autoconf/build-aux/config.sub
27+++ b/make/autoconf/build-aux/config.sub27+++ b/make/autoconf/build-aux/config.sub
28@@ -34,8 +34,8 @@ if echo $* | grep linux-musl >/dev/null28@@ -40,8 +40,8 @@
29 exit29 exit
30 fi30 fi
31 31
@@ -36,7 +36,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
36 . $DIR/autoconf-config.sub "$@"36 . $DIR/autoconf-config.sub "$@"
37 # autoconf-config.sub exits, so we never reach here, but just in37 # autoconf-config.sub exits, so we never reach here, but just in
38 # case we do:38 # case we do:
39@@ -50,6 +50,10 @@ while test $# -gt 0 ; do39@@ -56,6 +56,10 @@
40 config=`echo $1 | sed 's/^aarch64-/arm-/'`40 config=`echo $1 | sed 's/^aarch64-/arm-/'`
41 sub_args="$sub_args $config"41 sub_args="$sub_args $config"
42 shift; ;;42 shift; ;;
@@ -47,7 +47,7 @@ Reviewed-by: aph, erikj, ehelin, ihse
47 - ) # Use stdin as input.47 - ) # Use stdin as input.
48 sub_args="$sub_args $1"48 sub_args="$sub_args $1"
49 shift; break ;;49 shift; break ;;
50@@ -62,7 +66,7 @@ done50@@ -68,7 +72,7 @@
51 result=`. $DIR/autoconf-config.sub $sub_args "$@"`51 result=`. $DIR/autoconf-config.sub $sub_args "$@"`
52 exitcode=$?52 exitcode=$?
53 53
diff --git a/debian/patches/s390x-opt.diff b/debian/patches/s390x-opt.diff
index ea60068..e5e119a 100644
--- a/debian/patches/s390x-opt.diff
+++ b/debian/patches/s390x-opt.diff
@@ -1,6 +1,6 @@
1--- a/make/autoconf/flags-cflags.m41--- a/make/autoconf/flags-cflags.m4
2+++ b/make/autoconf/flags-cflags.m42+++ b/make/autoconf/flags-cflags.m4
3@@ -756,6 +756,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],3@@ -757,6 +757,9 @@
4 fi4 fi
5 elif test "x$FLAGS_CPU" = xs390x; then5 elif test "x$FLAGS_CPU" = xs390x; then
6 $1_CFLAGS_CPU="-mbackchain -march=z10"6 $1_CFLAGS_CPU="-mbackchain -march=z10"
diff --git a/debian/patches/s390x-thread-stack-size.diff b/debian/patches/s390x-thread-stack-size.diff
index 00c785f..6308b10 100644
--- a/debian/patches/s390x-thread-stack-size.diff
+++ b/debian/patches/s390x-thread-stack-size.diff
@@ -14,35 +14,35 @@
14 #endif // _LP6414 #endif // _LP64
15--- a/make/autoconf/boot-jdk.m415--- a/make/autoconf/boot-jdk.m4
16+++ b/make/autoconf/boot-jdk.m416+++ b/make/autoconf/boot-jdk.m4
17@@ -431,6 +431,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_AR17@@ -459,6 +459,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
18 fi18 fi
19 ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])19 UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
20 ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])20 UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
21+ if test "$VAR_CPU" = s390x; then21+ if test "$VAR_CPU" = s390x; then
22+ ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA])22+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_big,[$JAVA])
23+ fi23+ fi
24 24
25 AC_MSG_RESULT([$boot_jdk_jvmargs_big])25 AC_MSG_RESULT([$boot_jdk_jvmargs_big])
26 26
27@@ -460,6 +463,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_AR27@@ -488,6 +491,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
28 ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])28 UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
29 ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])29 UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
30 ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])30 UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
31+ if test "$VAR_CPU" = s390x; then31+ if test "$VAR_CPU" = s390x; then
32+ ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA])32+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],boot_jdk_jvmargs_small,[$JAVA])
33+ fi33+ fi
34 ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])34 UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
35 35
36 AC_MSG_RESULT([$boot_jdk_jvmargs_small])36 AC_MSG_RESULT([$boot_jdk_jvmargs_small])
37--- a/make/autoconf/build-performance.m437--- a/make/autoconf/build-performance.m4
38+++ b/make/autoconf/build-performance.m438+++ b/make/autoconf/build-performance.m4
39@@ -443,6 +443,9 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],39@@ -443,6 +443,9 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
40 MX_VALUE=51240 MX_VALUE=512
41 fi41 fi
42 ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])42 UTIL_ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
43+ if test "$VAR_CPU" = s390x; then43+ if test "$VAR_CPU" = s390x; then
44+ ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])44+ UTIL_ADD_JVM_ARG_IF_OK([-Xss1600k],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
45+ fi45+ fi
46 AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS)46 AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS)
47 47
48 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],48 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
diff --git a/debian/patches/series b/debian/patches/series
index 7aebfe9..27795ee 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
1# jdk11u-dev-updates.diff
2system-pcsclite.diff1system-pcsclite.diff
3hotspot-mips-align.diff2hotspot-mips-align.diff
4icc_loading_with_symlink.diff3icc_loading_with_symlink.diff
@@ -18,13 +17,8 @@ disable-doclint-by-default.diff
188199220.diff178199220.diff
19machine-flag.diff18machine-flag.diff
20zero-x32.diff19zero-x32.diff
21# mips-sigset.diff
22# s390x-zEC12.diff
23hotspot-disable-exec-shield-workaround.diff20hotspot-disable-exec-shield-workaround.diff
24atk-wrapper-security.diff21atk-wrapper-security.diff
25# java-access-bridge-security.diff
26# jdk-pulseaudio.diff
27# alpha-float-const.diff
28dnd-files.diff22dnd-files.diff
29hotspot-libpath.diff23hotspot-libpath.diff
30generated-headers.patch24generated-headers.patch
diff --git a/debian/patches/set-exec-name.diff b/debian/patches/set-exec-name.diff
31deleted file mode 10064425deleted file mode 100644
index d1fc398..0000000
--- a/debian/patches/set-exec-name.diff
+++ /dev/null
@@ -1,47 +0,0 @@
1--- a/src/jdk/src/solaris/bin/java_md.c.orig
2+++ b/src/jdk/src/solaris/bin/java_md.c
3@@ -688,8 +688,19 @@
4 char buf[PATH_MAX+1];
5 int len = readlink(self, buf, PATH_MAX);
6 if (len >= 0) {
7+ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
8+ const char **prefix;
9+ size_t prefix_len = 0;
10 buf[len] = '\0'; /* readlink doesn't nul terminate */
11- exec_path = JLI_StringDup(buf);
12+ for (prefix = prefixes; *prefix; prefix++) {
13+ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
14+ if (!strncmp(*prefix, buf, prefix_len)) {
15+ prefix_len--;
16+ break;
17+ }
18+ prefix_len = 0;
19+ }
20+ exec_path = JLI_StringDup(buf + prefix_len);
21 }
22 }
23 #else /* !__solaris__ && !__linux */
24--- a/src/hotspot/src/os/posix/launcher/java_md.c.orig
25+++ b/src/hotspot/src/os/posix/launcher/java_md.c
26@@ -967,8 +967,19 @@
27 char buf[PATH_MAX+1];
28 int len = readlink(self, buf, PATH_MAX);
29 if (len >= 0) {
30- buf[len] = '\0'; /* readlink doesn't nul terminate */
31- exec_path = JLI_StringDup(buf);
32+ buf[len] = '\0'; /* readlink doesn't nul terminate */
33+ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL};
34+ const char **prefix;
35+ size_t prefix_len = 0;
36+ for (prefix = prefixes; *prefix; prefix++) {
37+ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix);
38+ if (!strncmp(*prefix, buf, prefix_len)) {
39+ prefix_len--;
40+ break;
41+ }
42+ prefix_len = 0;
43+ }
44+ exec_path = JLI_StringDup(buf + prefix_len);
45 }
46 }
47 #else /* !__sun && !__linux */
diff --git a/debian/patches/stack-direction.diff b/debian/patches/stack-direction.diff
48deleted file mode 1006440deleted file mode 100644
index a4421ca..0000000
--- a/debian/patches/stack-direction.diff
+++ /dev/null
@@ -1,215 +0,0 @@
1--- a/src/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.old 2010-01-06 16:30:02.000000000 +0100
2+++ b/src/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-06 23:14:47.000000000 +0100
3@@ -144,8 +144,13 @@
4 address addr = (address) info->si_addr;
5
6 // check if fault address is within thread stack
7+#ifdef __hppa__
8+ if (addr > thread->stack_base() &&
9+ addr <= thread->stack_base() + thread->stack_size()) {
10+#else
11 if (addr < thread->stack_base() &&
12 addr >= thread->stack_base() - thread->stack_size()) {
13+#endif
14 // stack overflow
15 if (thread->in_stack_yellow_zone(addr)) {
16 thread->disable_stack_yellow_zone();
17@@ -294,7 +299,11 @@
18 if (res != 0) {
19 fatal1("pthread_attr_getstack failed with errno = %d", res);
20 }
21+#ifdef __hppa__
22+ address stack_top = stack_bottom - stack_bytes;
23+#else
24 address stack_top = stack_bottom + stack_bytes;
25+#endif
26
27 // The block of memory returned by pthread_attr_getstack() includes
28 // guard pages where present. We need to trim these off.
29@@ -321,7 +330,11 @@
30 stack_bottom += (total_pages - guard_pages) / 2 * page_bytes;
31 #endif // IA64
32
33+#ifdef __hppa__
34+ stack_bottom -= guard_bytes;
35+#else
36 stack_bottom += guard_bytes;
37+#endif
38
39 pthread_attr_destroy(&attr);
40
41@@ -329,19 +342,36 @@
42 // by pthread_attr_getstack is the maximum size it could possibly
43 // be given what currently mapped. This can be huge, so we cap it.
44 if (os::Linux::is_initial_thread()) {
45+#ifdef __hppa__
46+ stack_bytes = stack_bottom - stack_top;
47+#else
48 stack_bytes = stack_top - stack_bottom;
49+#endif
50
51 if (stack_bytes > JavaThread::stack_size_at_create())
52 stack_bytes = JavaThread::stack_size_at_create();
53
54+#ifdef __hppa__
55+ stack_bottom = stack_top + stack_bytes;
56+#else
57 stack_bottom = stack_top - stack_bytes;
58+#endif
59 }
60
61+#ifdef __hppa__
62+ assert(os::current_stack_pointer() <= stack_bottom, "should do");
63+ assert(os::current_stack_pointer() > stack_top, "should do");
64+#else
65 assert(os::current_stack_pointer() >= stack_bottom, "should do");
66 assert(os::current_stack_pointer() < stack_top, "should do");
67+#endif
68
69 *bottom = stack_bottom;
70+#ifdef __hppa__
71+ *size = stack_bottom - stack_top;
72+#else
73 *size = stack_top - stack_bottom;
74+#endif
75 }
76
77 address os::current_stack_base() {
78--- a/src/hotspot/src/share/vm/runtime/thread.cpp.old 2009-10-02 23:16:39.000000000 +0200
79+++ b/src/hotspot/src/share/vm/runtime/thread.cpp 2010-01-06 23:31:24.000000000 +0100
80@@ -713,8 +713,13 @@
81 else if (is_ConcurrentGC_thread()) st->print("ConcurrentGCThread");
82 else st->print("Thread");
83
84+#ifdef __hppa__
85 st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
86 _stack_base - _stack_size, _stack_base);
87+#else
88+ st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]",
89+ _stack_base + _stack_size, _stack_base);
90+#endif
91
92 if (osthread()) {
93 st->print(" [id=%d]", osthread()->thread_id());
94@@ -792,7 +797,11 @@
95 bool Thread::is_in_stack(address adr) const {
96 assert(Thread::current() == this, "is_in_stack can only be called from current thread");
97 address end = os::current_stack_pointer();
98+#ifdef __hppa__
99+ if (stack_base() <= adr && adr <= end) return true;
100+#else
101 if (stack_base() >= adr && adr >= end) return true;
102+#endif
103
104 return false;
105 }
106@@ -804,7 +813,11 @@
107 // should be revisited, and they should be removed if possible.
108
109 bool Thread::is_lock_owned(address adr) const {
110+#ifdef __hppa__
111+ return (_stack_base <= adr && adr <= (_stack_base + _stack_size));
112+#else
113 return (_stack_base >= adr && adr >= (_stack_base - _stack_size));
114+#endif
115 }
116
117 bool Thread::set_as_starting_thread() {
118@@ -2108,7 +2121,11 @@
119
120 void JavaThread::create_stack_guard_pages() {
121 if (! os::uses_stack_guard_pages() || _stack_guard_state != stack_guard_unused) return;
122+#ifdef __hppa__
123+ address low_addr = stack_base();
124+#else
125 address low_addr = stack_base() - stack_size();
126+#endif
127 size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
128
129 int allocate = os::allocate_stack_guard_pages();
130@@ -2131,7 +2148,11 @@
131
132 void JavaThread::remove_stack_guard_pages() {
133 if (_stack_guard_state == stack_guard_unused) return;
134+#ifdef __hppa__
135+ address low_addr = stack_base();
136+#else
137 address low_addr = stack_base() - stack_size();
138+#endif
139 size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size();
140
141 if (os::allocate_stack_guard_pages()) {
142@@ -2156,10 +2177,17 @@
143
144 // The base notation is from the stacks point of view, growing downward.
145 // We need to adjust it to work correctly with guard_memory()
146+#ifdef __hppa__
147+ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
148+
149+ guarantee(base > stack_base(),"Error calculating stack yellow zone");
150+ guarantee(base > os::current_stack_pointer(),"Error calculating stack yellow zone");
151+#else
152 address base = stack_yellow_zone_base() - stack_yellow_zone_size();
153
154 guarantee(base < stack_base(),"Error calculating stack yellow zone");
155 guarantee(base < os::current_stack_pointer(),"Error calculating stack yellow zone");
156+#endif
157
158 if (os::guard_memory((char *) base, stack_yellow_zone_size())) {
159 _stack_guard_state = stack_guard_enabled;
160@@ -2178,7 +2206,11 @@
161
162 // The base notation is from the stacks point of view, growing downward.
163 // We need to adjust it to work correctly with guard_memory()
164+#ifdef __hppa__
165+ address base = stack_yellow_zone_base() + stack_yellow_zone_size();
166+#else
167 address base = stack_yellow_zone_base() - stack_yellow_zone_size();
168+#endif
169
170 if (os::unguard_memory((char *)base, stack_yellow_zone_size())) {
171 _stack_guard_state = stack_guard_yellow_disabled;
172@@ -2192,10 +2224,17 @@
173 // The base notation is from the stacks point of view, growing downward.
174 // We need to adjust it to work correctly with guard_memory()
175 assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
176+#ifdef __hppa__
177+ address base = stack_red_zone_base() + stack_red_zone_size();
178+
179+ guarantee(base > stack_base(),"Error calculating stack red zone");
180+ guarantee(base > os::current_stack_pointer(),"Error calculating stack red zone");
181+#else
182 address base = stack_red_zone_base() - stack_red_zone_size();
183
184 guarantee(base < stack_base(),"Error calculating stack red zone");
185 guarantee(base < os::current_stack_pointer(),"Error calculating stack red zone");
186+#endif
187
188 if(!os::guard_memory((char *) base, stack_red_zone_size())) {
189 warning("Attempt to guard stack red zone failed.");
190@@ -2206,7 +2245,11 @@
191 // The base notation is from the stacks point of view, growing downward.
192 // We need to adjust it to work correctly with guard_memory()
193 assert(_stack_guard_state != stack_guard_unused, "must be using guard pages.");
194+#ifdef __hppa__
195+ address base = stack_red_zone_base() + stack_red_zone_size();
196+#else
197 address base = stack_red_zone_base() - stack_red_zone_size();
198+#endif
199 if (!os::unguard_memory((char *)base, stack_red_zone_size())) {
200 warning("Attempt to unguard stack red zone failed.");
201 }
202@@ -2451,8 +2494,13 @@
203 if (osthread()) {
204 st->print(", id=%d", osthread()->thread_id());
205 }
206+#ifdef __hppa__
207+ st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
208+ _stack_base + _stack_size, _stack_base);
209+#else
210 st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")",
211 _stack_base - _stack_size, _stack_base);
212+#endif
213 st->print("]");
214 return;
215 }
diff --git a/debian/patches/system-pcsclite.diff b/debian/patches/system-pcsclite.diff
index 16788a1..09b4ad8 100644
--- a/debian/patches/system-pcsclite.diff
+++ b/debian/patches/system-pcsclite.diff
@@ -1,6 +1,6 @@
1--- a/make/autoconf/lib-bundled.m41--- a/make/autoconf/lib-bundled.m4
2+++ b/make/autoconf/lib-bundled.m42+++ b/make/autoconf/lib-bundled.m4
3@@ -38,6 +38,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS],3@@ -38,6 +38,7 @@
4 LIB_SETUP_ZLIB4 LIB_SETUP_ZLIB
5 LIB_SETUP_LCMS5 LIB_SETUP_LCMS
6 LIB_SETUP_HARFBUZZ6 LIB_SETUP_HARFBUZZ
@@ -8,7 +8,7 @@
8 ])8 ])
9 9
10 ################################################################################10 ################################################################################
11@@ -301,3 +302,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ],11@@ -304,3 +305,41 @@
12 AC_SUBST(HARFBUZZ_CFLAGS)12 AC_SUBST(HARFBUZZ_CFLAGS)
13 AC_SUBST(HARFBUZZ_LIBS)13 AC_SUBST(HARFBUZZ_LIBS)
14 ])14 ])
@@ -52,7 +52,7 @@
52+])52+])
53--- a/make/autoconf/spec.gmk.in53--- a/make/autoconf/spec.gmk.in
54+++ b/make/autoconf/spec.gmk.in54+++ b/make/autoconf/spec.gmk.in
55@@ -768,6 +768,7 @@ ENABLE_AOT:=@ENABLE_AOT@55@@ -776,6 +776,7 @@
56 ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@56 ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@
57 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@57 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
58 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@58 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
@@ -62,7 +62,7 @@
62 LIBZ_LIBS:=@LIBZ_LIBS@62 LIBZ_LIBS:=@LIBZ_LIBS@
63--- a/make/lib/Lib-java.smartcardio.gmk63--- a/make/lib/Lib-java.smartcardio.gmk
64+++ b/make/lib/Lib-java.smartcardio.gmk64+++ b/make/lib/Lib-java.smartcardio.gmk
65@@ -30,12 +30,12 @@ include LibCommon.gmk65@@ -30,12 +30,12 @@
66 $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \66 $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
67 NAME := j2pcsc, \67 NAME := j2pcsc, \
68 CFLAGS := $(CFLAGS_JDKLIB), \68 CFLAGS := $(CFLAGS_JDKLIB), \
@@ -88,7 +88,7 @@
88 void *hModule;88 void *hModule;
89 FPTR_SCardEstablishContext scardEstablishContext;89 FPTR_SCardEstablishContext scardEstablishContext;
90 FPTR_SCardConnect scardConnect;90 FPTR_SCardConnect scardConnect;
91@@ -47,6 +48,7 @@ FPTR_SCardListReaders scardListReaders;91@@ -47,6 +48,7 @@
92 FPTR_SCardBeginTransaction scardBeginTransaction;92 FPTR_SCardBeginTransaction scardBeginTransaction;
93 FPTR_SCardEndTransaction scardEndTransaction;93 FPTR_SCardEndTransaction scardEndTransaction;
94 FPTR_SCardControl scardControl;94 FPTR_SCardControl scardControl;
@@ -96,7 +96,7 @@
96 96
97 /*97 /*
98 * Throws a Java Exception by name98 * Throws a Java Exception by name
99@@ -75,7 +77,9 @@ void throwIOException(JNIEnv *env, const99@@ -75,7 +77,9 @@
100 throwByName(env, "java/io/IOException", msg);100 throwByName(env, "java/io/IOException", msg);
101 }101 }
102 102
@@ -106,7 +106,7 @@
106 void *fAddress = dlsym(hModule, functionName);106 void *fAddress = dlsym(hModule, functionName);
107 if (fAddress == NULL) {107 if (fAddress == NULL) {
108 char errorMessage[256];108 char errorMessage[256];
109@@ -85,9 +89,11 @@ void *findFunction(JNIEnv *env, void *hM109@@ -85,9 +89,11 @@
110 }110 }
111 return fAddress;111 return fAddress;
112 }112 }
@@ -118,7 +118,7 @@
118 const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);118 const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
119 if (libName == NULL) {119 if (libName == NULL) {
120 throwNullPointerException(env, "PCSC library name is null");120 throwNullPointerException(env, "PCSC library name is null");
121@@ -141,4 +147,5 @@ JNIEXPORT void JNICALL Java_sun_security121@@ -141,4 +147,5 @@
122 #else122 #else
123 scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");123 scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132");
124 #endif // __APPLE__124 #endif // __APPLE__
@@ -135,7 +135,7 @@
135 typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,135 typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,
136 LPCVOID pvReserved1,136 LPCVOID pvReserved1,
137 LPCVOID pvReserved2,137 LPCVOID pvReserved2,
138@@ -111,3 +113,41 @@ extern FPTR_SCardListReaders scardListRe138@@ -111,3 +113,41 @@
139 extern FPTR_SCardBeginTransaction scardBeginTransaction;139 extern FPTR_SCardBeginTransaction scardBeginTransaction;
140 extern FPTR_SCardEndTransaction scardEndTransaction;140 extern FPTR_SCardEndTransaction scardEndTransaction;
141 extern FPTR_SCardControl scardControl;141 extern FPTR_SCardControl scardControl;
diff --git a/debian/patches/workaround_expand_exec_shield_cs_limit.diff b/debian/patches/workaround_expand_exec_shield_cs_limit.diff
index b161e41..fc635ec 100644
--- a/debian/patches/workaround_expand_exec_shield_cs_limit.diff
+++ b/debian/patches/workaround_expand_exec_shield_cs_limit.diff
@@ -1,6 +1,6 @@
1--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp1--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
2+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp2+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp
3@@ -863,7 +863,7 @@ void os::verify_stack_alignment() {3@@ -874,7 +874,7 @@
4 * updates (JDK-8023956).4 * updates (JDK-8023956).
5 */5 */
6 void os::workaround_expand_exec_shield_cs_limit() {6 void os::workaround_expand_exec_shield_cs_limit() {
diff --git a/debian/patches/zero-x32.diff b/debian/patches/zero-x32.diff
index ef8067c..f1cec3a 100644
--- a/debian/patches/zero-x32.diff
+++ b/debian/patches/zero-x32.diff
@@ -1,6 +1,6 @@
1--- a/src/hotspot/os/linux/os_linux.cpp1--- a/src/hotspot/os/linux/os_linux.cpp
2+++ b/src/hotspot/os/linux/os_linux.cpp2+++ b/src/hotspot/os/linux/os_linux.cpp
3@@ -1906,7 +1906,7 @@ void * os::dll_load(const char *filename3@@ -1909,7 +1909,7 @@
4 4
5 #if (defined IA32)5 #if (defined IA32)
6 static Elf32_Half running_arch_code=EM_386;6 static Elf32_Half running_arch_code=EM_386;
@@ -11,7 +11,7 @@
11 static Elf32_Half running_arch_code=EM_IA_64;11 static Elf32_Half running_arch_code=EM_IA_64;
12--- a/make/autoconf/platform.m412--- a/make/autoconf/platform.m4
13+++ b/make/autoconf/platform.m413+++ b/make/autoconf/platform.m4
14@@ -35,6 +35,10 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU14@@ -35,6 +35,10 @@
15 VAR_CPU_ARCH=x8615 VAR_CPU_ARCH=x86
16 VAR_CPU_BITS=6416 VAR_CPU_BITS=64
17 VAR_CPU_ENDIAN=little17 VAR_CPU_ENDIAN=little
@@ -22,7 +22,7 @@
22 ;;22 ;;
23 i?86)23 i?86)
24 VAR_CPU=x8624 VAR_CPU=x86
25@@ -546,6 +550,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HEL25@@ -546,6 +550,8 @@
26 HOTSPOT_$1_CPU_DEFINE=IA3226 HOTSPOT_$1_CPU_DEFINE=IA32
27 elif test "x$OPENJDK_$1_CPU" = xx86_64; then27 elif test "x$OPENJDK_$1_CPU" = xx86_64; then
28 HOTSPOT_$1_CPU_DEFINE=AMD6428 HOTSPOT_$1_CPU_DEFINE=AMD64
diff --git a/debian/rules b/debian/rules
index 56b8a4f..b012c83 100755
--- a/debian/rules
+++ b/debian/rules
@@ -151,7 +151,7 @@ ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
151 NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))151 NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
152endif152endif
153153
154ifneq (,$(filter $(distrel), focal jammy kinetic))154ifneq (,$(filter $(distrel), focal jammy kinetic lunar))
155 jtreg_pkg = jtreg6155 jtreg_pkg = jtreg6
156else ifneq (,$(filter $(distrel), sid bookworm bullseye))156else ifneq (,$(filter $(distrel), sid bookworm bullseye))
157 jtreg_pkg = jtreg157 jtreg_pkg = jtreg
@@ -1247,7 +1247,7 @@ install: packaging-files
12471247
1248 chmod -R u+w $(d)1248 chmod -R u+w $(d)
12491249
1250 : # use javaws from icedtea-netx 1250 : # use javaws from icedtea-netx
1251 find $(d) -name 'javaws*' | xargs -r rm -f1251 find $(d) -name 'javaws*' | xargs -r rm -f
12521252
1253 : # install default jvm config file1253 : # install default jvm config file
diff --git a/debian/watch b/debian/watch
index 61a97f0..af7b83f 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,4 +1,4 @@
1version=41version=4
2opts="filenamemangle=s%(?:.*?)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz%<project>-$1.tar.gz%, dversionmangle=s/~/+/" \2opts="filenamemangle=s%(?:.*?)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz%<project>-$1.tar.gz%, dversionmangle=s/~/+/" \
3 https://github.com/openjdk/jdk11u-dev/tags \3 https://github.com/openjdk/jdk11u/tags \
4 (?:.*?/)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz debian uupdate4 (?:.*?/)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz debian uupdate
diff --git a/doc/building.html b/doc/building.html
index a25fe0d..7d6f18c 100644
--- a/doc/building.html
+++ b/doc/building.html
@@ -195,7 +195,7 @@
195<h3 id="windows">Windows</h3>195<h3 id="windows">Windows</h3>
196<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>196<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
197<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>197<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
198<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>198<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>
199<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>199<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>
200<h4 id="cygwin">Cygwin</h4>200<h4 id="cygwin">Cygwin</h4>
201<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>201<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>
@@ -362,6 +362,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
362<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>362<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
363<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>363<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>
364<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>364<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>
365<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>
365<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>366<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>
366<h3 id="ibm-xl-cc">IBM XL C/C++</h3>367<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
367<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>368<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>
@@ -943,6 +944,8 @@ Clock skew detected. Your build may be incomplete.</code></pre>
943cannot create ... Permission denied944cannot create ... Permission denied
944spawn failed</code></pre>945spawn failed</code></pre>
945<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>946<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>
947<h4 id="spaces-in-path">Spaces in Path</h4>
948<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>
946<h3 id="getting-help">Getting Help</h3>949<h3 id="getting-help">Getting Help</h3>
947<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>950<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>
948<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>951<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>
diff --git a/doc/building.md b/doc/building.md
index d4914ad..55cd791 100644
--- a/doc/building.md
+++ b/doc/building.md
@@ -177,10 +177,9 @@ On Windows, it is important that you pay attention to the instructions in the
177177
178Windows is the only non-POSIX OS supported by the JDK, and as such, requires178Windows is the only non-POSIX OS supported by the JDK, and as such, requires
179some extra care. A POSIX support layer is required to build on Windows.179some extra care. A POSIX support layer is required to build on Windows.
180Currently, the only supported such layer is Cygwin. (Msys is no longer180Currently, the only supported such layers are Cygwin and MSYS2. (MSYS is no longer
181supported due to a too old bash; msys2 and the new Windows Subsystem for Linux181supported due to an outdated bash; While OpenJDK can be built with MSYS2,
182(WSL) would likely be possible to support in a future version but that would182support for it is still experimental, so build failures and unusual errors are not uncommon.)
183require effort to implement.)
184183
185Internally in the build system, all paths are represented as Unix-style paths,184Internally in the build system, all paths are represented as Unix-style paths,
186e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This185e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
@@ -403,6 +402,9 @@ specific installation order. However, the solution suggested by the KB article
403does not always resolve the problem. See [this stackoverflow discussion](402does not always resolve the problem. See [this stackoverflow discussion](
404https://stackoverflow.com/questions/10888391) for other suggestions.403https://stackoverflow.com/questions/10888391) for other suggestions.
405404
405If you have Visual Studio installed but `configure` fails to detect it, it may
406be because of [spaces in path](#spaces-in-path).
407
406### IBM XL C/C++408### IBM XL C/C++
407409
408The regular builds by SAP is using version 12.1, described as `IBM XL C/C++ for410The regular builds by SAP is using version 12.1, described as `IBM XL C/C++ for
@@ -1510,6 +1512,15 @@ This can be a sign of a Cygwin problem. See the information about solving
1510problems in the [Cygwin](#cygwin) section. Rebooting the computer might help1512problems in the [Cygwin](#cygwin) section. Rebooting the computer might help
1511temporarily.1513temporarily.
15121514
1515#### Spaces in Path
1516
1517On Windows, when configuring, `fixpath.sh` may report that some directory
1518names have spaces. Usually, it assumes those directories have
1519[short paths](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name).
1520You can run `fsutil file setshortname` in `cmd` on certain directories, such as
1521`Microsoft Visual Studio` or `Windows Kits`, to assign arbitrary short paths so
1522`configure` can access them.
1523
1513### Getting Help1524### Getting Help
15141525
1515If none of the suggestions in this document helps you, or if you find what you1526If none of the suggestions in this document helps you, or if you find what you
diff --git a/make/CreateJmods.gmk b/make/CreateJmods.gmk
index c2a8b8b..de068ec 100644
--- a/make/CreateJmods.gmk
+++ b/make/CreateJmods.gmk
@@ -173,6 +173,11 @@ else # not java.base
173 JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'173 JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'
174 endif174 endif
175 endif175 endif
176 ifneq ($(VCRUNTIME_1_DLL), )
177 ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(VCRUNTIME_1_DLL))), )
178 JMOD_FLAGS += --exclude '$(notdir $(VCRUNTIME_1_DLL))'
179 endif
180 endif
176 ifneq ($(MSVCP_DLL), )181 ifneq ($(MSVCP_DLL), )
177 ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCP_DLL))), )182 ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCP_DLL))), )
178 JMOD_FLAGS += --exclude '$(notdir $(MSVCP_DLL))'183 JMOD_FLAGS += --exclude '$(notdir $(MSVCP_DLL))'
diff --git a/make/GenerateLinkOptData.gmk b/make/GenerateLinkOptData.gmk
index fa55ce2..7a98cb3 100644
--- a/make/GenerateLinkOptData.gmk
+++ b/make/GenerateLinkOptData.gmk
@@ -57,7 +57,7 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
57 INTERIM_IMAGE_DIR := $(BUILD_JDK)57 INTERIM_IMAGE_DIR := $(BUILD_JDK)
58endif58endif
5959
60$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)60$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
61 $(call MakeDir, $(LINK_OPT_DIR))61 $(call MakeDir, $(LINK_OPT_DIR))
62 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))62 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
63 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))63 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
@@ -72,7 +72,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
72# dependencies, make will correctly rebuild both jli trace and classlist72# dependencies, make will correctly rebuild both jli trace and classlist
73# incrementally using the single recipe above.73# incrementally using the single recipe above.
74$(CLASSLIST_FILE): $(JLI_TRACE_FILE)74$(CLASSLIST_FILE): $(JLI_TRACE_FILE)
75$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)75$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
7676
77TARGETS += $(CLASSLIST_FILE) $(JLI_TRACE_FILE)77TARGETS += $(CLASSLIST_FILE) $(JLI_TRACE_FILE)
7878
diff --git a/make/InterimImage.gmk b/make/InterimImage.gmk
index af7ae90..bb4b1fc 100644
--- a/make/InterimImage.gmk
+++ b/make/InterimImage.gmk
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@ include Modules.gmk
32################################################################################32################################################################################
3333
34# Use this file inside the image as target for make rule34# Use this file inside the image as target for make rule
35JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)35JIMAGE_TARGET_FILE := bin/java$(EXECUTABLE_SUFFIX)
3636
37INTERIM_MODULES_LIST := $(call CommaList, $(INTERIM_IMAGE_MODULES))37INTERIM_MODULES_LIST := $(call CommaList, $(INTERIM_IMAGE_MODULES))
3838
diff --git a/make/RunTests.gmk b/make/RunTests.gmk
index f8b0a94..0c998c2 100644
--- a/make/RunTests.gmk
+++ b/make/RunTests.gmk
@@ -60,18 +60,13 @@ define SetTestOpt
60 endif60 endif
61endef61endef
6262
63# Setup _NT_SYMBOL_PATH on Windows63# Setup _NT_SYMBOL_PATH on Windows, which points to our pdb files.
64ifeq ($(OPENJDK_TARGET_OS), windows)64ifeq ($(OPENJDK_TARGET_OS), windows)
65 ifndef _NT_SYMBOL_PATH65 ifndef _NT_SYMBOL_PATH
66 # Can't use PathList here as it adds quotes around the value.66 SYMBOL_PATH := $(call PathList, $(sort $(patsubst %/, %, $(dir $(wildcard \
67 _NT_SYMBOL_PATH := \67 $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb))))))
68 $(subst $(SPACE),;,$(strip \68 export _NT_SYMBOL_PATH := $(subst \\,\, $(call FixPath, \
69 $(foreach p, $(sort $(dir $(wildcard \69 $(subst $(DQUOTE),, $(SYMBOL_PATH))))
70 $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \
71 $(call FixPath, $p) \
72 ) \
73 ))
74 export _NT_SYMBOL_PATH
75 $(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH))70 $(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH))
76 endif71 endif
77endif72endif
diff --git a/make/RunTestsPrebuilt.gmk b/make/RunTestsPrebuilt.gmk
index 63af249..8cd4ca5 100644
--- a/make/RunTestsPrebuilt.gmk
+++ b/make/RunTestsPrebuilt.gmk
@@ -209,15 +209,9 @@ else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
209endif209endif
210210
211ifeq ($(OPENJDK_TARGET_OS), windows)211ifeq ($(OPENJDK_TARGET_OS), windows)
212 ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )212 FIXPATH := $(BASH) $(TOPDIR)/make/scripts/fixpath.sh exec
213 $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
214 $(error Cannot continue.)
215 endif
216 FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
217 PATH_SEP:=;
218else213else
219 FIXPATH :=214 FIXPATH :=
220 PATH_SEP:=:
221endif215endif
222216
223# Check number of cores and memory in MB217# Check number of cores and memory in MB
@@ -301,7 +295,6 @@ $(call CreateNewSpec, $(NEW_SPEC), \
301 BASH := $(BASH), \295 BASH := $(BASH), \
302 JIB_JAR := $(JIB_JAR), \296 JIB_JAR := $(JIB_JAR), \
303 FIXPATH := $(FIXPATH), \297 FIXPATH := $(FIXPATH), \
304 PATH_SEP := $(PATH_SEP), \
305 OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \298 OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \
306 OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \299 OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \
307 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \300 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \
diff --git a/make/RunTestsPrebuiltSpec.gmk b/make/RunTestsPrebuiltSpec.gmk
index c4d08d1..eb6a91a 100644
--- a/make/RunTestsPrebuiltSpec.gmk
+++ b/make/RunTestsPrebuiltSpec.gmk
@@ -116,7 +116,6 @@ JAVAC_CMD := $(BOOT_JDK)/bin/javac
116JAR_CMD := $(BOOT_JDK)/bin/jar116JAR_CMD := $(BOOT_JDK)/bin/jar
117JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink117JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
118JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod118JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
119JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner
120119
121JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)120JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
122JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)121JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
@@ -125,7 +124,6 @@ JAVAC := $(FIXPATH) $(JAVAC_CMD)
125JAR := $(FIXPATH) $(JAR_CMD)124JAR := $(FIXPATH) $(JAR_CMD)
126JLINK := $(FIXPATH) $(JLINK_CMD)125JLINK := $(FIXPATH) $(JLINK_CMD)
127JMOD := $(FIXPATH) $(JMOD_CMD)126JMOD := $(FIXPATH) $(JMOD_CMD)
128JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
129127
130BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA128BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
131################################################################################129################################################################################
@@ -167,7 +165,6 @@ TAIL := tail
167TEE := tee165TEE := tee
168TR := tr166TR := tr
169TOUCH := touch167TOUCH := touch
170UNIQ := uniq
171WC := wc168WC := wc
172XARGS := xargs169XARGS := xargs
173ZIPEXE := zip170ZIPEXE := zip
@@ -188,7 +185,7 @@ ifeq ($(OPENJDK_BUILD_OS), solaris)
188endif185endif
189186
190ifeq ($(OPENJDK_BUILD_OS), windows)187ifeq ($(OPENJDK_BUILD_OS), windows)
191 CYGPATH := cygpath188 PATHTOOL := cygpath
192endif189endif
193190
194################################################################################191################################################################################
diff --git a/make/TestImage.gmk b/make/TestImage.gmk
index 059a1d9..d5ef69f 100644
--- a/make/TestImage.gmk
+++ b/make/TestImage.gmk
@@ -30,13 +30,6 @@ include MakeBase.gmk
3030
31############################################################################31############################################################################
3232
33ifeq ($(OPENJDK_TARGET_OS), windows)
34 FIXPATH_COPY := $(TEST_IMAGE_DIR)/bin/fixpath.exe
35
36 $(FIXPATH_COPY): $(firstword $(FIXPATH))
37 $(call install-file)
38endif
39
40BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties33BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
4134
42FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))35FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
@@ -44,10 +37,10 @@ FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
44$(BUILD_INFO_PROPERTIES):37$(BUILD_INFO_PROPERTIES):
45 $(call MakeTargetDir)38 $(call MakeTargetDir)
46 $(ECHO) "# Build info properties for JDK tests" > $@39 $(ECHO) "# Build info properties for JDK tests" > $@
47 $(FIXPATH_ECHO) "build.workspace.root=$(WORKSPACE_ROOT)" >> $@40 $(ECHO) "build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))" >> $@
48 $(FIXPATH_ECHO) "build.output.root=$(OUTPUTDIR)" >> $@41 $(ECHO) "build.output.root=$(call FixPath, $(OUTPUTDIR))" >> $@
4942
50prepare-test-image: $(FIXPATH_COPY) $(BUILD_INFO_PROPERTIES)43prepare-test-image: $(BUILD_INFO_PROPERTIES)
51 $(call MakeDir, $(TEST_IMAGE_DIR))44 $(call MakeDir, $(TEST_IMAGE_DIR))
52 $(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'45 $(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'
5346
diff --git a/make/autoconf/basic.m4 b/make/autoconf/basic.m4
54new file mode 10064447new file mode 100644
index 0000000..a3a4e13
--- /dev/null
+++ b/make/autoconf/basic.m4
@@ -0,0 +1,542 @@
1#
2# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26m4_include([basic_tools.m4])
27m4_include([basic_windows.m4])
28
29###############################################################################
30AC_DEFUN_ONCE([BASIC_INIT],
31[
32 # Save the original command line. This is passed to us by the wrapper configure script.
33 AC_SUBST(CONFIGURE_COMMAND_LINE)
34 # AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
35 AC_SUBST(AUTOCONF)
36 # Save the path variable before it gets changed
37 ORIGINAL_PATH="$PATH"
38 AC_SUBST(ORIGINAL_PATH)
39 DATE_WHEN_CONFIGURED=`date`
40 AC_SUBST(DATE_WHEN_CONFIGURED)
41 AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
42])
43
44###############################################################################
45# Check that there are no unprocessed overridden variables left.
46# If so, they are an incorrect argument and we will exit with an error.
47AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
48[
49 if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
50 # Replace the separating ! with spaces before presenting for end user.
51 unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
52 AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
53 fi
54])
55
56###############################################################################
57# Setup basic configuration paths, and platform-specific stuff related to PATHs.
58AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
59[
60 # Save the current directory this script was started from
61 CONFIGURE_START_DIR="$PWD"
62
63 # We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
64 # for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
65 # was not available at that time.
66 REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
67 if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
68 ORIGINAL_PATH="$REWRITTEN_PATH"
69 AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
70 fi
71
72 if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
73 BASIC_SETUP_PATHS_WINDOWS
74 fi
75
76 # We get the top-level directory from the supporting wrappers.
77 BASIC_WINDOWS_VERIFY_DIR($TOPDIR, source)
78 UTIL_FIXUP_PATH(TOPDIR)
79 AC_MSG_CHECKING([for top-level directory])
80 AC_MSG_RESULT([$TOPDIR])
81 AC_SUBST(TOPDIR)
82
83 if test "x$CUSTOM_ROOT" != x; then
84 BASIC_WINDOWS_VERIFY_DIR($CUSTOM_ROOT, custom root)
85 UTIL_FIXUP_PATH(CUSTOM_ROOT)
86 WORKSPACE_ROOT="${CUSTOM_ROOT}"
87 else
88 WORKSPACE_ROOT="${TOPDIR}"
89 fi
90 AC_SUBST(WORKSPACE_ROOT)
91
92 # We can only call UTIL_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
93 UTIL_FIXUP_PATH(CONFIGURE_START_DIR)
94 UTIL_FIXUP_PATH(TOPDIR)
95
96 AC_SUBST(CONFIGURE_START_DIR)
97
98 # Locate the directory of this script.
99 AUTOCONF_DIR=$TOPDIR/make/autoconf
100
101 # Setup username (for use in adhoc version strings etc)
102 # Outer [ ] to quote m4.
103 [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
104 AC_SUBST(USERNAME)
105])
106
107###############################################################################
108# Evaluates platform specific overrides for devkit variables.
109# $1: Name of variable
110AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
111[
112 if test "x[$]$1" = x; then
113 eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
114 fi
115])
116
117###############################################################################
118# Evaluates platform specific overrides for build devkit variables.
119# $1: Name of variable
120AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
121[
122 if test "x[$]$1" = x; then
123 eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
124 fi
125])
126
127###############################################################################
128AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
129[
130 AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
131 [use this devkit for compilers, tools and resources])])
132
133 if test "x$with_devkit" = xyes; then
134 AC_MSG_ERROR([--with-devkit must have a value])
135 elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
136 UTIL_FIXUP_PATH([with_devkit])
137 DEVKIT_ROOT="$with_devkit"
138 # Check for a meta data info file in the root of the devkit
139 if test -f "$DEVKIT_ROOT/devkit.info"; then
140 . $DEVKIT_ROOT/devkit.info
141 # This potentially sets the following:
142 # A descriptive name of the devkit
143 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_NAME])
144 # Corresponds to --with-extra-path
145 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_EXTRA_PATH])
146 # Corresponds to --with-toolchain-path
147 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_TOOLCHAIN_PATH])
148 # Corresponds to --with-sysroot
149 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_SYSROOT])
150
151 # Identifies the Visual Studio version in the devkit
152 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_VERSION])
153 # The Visual Studio include environment variable
154 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_INCLUDE])
155 # The Visual Studio lib environment variable
156 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
157 # Corresponds to --with-msvcr-dll
158 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
159 # Corresponds to --with-vcruntime-1-dll
160 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VCRUNTIME_1_DLL])
161 # Corresponds to --with-msvcp-dll
162 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
163 # Corresponds to --with-ucrt-dll-dir
164 BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_UCRT_DLL_DIR])
165 fi
166
167 AC_MSG_CHECKING([for devkit])
168 if test "x$DEVKIT_NAME" != x; then
169 AC_MSG_RESULT([$DEVKIT_NAME in $DEVKIT_ROOT])
170 else
171 AC_MSG_RESULT([$DEVKIT_ROOT])
172 fi
173
174 UTIL_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
175
176 # Fallback default of just /bin if DEVKIT_PATH is not defined
177 if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
178 DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin"
179 fi
180 UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$DEVKIT_TOOLCHAIN_PATH)
181
182 # If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known
183 # places for backwards compatiblity.
184 if test "x$DEVKIT_SYSROOT" != x; then
185 SYSROOT="$DEVKIT_SYSROOT"
186 elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then
187 SYSROOT="$DEVKIT_ROOT/$host_alias/libc"
188 elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
189 SYSROOT="$DEVKIT_ROOT/$host/sys-root"
190 fi
191
192 if test "x$DEVKIT_ROOT" != x; then
193 DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
194 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
195 DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
196 fi
197 AC_SUBST(DEVKIT_LIB_DIR)
198 fi
199 fi
200
201 # You can force the sysroot if the sysroot encoded into the compiler tools
202 # is not correct.
203 AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
204 [alias for --with-sysroot for backwards compatability])],
205 [SYSROOT=$with_sys_root]
206 )
207
208 AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
209 [use this directory as sysroot])],
210 [SYSROOT=$with_sysroot]
211 )
212
213 AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
214 [alias for --with-toolchain-path for backwards compatibility])],
215 [UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
216 )
217
218 AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
219 [prepend these directories when searching for toolchain binaries (compilers etc)])],
220 [UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
221 )
222
223 AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
224 [prepend these directories to the default path])],
225 [UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
226 )
227
228 if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
229 # If a devkit has been supplied, find xcodebuild in the toolchain_path.
230 # If not, detect if Xcode is installed by running xcodebuild -version
231 # if no Xcode installed, xcodebuild exits with 1
232 # if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
233 if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
234 # We need to use xcodebuild in the toolchain dir provided by the user
235 UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
236 if test x$XCODEBUILD = x; then
237 # fall back on the stub binary in /usr/bin/xcodebuild
238 XCODEBUILD=/usr/bin/xcodebuild
239 fi
240 else
241 # this should result in SYSROOT being empty, unless --with-sysroot is provided
242 # when only the command line tools are installed there are no SDKs, so headers
243 # are copied into the system frameworks
244 XCODEBUILD=
245 AC_SUBST(XCODEBUILD)
246 fi
247
248 AC_MSG_CHECKING([for sdk name])
249 AC_ARG_WITH([sdk-name], [AS_HELP_STRING([--with-sdk-name],
250 [use the platform SDK of the given name. @<:@macosx@:>@])],
251 [SDKNAME=$with_sdk_name]
252 )
253 AC_MSG_RESULT([$SDKNAME])
254
255 # if toolchain path is specified then don't rely on system headers, they may not compile
256 HAVE_SYSTEM_FRAMEWORK_HEADERS=0
257 test -z "$TOOLCHAIN_PATH" && \
258 HAVE_SYSTEM_FRAMEWORK_HEADERS=`test ! -f /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h; echo $?`
259
260 if test -z "$SYSROOT"; then
261 if test -n "$XCODEBUILD"; then
262 # if we don't have system headers, use default SDK name (last resort)
263 if test -z "$SDKNAME" -a $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
264 SDKNAME=${SDKNAME:-macosx}
265 fi
266
267 if test -n "$SDKNAME"; then
268 # Call xcodebuild to determine SYSROOT
269 SYSROOT=`"$XCODEBUILD" -sdk $SDKNAME -version | $GREP '^Path: ' | $SED 's/Path: //'`
270 fi
271 else
272 if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
273 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])
274 fi
275 fi
276 else
277 # warn user if --with-sdk-name was also set
278 if test -n "$with_sdk_name"; then
279 AC_MSG_WARN([Both SYSROOT and --with-sdk-name are set, only SYSROOT will be used])
280 fi
281 fi
282
283 if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0 -a -z "$SYSROOT"; then
284 # If no system framework headers, then SYSROOT must be set, or we won't build
285 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.])
286 fi
287
288 # Perform a basic sanity test
289 if test ! -f "$SYSROOT/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h"; then
290 if test -z "$SYSROOT"; then
291 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])
292 else
293 AC_MSG_ERROR([Invalid SDK or SYSROOT path, dependent framework headers not found])
294 fi
295 fi
296
297 # set SDKROOT too, Xcode tools will pick it up
298 SDKROOT="$SYSROOT"
299 AC_SUBST(SDKROOT)
300 fi
301
302 # Prepend the extra path to the global path
303 UTIL_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
304
305 AC_MSG_CHECKING([for sysroot])
306 AC_MSG_RESULT([$SYSROOT])
307 AC_MSG_CHECKING([for toolchain path])
308 AC_MSG_RESULT([$TOOLCHAIN_PATH])
309 AC_SUBST(TOOLCHAIN_PATH)
310 AC_MSG_CHECKING([for extra path])
311 AC_MSG_RESULT([$EXTRA_PATH])
312])
313
314###############################################################################
315AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
316[
317
318 AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
319 [use this as the name of the configuration @<:@generated from important configuration options@:>@])],
320 [ CONF_NAME=${with_conf_name} ])
321
322 # Test from where we are running configure, in or outside of src root.
323 AC_MSG_CHECKING([where to store configuration])
324 if test "x$CONFIGURE_START_DIR" = "x$TOPDIR" \
325 || test "x$CONFIGURE_START_DIR" = "x$CUSTOM_ROOT" \
326 || test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make/autoconf" \
327 || test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make" ; then
328 # We are running configure from the src root.
329 # Create a default ./build/target-variant-debuglevel output root.
330 if test "x${CONF_NAME}" = x; then
331 AC_MSG_RESULT([in default location])
332 CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
333 else
334 AC_MSG_RESULT([in build directory with custom name])
335 fi
336
337 OUTPUTDIR="${WORKSPACE_ROOT}/build/${CONF_NAME}"
338 $MKDIR -p "$OUTPUTDIR"
339 if test ! -d "$OUTPUTDIR"; then
340 AC_MSG_ERROR([Could not create build directory $OUTPUTDIR])
341 fi
342 else
343 # We are running configure from outside of the src dir.
344 # Then use the current directory as output dir!
345 # If configuration is situated in normal build directory, just use the build
346 # directory name as configuration name, otherwise use the complete path.
347 if test "x${CONF_NAME}" = x; then
348 CONF_NAME=`$ECHO $CONFIGURE_START_DIR | $SED -e "s!^${TOPDIR}/build/!!"`
349 fi
350 OUTPUTDIR="$CONFIGURE_START_DIR"
351 AC_MSG_RESULT([in current directory])
352
353 # WARNING: This might be a bad thing to do. You need to be sure you want to
354 # have a configuration in this directory. Do some sanity checks!
355
356 if test ! -e "$OUTPUTDIR/spec.gmk"; then
357 # If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
358 # other files
359 files_present=`$LS $OUTPUTDIR`
360 # Configure has already touched config.log and confdefs.h in the current dir when this check
361 # is performed.
362 filtered_files=`$ECHO "$files_present" \
363 | $SED -e 's/config.log//g' \
364 -e 's/configure.log//g' \
365 -e 's/confdefs.h//g' \
366 -e 's/configure-support//g' \
367 -e 's/ //g' \
368 | $TR -d '\n'`
369 if test "x$filtered_files" != x; then
370 AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
371 AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
372 AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
373 AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
374 AC_MSG_NOTICE([seriously mess up just about everything.])
375 AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
376 AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
377 AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
378 fi
379 fi
380 fi
381 AC_MSG_CHECKING([what configuration name to use])
382 AC_MSG_RESULT([$CONF_NAME])
383
384 BASIC_WINDOWS_VERIFY_DIR($OUTPUTDIR, output)
385 UTIL_FIXUP_PATH(OUTPUTDIR)
386
387 CONFIGURESUPPORT_OUTPUTDIR="$OUTPUTDIR/configure-support"
388 $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
389
390 SPEC="$OUTPUTDIR/spec.gmk"
391 AC_SUBST(SPEC)
392 AC_SUBST(CONF_NAME)
393 AC_SUBST(OUTPUTDIR)
394 AC_SUBST(CONFIGURESUPPORT_OUTPUTDIR)
395
396 # The spec.gmk file contains all variables for the make system.
397 AC_CONFIG_FILES([$OUTPUTDIR/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
398 # The bootcycle-spec.gmk file contains support for boot cycle builds.
399 AC_CONFIG_FILES([$OUTPUTDIR/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
400 # The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
401 AC_CONFIG_FILES([$OUTPUTDIR/buildjdk-spec.gmk:$AUTOCONF_DIR/buildjdk-spec.gmk.in])
402 # The compare.sh is used to compare the build output to other builds.
403 AC_CONFIG_FILES([$OUTPUTDIR/compare.sh:$AUTOCONF_DIR/compare.sh.in])
404 # The generated Makefile knows where the spec.gmk is and where the source is.
405 # You can run make from the OUTPUTDIR, or from the top-level Makefile
406 # which will look for generated configurations
407 AC_CONFIG_FILES([$OUTPUTDIR/Makefile:$AUTOCONF_DIR/Makefile.in])
408])
409
410###############################################################################
411# Check if build directory is on local disk. If not possible to determine,
412# we prefer to claim it's local.
413# Argument 1: directory to test
414# Argument 2: what to do if it is on local disk
415# Argument 3: what to do otherwise (remote disk or failure)
416AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
417[
418 # df -l lists only local disks; if the given directory is not found then
419 # a non-zero exit code is given
420 if test "x$DF" = x; then
421 # No df here, say it's local
422 $2
423 else
424 # JDK-8189619
425 # df on AIX does not understand -l. On modern AIXes it understands "-T local" which
426 # is the same. On older AIXes we just continue to live with a "not local build" warning.
427 if test "x$OPENJDK_TARGET_OS" = xaix; then
428 DF_LOCAL_ONLY_OPTION='-T local'
429 else
430 DF_LOCAL_ONLY_OPTION='-l'
431 fi
432 if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
433 $2
434 else
435 # In WSL, local Windows drives are considered remote by df, but we are
436 # required to build into a directory accessible from windows, so consider
437 # them local here.
438 $3
439 fi
440 fi
441])
442
443###############################################################################
444# Check that source files have basic read permissions set. This might
445# not be the case in cygwin in certain conditions.
446AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
447[
448 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
449 file_to_test="$TOPDIR/LICENSE"
450 if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
451 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.])
452 fi
453 fi
454])
455
456###############################################################################
457AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
458[
459 AC_MSG_CHECKING([if build directory is on local disk])
460 BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUTDIR,
461 [OUTPUT_DIR_IS_LOCAL="yes"],
462 [OUTPUT_DIR_IS_LOCAL="no"])
463 AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
464
465 BASIC_CHECK_SRC_PERMS
466
467 # Check if the user has any old-style ALT_ variables set.
468 FOUND_ALT_VARIABLES=`env | grep ^ALT_`
469
470 # Before generating output files, test if they exist. If they do, this is a reconfigure.
471 # Since we can't properly handle the dependencies for this, warn the user about the situation
472 if test -e $OUTPUTDIR/spec.gmk; then
473 IS_RECONFIGURE=yes
474 else
475 IS_RECONFIGURE=no
476 fi
477])
478
479################################################################################
480#
481# Default make target
482#
483AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_MAKE_TARGET],
484[
485 AC_ARG_WITH(default-make-target, [AS_HELP_STRING([--with-default-make-target],
486 [set the default make target @<:@exploded-image@:>@])])
487 if test "x$with_default_make_target" = "x" \
488 || test "x$with_default_make_target" = "xyes"; then
489 DEFAULT_MAKE_TARGET="exploded-image"
490 elif test "x$with_default_make_target" = "xno"; then
491 AC_MSG_ERROR([--without-default-make-target is not a valid option])
492 else
493 DEFAULT_MAKE_TARGET="$with_default_make_target"
494 fi
495
496 AC_SUBST(DEFAULT_MAKE_TARGET)
497])
498
499###############################################################################
500# Setup the default value for LOG=
501#
502AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_LOG],
503[
504 AC_ARG_WITH(log, [AS_HELP_STRING([--with-log],
505 [[default vaue for make LOG argument [warn]]])])
506 AC_MSG_CHECKING([for default LOG value])
507 if test "x$with_log" = x; then
508 DEFAULT_LOG=""
509 else
510 # Syntax for valid LOG options is a bit too complex for it to be worth
511 # implementing a test for correctness in configure. Just accept it.
512 DEFAULT_LOG=$with_log
513 fi
514 AC_MSG_RESULT([$DEFAULT_LOG])
515 AC_SUBST(DEFAULT_LOG)
516])
517
518###############################################################################
519# Code to run after AC_OUTPUT
520AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT],
521[
522 # Try to move config.log (generated by autoconf) to the configure-support directory.
523 if test -e ./config.log; then
524 $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
525 fi
526
527 # Rotate our log file (configure.log)
528 if test -e "$OUTPUTDIR/configure.log.old"; then
529 $RM -f "$OUTPUTDIR/configure.log.old"
530 fi
531 if test -e "$OUTPUTDIR/configure.log"; then
532 $MV -f "$OUTPUTDIR/configure.log" "$OUTPUTDIR/configure.log.old" 2> /dev/null
533 fi
534
535 # Move configure.log from current directory to the build output root
536 if test -e ./configure.log; then
537 $MV -f ./configure.log "$OUTPUTDIR/configure.log" 2> /dev/null
538 fi
539
540 # Make the compare script executable
541 $CHMOD +x $OUTPUTDIR/compare.sh
542])
diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4
0new file mode 100644543new file mode 100644
index 0000000..c39b87d
--- /dev/null
+++ b/make/autoconf/basic_tools.m4
@@ -0,0 +1,480 @@
1#
2# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26###############################################################################
27# Setup the most fundamental tools that relies on not much else to set up,
28# but is used by much of the early bootstrap code.
29AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
30[
31 # Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
32 AC_PATH_PROGS(BASENAME, basename)
33 UTIL_CHECK_NONEMPTY(BASENAME)
34 AC_PATH_PROGS(DIRNAME, dirname)
35 UTIL_CHECK_NONEMPTY(DIRNAME)
36 AC_PATH_PROGS(FILE, file)
37 UTIL_CHECK_NONEMPTY(FILE)
38 AC_PATH_PROGS(LDD, ldd)
39
40 # First are all the fundamental required tools.
41 UTIL_REQUIRE_PROGS(BASH, bash)
42 UTIL_REQUIRE_PROGS(CAT, cat)
43 UTIL_REQUIRE_PROGS(CHMOD, chmod)
44 UTIL_REQUIRE_PROGS(CP, cp)
45 UTIL_REQUIRE_PROGS(CUT, cut)
46 UTIL_REQUIRE_PROGS(DATE, date)
47 UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
48 UTIL_REQUIRE_PROGS(ECHO, echo)
49 UTIL_REQUIRE_PROGS(EXPR, expr)
50 UTIL_REQUIRE_PROGS(FIND, find)
51 UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
52 UTIL_REQUIRE_PROGS(GZIP, pigz gzip)
53 UTIL_REQUIRE_PROGS(HEAD, head)
54 UTIL_REQUIRE_PROGS(LN, ln)
55 UTIL_REQUIRE_PROGS(LS, ls)
56 # gmkdir is known to be safe for concurrent invocations with -p flag.
57 UTIL_REQUIRE_PROGS(MKDIR, gmkdir mkdir)
58 UTIL_REQUIRE_PROGS(MKTEMP, mktemp)
59 UTIL_REQUIRE_PROGS(MV, mv)
60 UTIL_REQUIRE_PROGS(NAWK, nawk gawk awk)
61 UTIL_REQUIRE_PROGS(PRINTF, printf)
62 UTIL_REQUIRE_PROGS(RM, rm)
63 UTIL_REQUIRE_PROGS(RMDIR, rmdir)
64 UTIL_REQUIRE_PROGS(SH, sh)
65 UTIL_REQUIRE_PROGS(SORT, sort)
66 UTIL_REQUIRE_PROGS(TAIL, tail)
67 UTIL_REQUIRE_PROGS(TAR, gtar tar)
68 UTIL_REQUIRE_PROGS(TEE, tee)
69 UTIL_REQUIRE_PROGS(TOUCH, touch)
70 UTIL_REQUIRE_PROGS(TR, tr)
71 UTIL_REQUIRE_PROGS(UNAME, uname)
72 UTIL_REQUIRE_PROGS(WC, wc)
73 UTIL_REQUIRE_PROGS(WHICH, which)
74 UTIL_REQUIRE_PROGS(XARGS, xargs)
75
76 # Then required tools that require some special treatment.
77 UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
78 UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
79 UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
80 UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
81 UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
82
83 # Optional tools, we can do without them
84 UTIL_LOOKUP_PROGS(DF, df)
85 UTIL_LOOKUP_PROGS(NICE, nice)
86 UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
87
88 # These are only needed on some platforms
89 UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
90 UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
91 UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
92
93 # For compare.sh only
94 UTIL_LOOKUP_PROGS(CMP, cmp)
95 UTIL_LOOKUP_PROGS(UNIQ, uniq)
96
97 # Always force rm.
98 RM="$RM -f"
99])
100
101###############################################################################
102# Check if we have found a usable version of make
103# $1: the path to a potential make binary (or empty)
104# $2: the description on how we found this
105AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
106[
107 MAKE_CANDIDATE="$1"
108 DESCRIPTION="$2"
109
110 # On Cygwin, we require a newer version of make than on other platforms
111 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
112 MAKE_VERSION_EXPR="-e 4\."
113 MAKE_REQUIRED_VERSION="4.0"
114 else
115 MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
116 MAKE_REQUIRED_VERSION="3.81"
117 fi
118
119 if test "x$MAKE_CANDIDATE" != x; then
120 AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
121 MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
122 IS_GNU_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP 'GNU Make'`
123 if test "x$IS_GNU_MAKE" = x; then
124 AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
125 else
126 IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
127 if test "x$IS_MODERN_MAKE" = x; then
128 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.])
129 else
130 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
131 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
132 MAKE_EXPECTED_ENV='cygwin'
133 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
134 MAKE_EXPECTED_ENV='msys'
135 else
136 AC_MSG_ERROR([Unknown Windows environment])
137 fi
138 MAKE_BUILT_FOR=`$MAKE_CANDIDATE --version | $GREP -i 'built for'`
139 IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP $MAKE_EXPECTED_ENV`
140 else
141 # Not relevant for non-Windows
142 IS_MAKE_CORRECT_ENV=true
143 fi
144 if test "x$IS_MAKE_CORRECT_ENV" = x; then
145 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.])
146 else
147 FOUND_MAKE=$MAKE_CANDIDATE
148 UTIL_FIXUP_EXECUTABLE(FOUND_MAKE)
149 fi
150 fi
151 fi
152 fi
153])
154
155###############################################################################
156AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
157[
158 # Check if make supports the output sync option and if so, setup using it.
159 AC_MSG_CHECKING([if make --output-sync is supported])
160 if $MAKE --version -O > /dev/null 2>&1; then
161 OUTPUT_SYNC_SUPPORTED=true
162 AC_MSG_RESULT([yes])
163 AC_MSG_CHECKING([for output-sync value])
164 AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
165 [set make output sync type if supported by make. @<:@recurse@:>@])],
166 [OUTPUT_SYNC=$with_output_sync])
167 if test "x$OUTPUT_SYNC" = "x"; then
168 OUTPUT_SYNC=none
169 fi
170 AC_MSG_RESULT([$OUTPUT_SYNC])
171 if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
172 AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
173 fi
174 else
175 OUTPUT_SYNC_SUPPORTED=false
176 AC_MSG_RESULT([no])
177 fi
178 AC_SUBST(OUTPUT_SYNC_SUPPORTED)
179 AC_SUBST(OUTPUT_SYNC)
180])
181
182###############################################################################
183# Goes looking for a usable version of GNU make.
184AC_DEFUN([BASIC_CHECK_GNU_MAKE],
185[
186 UTIL_SETUP_TOOL(MAKE,
187 [
188 # Try our hardest to locate a correct version of GNU make
189 UTIL_LOOKUP_PROGS(CHECK_GMAKE, gmake)
190 BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
191
192 if test "x$FOUND_MAKE" = x; then
193 UTIL_LOOKUP_PROGS(CHECK_MAKE, make)
194 BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
195 fi
196
197 if test "x$FOUND_MAKE" = x; then
198 if test "x$TOOLCHAIN_PATH" != x; then
199 # We have a toolchain path, check that as well before giving up.
200 OLD_PATH=$PATH
201 PATH=$TOOLCHAIN_PATH:$PATH
202 UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
203 BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
204 if test "x$FOUND_MAKE" = x; then
205 UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_MAKE, make)
206 BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
207 fi
208 PATH=$OLD_PATH
209 fi
210 fi
211
212 if test "x$FOUND_MAKE" = x; then
213 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.])
214 fi
215 ],[
216 # If MAKE was set by user, verify the version
217 BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
218 if test "x$FOUND_MAKE" = x; then
219 AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
220 fi
221 ])
222
223 MAKE=$FOUND_MAKE
224 AC_SUBST(MAKE)
225 AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
226
227 BASIC_CHECK_MAKE_OUTPUT_SYNC
228])
229
230###############################################################################
231AC_DEFUN([BASIC_CHECK_FIND_DELETE],
232[
233 # Test if find supports -delete
234 AC_MSG_CHECKING([if find supports -delete])
235 FIND_DELETE="-delete"
236
237 DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
238
239 echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
240
241 TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
242 if test -f $DELETEDIR/TestIfFindSupportsDelete; then
243 # No, it does not.
244 $RM $DELETEDIR/TestIfFindSupportsDelete
245 if test "x$OPENJDK_TARGET_OS" = "xaix"; then
246 # AIX 'find' is buggy if called with '-exec {} \+' and an empty file list
247 FIND_DELETE="-print | $XARGS $RM"
248 else
249 FIND_DELETE="-exec $RM \{\} \+"
250 fi
251 AC_MSG_RESULT([no])
252 else
253 AC_MSG_RESULT([yes])
254 fi
255 $RMDIR $DELETEDIR
256 AC_SUBST(FIND_DELETE)
257])
258
259###############################################################################
260AC_DEFUN([BASIC_CHECK_TAR],
261[
262 # Test which kind of tar was found
263 if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
264 TAR_TYPE="gnu"
265 elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
266 TAR_TYPE="bsd"
267 elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
268 TAR_TYPE="bsd"
269 elif test "x$($TAR --version | $GREP "busybox")" != "x"; then
270 TAR_TYPE="busybox"
271 elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
272 TAR_TYPE="solaris"
273 elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
274 TAR_TYPE="aix"
275 fi
276 AC_MSG_CHECKING([what type of tar was found])
277 AC_MSG_RESULT([$TAR_TYPE])
278
279 TAR_CREATE_FILE_PARAM=""
280
281 if test "x$TAR_TYPE" = "xgnu"; then
282 TAR_INCLUDE_PARAM="T"
283 TAR_SUPPORTS_TRANSFORM="true"
284 if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
285 # When using gnu tar for Solaris targets, need to use compatibility mode
286 TAR_CREATE_EXTRA_PARAM="--format=ustar"
287 fi
288 elif test "x$TAR_TYPE" = "aix"; then
289 # -L InputList of aix tar: name of file listing the files and directories
290 # that need to be archived or extracted
291 TAR_INCLUDE_PARAM="L"
292 TAR_SUPPORTS_TRANSFORM="false"
293 elif test "x$TAR_TYPE" = "xbusybox"; then
294 TAR_INCLUDE_PARAM="T"
295 TAR_SUPPORTS_TRANSFORM="false"
296 else
297 TAR_INCLUDE_PARAM="I"
298 TAR_SUPPORTS_TRANSFORM="false"
299 fi
300 AC_SUBST(TAR_TYPE)
301 AC_SUBST(TAR_CREATE_EXTRA_PARAM)
302 AC_SUBST(TAR_INCLUDE_PARAM)
303 AC_SUBST(TAR_SUPPORTS_TRANSFORM)
304])
305
306###############################################################################
307AC_DEFUN([BASIC_CHECK_GREP],
308[
309 # Test that grep supports -Fx with a list of pattern which includes null pattern.
310 # This is a problem for the grep resident on AIX.
311 AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
312 # Multiple subsequent spaces..
313 STACK_SPACES='aaa bbb ccc'
314 # ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
315 # patterns in it.
316 STACK_LIST=${STACK_SPACES// /$'\n'}
317 NEEDLE_SPACES='ccc bbb aaa'
318 NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
319 RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
320 if test "x$RESULT" == "x"; then
321 AC_MSG_RESULT([yes])
322 else
323 if test "x$OPENJDK_TARGET_OS" = "xaix"; then
324 ADDINFO="Please make sure you use GNU grep, usually found at /opt/freeware/bin."
325 fi
326 AC_MSG_ERROR([grep does not handle -Fx correctly. ${ADDINFO}])
327 fi
328])
329
330###############################################################################
331AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
332[
333 BASIC_CHECK_GNU_MAKE
334
335 BASIC_CHECK_FIND_DELETE
336 BASIC_CHECK_TAR
337 BASIC_CHECK_GREP
338 BASIC_SETUP_PANDOC
339
340 # These tools might not be installed by default,
341 # need hint on how to install them.
342 UTIL_REQUIRE_PROGS(UNZIP, unzip)
343 # Since zip uses "ZIP" as a environment variable for passing options, we need
344 # to name our variable differently, hence ZIPEXE.
345 UTIL_REQUIRE_PROGS(ZIPEXE, zip)
346
347 # Non-required basic tools
348
349 UTIL_LOOKUP_PROGS(READELF, greadelf readelf)
350 UTIL_LOOKUP_PROGS(DOT, dot)
351 UTIL_LOOKUP_PROGS(HG, hg)
352 UTIL_LOOKUP_PROGS(GIT, git)
353 UTIL_LOOKUP_PROGS(STAT, stat)
354 UTIL_LOOKUP_PROGS(TIME, time)
355 UTIL_LOOKUP_PROGS(FLOCK, flock)
356 # Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
357 # be in the user path.
358 UTIL_LOOKUP_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
359 UTIL_LOOKUP_PROGS(PATCH, gpatch patch)
360 # Check if it's GNU time
361 IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
362 if test "x$IS_GNU_TIME" != x; then
363 IS_GNU_TIME=yes
364 else
365 IS_GNU_TIME=no
366 fi
367 AC_SUBST(IS_GNU_TIME)
368
369 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
370 UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
371 UTIL_REQUIRE_PROGS(MIG, mig)
372 UTIL_REQUIRE_PROGS(XATTR, xattr)
373 UTIL_LOOKUP_PROGS(CODESIGN, codesign)
374
375 if test "x$CODESIGN" != "x"; then
376 # Check for user provided code signing identity.
377 # If no identity was provided, fall back to "openjdk_codesign".
378 AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
379 [specify the code signing identity])],
380 [MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
381 [MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
382 )
383
384 AC_SUBST(MACOSX_CODESIGN_IDENTITY)
385
386 # Verify that the codesign certificate is present
387 AC_MSG_CHECKING([if codesign certificate is present])
388 $RM codesign-testfile
389 $TOUCH codesign-testfile
390 $CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
391 >&AS_MESSAGE_LOG_FD || CODESIGN=
392 $RM codesign-testfile
393 if test "x$CODESIGN" = x; then
394 AC_MSG_RESULT([no])
395 else
396 AC_MSG_RESULT([yes])
397 # Verify that the codesign has --option runtime
398 AC_MSG_CHECKING([if codesign has --option runtime])
399 $RM codesign-testfile
400 $TOUCH codesign-testfile
401 $CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
402 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
403 $RM codesign-testfile
404 if test "x$CODESIGN" = x; then
405 AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
406 else
407 AC_MSG_RESULT([yes])
408 fi
409 fi
410 fi
411 UTIL_REQUIRE_PROGS(SETFILE, SetFile)
412 elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
413 UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
414 fi
415 if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
416 UTIL_REQUIRE_PROGS(ULIMIT, ulimit)
417 fi
418])
419
420###############################################################################
421# Check for support for specific options in bash
422AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
423[
424 # Check bash version
425 # Extra [ ] to stop m4 mangling
426 [ BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
427 AC_MSG_CHECKING([bash version])
428 AC_MSG_RESULT([$BASH_VER])
429
430 BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
431 BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
432 if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
433 AC_MSG_ERROR([bash version 3.2 or better is required])
434 fi
435
436 # Test if bash supports pipefail.
437 AC_MSG_CHECKING([if bash supports pipefail])
438 if ${BASH} -c 'set -o pipefail'; then
439 BASH_ARGS="$BASH_ARGS -o pipefail"
440 AC_MSG_RESULT([yes])
441 else
442 AC_MSG_RESULT([no])
443 fi
444
445 AC_MSG_CHECKING([if bash supports errexit (-e)])
446 if ${BASH} -e -c 'true'; then
447 BASH_ARGS="$BASH_ARGS -e"
448 AC_MSG_RESULT([yes])
449 else
450 AC_MSG_RESULT([no])
451 fi
452
453 AC_SUBST(BASH_ARGS)
454])
455
456################################################################################
457#
458# Setup Pandoc
459#
460AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
461[
462 UTIL_LOOKUP_PROGS(PANDOC, pandoc)
463 PANDOC_MARKDOWN_FLAG="markdown"
464 if test -n "$PANDOC"; then
465 AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown)
466 if $PANDOC --list-extensions | $GREP -q '\+smart'; then
467 AC_MSG_RESULT([yes])
468 PANDOC_MARKDOWN_FLAG="markdown-smart"
469 else
470 AC_MSG_RESULT([no])
471 fi
472 fi
473 if test -n "$PANDOC"; then
474 ENABLE_PANDOC="true"
475 else
476 ENABLE_PANDOC="false"
477 fi
478 AC_SUBST(ENABLE_PANDOC)
479 AC_SUBST(PANDOC_MARKDOWN_FLAG)
480])
diff --git a/make/autoconf/basic_windows.m4 b/make/autoconf/basic_windows.m4
0new file mode 100644481new file mode 100644
index 0000000..dc19b63
--- /dev/null
+++ b/make/autoconf/basic_windows.m4
@@ -0,0 +1,187 @@
1#
2# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26# Setup basic configuration paths, and platform-specific stuff related to PATHs.
27AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
28[
29 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
30 # Must be done prior to calling any commands to avoid mangling of command line
31 export MSYS2_ARG_CONV_EXCL="*"
32 fi
33
34 AC_MSG_CHECKING([Windows environment type])
35 WINENV_VENDOR=${OPENJDK_BUILD_OS_ENV#windows.}
36 AC_MSG_RESULT([$WINENV_VENDOR])
37
38 if test "x$WINENV_VENDOR" = x; then
39 AC_MSG_ERROR([Unknown Windows environment. Neither cygwin nor msys2 was detected.])
40 fi
41
42 if test "x$PATHTOOL" = x; then
43 AC_MSG_ERROR([Incorrect $WINENV_VENDOR installation. cygpath was found])
44 fi
45
46 if test "x$CMD" = x; then
47 AC_MSG_ERROR([Incorrect Windows/$WINENV_VENDOR setup. Could not locate cmd.exe])
48 fi
49
50 AC_MSG_CHECKING([$WINENV_VENDOR drive prefix])
51 WINENV_PREFIX=`$PATHTOOL -u c:/ | $SED -e 's!/c/!!'`
52 AC_MSG_RESULT(['$WINENV_PREFIX'])
53 AC_SUBST(WINENV_PREFIX)
54
55 AC_MSG_CHECKING([$WINENV_VENDOR root directory as Windows path])
56 if test "x$OPENJDK_BUILD_OS_ENV" != "xwindows.wsl1"; then
57 WINENV_ROOT=`$PATHTOOL -w / 2> /dev/null`
58 # msys2 has a trailing backslash; strip it
59 WINENV_ROOT=${WINENV_ROOT%\\}
60 else
61 WINENV_ROOT='[[unavailable]]'
62 fi
63 AC_MSG_RESULT(['$WINENV_ROOT'])
64 AC_SUBST(WINENV_ROOT)
65
66 AC_MSG_CHECKING([$WINENV_VENDOR temp directory])
67 WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
68 AC_MSG_RESULT([$WINENV_TEMP_DIR])
69
70 AC_MSG_CHECKING([$WINENV_VENDOR release])
71 WINENV_UNAME_RELEASE=`$UNAME -r`
72 AC_MSG_RESULT([$WINENV_UNAME_RELEASE])
73
74 AC_MSG_CHECKING([$WINENV_VENDOR version])
75 WINENV_UNAME_VERSION=`$UNAME -v`
76 AC_MSG_RESULT([$WINENV_UNAME_VERSION])
77
78 WINENV_VERSION="$WINENV_UNAME_RELEASE, $WINENV_UNAME_VERSION"
79
80 AC_MSG_CHECKING([Windows version])
81
82 # We must change directory to one guaranteed to work, otherwise WSL1
83 # can complain (since it does not have a WINENV_ROOT so it can't access
84 # unix-style paths from Windows.
85 # Additional [] needed to keep m4 from mangling shell constructs.
86 [ WINDOWS_VERSION=`cd $WINENV_TEMP_DIR && $CMD /c ver | $EGREP -o '([0-9]+\.)+[0-9]+'` ]
87 AC_MSG_RESULT([$WINDOWS_VERSION])
88
89 # Additional handling per specific env
90 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
91 # Additional [] needed to keep m4 from mangling shell constructs.
92 [ CYGWIN_VERSION_OLD=`$ECHO $WINENV_UNAME_RELEASE | $GREP -e '^1\.[0-6]'` ]
93 if test "x$CYGWIN_VERSION_OLD" != x; then
94 AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
95 AC_MSG_ERROR([Cannot continue])
96 fi
97 if test "x$LDD" = x; then
98 AC_MSG_ERROR([ldd is missing, which is needed on cygwin])
99 fi
100 WINENV_MARKER_DLL=cygwin1.dll
101 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
102 if test "x$LDD" = x; then
103 AC_MSG_ERROR([ldd is missing, which is needed on msys2])
104 fi
105 WINENV_MARKER_DLL=msys-2.0.dll
106 fi
107
108 # Chicken and egg: FIXPATH is needed for UTIL_FIXUP_PATH to work. So for the
109 # first run we use the auto-detect abilities of fixpath.sh.
110 FIXPATH_DIR="$TOPDIR/make/scripts"
111 FIXPATH="$BASH $FIXPATH_DIR/fixpath.sh exec"
112 FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh"
113 FIXPATH_SAVED_PATH="$PATH"
114 UTIL_FIXUP_PATH(FIXPATH_DIR)
115
116 # Now we can use FIXPATH_DIR to rewrite path to fixpath.sh properly.
117 if test "x$WINENV_PREFIX" = x; then
118 # On msys the prefix is empty, but we need to pass something to have the
119 # fixpath.sh options parser happy.
120 WINENV_PREFIX_ARG="NONE"
121 else
122 WINENV_PREFIX_ARG="$WINENV_PREFIX"
123 fi
124 FIXPATH_ARGS="-e $PATHTOOL -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR -c $CMD -q"
125 FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh $FIXPATH_ARGS"
126 FIXPATH="$FIXPATH_BASE exec"
127
128 AC_SUBST(FIXPATH_BASE)
129 AC_SUBST(FIXPATH)
130
131 SRC_ROOT_LENGTH=`$ECHO "$TOPDIR" | $WC -m`
132 if test $SRC_ROOT_LENGTH -gt 100; then
133 AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
134 fi
135
136 # Test if windows or unix "find" is first in path.
137 AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
138 FIND_BINARY_OUTPUT=`find --version 2>&1`
139 if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
140 AC_MSG_RESULT([unix style])
141 elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
142 AC_MSG_RESULT([Windows])
143 AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix tools.])
144 AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
145 AC_MSG_ERROR([Cannot continue])
146 else
147 AC_MSG_RESULT([unknown])
148 AC_MSG_WARN([It seems that your find utility is non-standard.])
149 fi
150])
151
152# Verify that the directory is usable on Windows
153AC_DEFUN([BASIC_WINDOWS_VERIFY_DIR],
154[
155 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1"; then
156 OUTPUTDIR_WIN=`$FIXPATH_BASE print $1`
157 if test "x$OUTPUTDIR_WIN" = x; then
158 AC_MSG_NOTICE([For wsl1, the $2 dir must be located on a Windows drive. Please see doc/building.md for details.])
159 AC_MSG_ERROR([Cannot continue])
160 fi
161 fi
162])
163
164# Create fixpath wrapper
165AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
166[
167 if test "x$OPENJDK_BUILD_OS" = xwindows; then
168 FIXPATH_CMDLINE=". $TOPDIR/make/scripts/fixpath.sh -e $PATHTOOL \
169 -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR \
170 -c $CMD -q"
171 $ECHO > $OUTPUTDIR/fixpath '#!/bin/bash'
172 $ECHO >> $OUTPUTDIR/fixpath export PATH='"[$]PATH:'$PATH'"'
173 $ECHO >> $OUTPUTDIR/fixpath $FIXPATH_CMDLINE '"[$]@"'
174 $CHMOD +x $OUTPUTDIR/fixpath
175 FIXPATH_BASE="$OUTPUTDIR/fixpath"
176 FIXPATH="$FIXPATH_BASE exec"
177 fi
178])
179
180# Platform-specific finalization
181AC_DEFUN([BASIC_WINDOWS_FINALIZE],
182[
183 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
184 # Change back from temp dir
185 cd $CONFIGURE_START_DIR
186 fi
187])
diff --git a/make/autoconf/basics.m4 b/make/autoconf/basics.m4
0deleted file mode 100644188deleted file mode 100644
index 90df36d..0000000
--- a/make/autoconf/basics.m4
+++ /dev/null
@@ -1,1479 +0,0 @@
1#
2# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26###############################################################################
27# Create a function/macro that takes a series of named arguments. The call is
28# similar to AC_DEFUN, but the setup of the function looks like this:
29# BASIC_DEFUN_NAMED([MYFUNC], [FOO *BAR], [$@], [
30# ... do something
31# AC_MSG_NOTICE([Value of BAR is ARG_BAR])
32# ])
33# A star (*) in front of a named argument means that it is required and it's
34# presence will be verified. To pass e.g. the first value as a normal indexed
35# argument, use [m4_shift($@)] as the third argument instead of [$@]. These
36# arguments are referenced in the function by their name prefixed by ARG_, e.g.
37# "ARG_FOO".
38#
39# The generated function can be called like this:
40# MYFUNC(FOO: [foo-val],
41# BAR: [
42# $ECHO hello world
43# ])
44# Note that the argument value must start on the same line as the argument name.
45#
46# Argument 1: Name of the function to define
47# Argument 2: List of legal named arguments, with a * prefix for required arguments
48# Argument 3: Argument array to treat as named, typically $@
49# Argument 4: The main function body
50AC_DEFUN([BASIC_DEFUN_NAMED],
51[
52 AC_DEFUN($1, [
53 m4_foreach(arg, m4_split($2), [
54 m4_if(m4_bregexp(arg, [^\*]), -1,
55 [
56 m4_set_add(legal_named_args, arg)
57 ],
58 [
59 m4_set_add(legal_named_args, m4_substr(arg, 1))
60 m4_set_add(required_named_args, m4_substr(arg, 1))
61 ]
62 )
63 ])
64
65 m4_foreach([arg], [$3], [
66 m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
67 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, [ ])'.])])
68 m4_set_remove(required_named_args, arg_name)
69 m4_set_remove(legal_named_args, arg_name)
70 m4_pushdef([ARG_][]arg_name, m4_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))))
71 m4_set_add(defined_args, arg_name)
72 m4_undefine([arg_name])
73 ])
74 m4_set_empty(required_named_args, [], [
75 AC_MSG_ERROR([Internal error: Required named arguments are missing for [$1]. Missing arguments: 'm4_set_contents(required_named_args, [ ])'])
76 ])
77 m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([legal_named_args])), [
78 m4_pushdef([ARG_][]arg, [])
79 m4_set_add(defined_args, arg)
80 ])
81 m4_set_delete(legal_named_args)
82 m4_set_delete(required_named_args)
83
84 # Execute function body
85 $4
86
87 m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([defined_args])), [
88 m4_popdef([ARG_][]arg)
89 ])
90
91 m4_set_delete(defined_args)
92 ])
93])
94
95###############################################################################
96# Check if a list of space-separated words are selected only from a list of
97# space-separated legal words. Typical use is to see if a user-specified
98# set of words is selected from a set of legal words.
99#
100# Sets the specified variable to list of non-matching (offending) words, or to
101# the empty string if all words are matching the legal set.
102#
103# $1: result variable name
104# $2: list of values to check
105# $3: list of legal values
106AC_DEFUN([BASIC_GET_NON_MATCHING_VALUES],
107[
108 # grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
109 # Notice that the original variant fails on SLES 10 and 11
110 # Some grep versions (at least bsd) behaves strangely on the base case with
111 # no legal_values, so make it explicit.
112 values_to_check=`$ECHO $2 | $TR ' ' '\n'`
113 legal_values=`$ECHO $3 | $TR ' ' '\n'`
114 if test -z "$legal_values"; then
115 $1="$2"
116 else
117 result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
118 $1=${result//$'\n'/ }
119 fi
120])
121
122###############################################################################
123# Check if a list of space-separated words contains any word(s) from a list of
124# space-separated illegal words. Typical use is to see if a user-specified
125# set of words contains any from a set of illegal words.
126#
127# Sets the specified variable to list of matching illegal words, or to
128# the empty string if no words are matching the illegal set.
129#
130# $1: result variable name
131# $2: list of values to check
132# $3: list of illegal values
133AC_DEFUN([BASIC_GET_MATCHING_VALUES],
134[
135 # grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
136 # Notice that the original variant fails on SLES 10 and 11
137 # Some grep versions (at least bsd) behaves strangely on the base case with
138 # no legal_values, so make it explicit.
139 values_to_check=`$ECHO $2 | $TR ' ' '\n'`
140 illegal_values=`$ECHO $3 | $TR ' ' '\n'`
141 if test -z "$illegal_values"; then
142 $1=""
143 else
144 result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
145 $1=${result//$'\n'/ }
146 fi
147])
148
149###############################################################################
150# Sort a space-separated list, and remove duplicates.
151#
152# Sets the specified variable to the resulting list.
153#
154# $1: result variable name
155# $2: list of values to sort
156AC_DEFUN([BASIC_SORT_LIST],
157[
158 values_to_sort=`$ECHO $2 | $TR ' ' '\n'`
159 result=`$SORT -u <<< "$values_to_sort" | $GREP -v '^$'`
160 $1=${result//$'\n'/ }
161])
162
163###############################################################################
164# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
165# If so, then append $1 to $2 \
166# Also set JVM_ARG_OK to true/false depending on outcome.
167AC_DEFUN([ADD_JVM_ARG_IF_OK],
168[
169 $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
170 $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
171 OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
172 FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
173 FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
174 if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
175 $2="[$]$2 $1"
176 JVM_ARG_OK=true
177 else
178 $ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
179 $ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
180 JVM_ARG_OK=false
181 fi
182])
183
184# Appends a string to a path variable, only adding the : when needed.
185AC_DEFUN([BASIC_APPEND_TO_PATH],
186[
187 if test "x$2" != x; then
188 if test "x[$]$1" = x; then
189 $1="$2"
190 else
191 $1="[$]$1:$2"
192 fi
193 fi
194])
195
196# Prepends a string to a path variable, only adding the : when needed.
197AC_DEFUN([BASIC_PREPEND_TO_PATH],
198[
199 if test "x$2" != x; then
200 if test "x[$]$1" = x; then
201 $1="$2"
202 else
203 $1="$2:[$]$1"
204 fi
205 fi
206])
207
208###############################################################################
209# This will make sure the given variable points to a full and proper
210# path. This means:
211# 1) There will be no spaces in the path. On unix platforms,
212# spaces in the path will result in an error. On Windows,
213# the path will be rewritten using short-style to be space-free.
214# 2) The path will be absolute, and it will be in unix-style (on
215# cygwin).
216# $1: The name of the variable to fix
217AC_DEFUN([BASIC_FIXUP_PATH],
218[
219 # Only process if variable expands to non-empty
220
221 if test "x[$]$1" != x; then
222 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
223 BASIC_FIXUP_PATH_CYGWIN($1)
224 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
225 BASIC_FIXUP_PATH_MSYS($1)
226 else
227 # We're on a unix platform. Hooray! :)
228 path="[$]$1"
229 has_space=`$ECHO "$path" | $GREP " "`
230 if test "x$has_space" != x; then
231 AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
232 AC_MSG_ERROR([Spaces are not allowed in this path.])
233 fi
234
235 # Use eval to expand a potential ~
236 eval path="$path"
237 if test ! -f "$path" && test ! -d "$path"; then
238 AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
239 fi
240
241 if test -d "$path"; then
242 $1="`cd "$path"; $THEPWDCMD -L`"
243 else
244 dir="`$DIRNAME "$path"`"
245 base="`$BASENAME "$path"`"
246 $1="`cd "$dir"; $THEPWDCMD -L`/$base"
247 fi
248 fi
249 fi
250])
251
252###############################################################################
253# This will make sure the given variable points to a executable
254# with a full and proper path. This means:
255# 1) There will be no spaces in the path. On unix platforms,
256# spaces in the path will result in an error. On Windows,
257# the path will be rewritten using short-style to be space-free.
258# 2) The path will be absolute, and it will be in unix-style (on
259# cygwin).
260# Any arguments given to the executable is preserved.
261# If the input variable does not have a directory specification, then
262# it need to be in the PATH.
263# $1: The name of the variable to fix
264AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
265[
266 # Only process if variable expands to non-empty
267
268 if test "x[$]$1" != x; then
269 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
270 BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
271 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
272 BASIC_FIXUP_EXECUTABLE_MSYS($1)
273 else
274 # We're on a unix platform. Hooray! :)
275 # First separate the path from the arguments. This will split at the first
276 # space.
277 complete="[$]$1"
278 path="${complete%% *}"
279 tmp="$complete EOL"
280 arguments="${tmp#* }"
281
282 # Cannot rely on the command "which" here since it doesn't always work.
283 is_absolute_path=`$ECHO "$path" | $GREP ^/`
284 if test -z "$is_absolute_path"; then
285 # Path to executable is not absolute. Find it.
286 IFS_save="$IFS"
287 IFS=:
288 for p in $PATH; do
289 if test -f "$p/$path" && test -x "$p/$path"; then
290 new_path="$p/$path"
291 break
292 fi
293 done
294 IFS="$IFS_save"
295 else
296 # This is an absolute path, we can use it without further modifications.
297 new_path="$path"
298 fi
299
300 if test "x$new_path" = x; then
301 AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
302 has_space=`$ECHO "$complete" | $GREP " "`
303 if test "x$has_space" != x; then
304 AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
305 fi
306 AC_MSG_ERROR([Cannot locate the the path of $1])
307 fi
308 fi
309
310 # Now join together the path and the arguments once again
311 if test "x$arguments" != xEOL; then
312 new_complete="$new_path ${arguments% *}"
313 else
314 new_complete="$new_path"
315 fi
316
317 if test "x$complete" != "x$new_complete"; then
318 $1="$new_complete"
319 AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
320 fi
321 fi
322])
323
324###############################################################################
325AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],
326[
327 if test "x$OPENJDK_BUILD_OS" != xwindows; then
328 # Follow a chain of symbolic links. Use readlink
329 # where it exists, else fall back to horribly
330 # complicated shell code.
331 if test "x$READLINK_TESTED" != yes; then
332 # On MacOSX there is a readlink tool with a different
333 # purpose than the GNU readlink tool. Check the found readlink.
334 READLINK_ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
335 # If READLINK_ISGNU is empty, then it's a non-GNU readlink. Don't use it.
336 READLINK_TESTED=yes
337 fi
338
339 if test "x$READLINK" != x && test "x$READLINK_ISGNU" != x; then
340 $1=`$READLINK -f [$]$1`
341 else
342 # Save the current directory for restoring afterwards
343 STARTDIR=$PWD
344 COUNTER=0
345 sym_link_dir=`$DIRNAME [$]$1`
346 sym_link_file=`$BASENAME [$]$1`
347 cd $sym_link_dir
348 # Use -P flag to resolve symlinks in directories.
349 cd `$THEPWDCMD -P`
350 sym_link_dir=`$THEPWDCMD -P`
351 # Resolve file symlinks
352 while test $COUNTER -lt 20; do
353 ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
354 if test "x$ISLINK" == x; then
355 # This is not a symbolic link! We are done!
356 break
357 fi
358 # Again resolve directory symlinks since the target of the just found
359 # link could be in a different directory
360 cd `$DIRNAME $ISLINK`
361 sym_link_dir=`$THEPWDCMD -P`
362 sym_link_file=`$BASENAME $ISLINK`
363 let COUNTER=COUNTER+1
364 done
365 cd $STARTDIR
366 $1=$sym_link_dir/$sym_link_file
367 fi
368 fi
369])
370
371###############################################################################
372# Register a --with argument but mark it as deprecated
373# $1: The name of the with argument to deprecate, not including --with-
374AC_DEFUN([BASIC_DEPRECATED_ARG_WITH],
375[
376 AC_ARG_WITH($1, [AS_HELP_STRING([--with-$1],
377 [Deprecated. Option is kept for backwards compatibility and is ignored])],
378 [AC_MSG_WARN([Option --with-$1 is deprecated and will be ignored.])])
379])
380
381###############################################################################
382# Register a --enable argument but mark it as deprecated
383# $1: The name of the with argument to deprecate, not including --enable-
384# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
385# $3: Messages to user.
386AC_DEFUN([BASIC_DEPRECATED_ARG_ENABLE],
387[
388 AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
389 [Deprecated. Option is kept for backwards compatibility and is ignored])])
390 if test "x$enable_$2" != x; then
391 AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])
392
393 if test "x$3" != x; then
394 AC_MSG_WARN([$3])
395 fi
396
397 fi
398])
399
400###############################################################################
401AC_DEFUN_ONCE([BASIC_INIT],
402[
403 # Save the original command line. This is passed to us by the wrapper configure script.
404 AC_SUBST(CONFIGURE_COMMAND_LINE)
405 # AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
406 AC_SUBST(AUTOCONF)
407 # Save the path variable before it gets changed
408 ORIGINAL_PATH="$PATH"
409 AC_SUBST(ORIGINAL_PATH)
410 DATE_WHEN_CONFIGURED=`date`
411 AC_SUBST(DATE_WHEN_CONFIGURED)
412 AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
413])
414
415###############################################################################
416# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
417# $1: variable to check
418AC_DEFUN([BASIC_CHECK_NONEMPTY],
419[
420 if test "x[$]$1" = x; then
421 AC_MSG_ERROR([Could not find required tool for $1])
422 fi
423])
424
425###############################################################################
426# Check that there are no unprocessed overridden variables left.
427# If so, they are an incorrect argument and we will exit with an error.
428AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
429[
430 if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
431 # Replace the separating ! with spaces before presenting for end user.
432 unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
433 AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
434 fi
435])
436
437###############################################################################
438# Setup a tool for the given variable. If correctly specified by the user,
439# use that value, otherwise search for the tool using the supplied code snippet.
440# $1: variable to set
441# $2: code snippet to call to look for the tool
442# $3: code snippet to call if variable was used to find tool
443AC_DEFUN([BASIC_SETUP_TOOL],
444[
445 # Publish this variable in the help.
446 AC_ARG_VAR($1, [Override default value for $1])
447
448 if [[ -z "${$1+x}" ]]; then
449 # The variable is not set by user, try to locate tool using the code snippet
450 $2
451 else
452 # The variable is set, but is it from the command line or the environment?
453
454 # Try to remove the string !$1! from our list.
455 try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!$1!/}
456 if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
457 # If it failed, the variable was not from the command line. Ignore it,
458 # but warn the user (except for BASH, which is always set by the calling BASH).
459 if test "x$1" != xBASH; then
460 AC_MSG_WARN([Ignoring value of $1 from the environment. Use command line variables instead.])
461 fi
462 # Try to locate tool using the code snippet
463 $2
464 else
465 # If it succeeded, then it was overridden by the user. We will use it
466 # for the tool.
467
468 # First remove it from the list of overridden variables, so we can test
469 # for unknown variables in the end.
470 CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
471
472 # Check if we try to supply an empty value
473 if test "x[$]$1" = x; then
474 AC_MSG_NOTICE([Setting user supplied tool $1= (no value)])
475 AC_MSG_CHECKING([for $1])
476 AC_MSG_RESULT([disabled])
477 else
478 # Check if the provided tool contains a complete path.
479 tool_specified="[$]$1"
480 tool_basename="${tool_specified##*/}"
481 if test "x$tool_basename" = "x$tool_specified"; then
482 # A command without a complete path is provided, search $PATH.
483 AC_MSG_NOTICE([Will search for user supplied tool $1=$tool_basename])
484 AC_PATH_PROG($1, $tool_basename)
485 if test "x[$]$1" = x; then
486 AC_MSG_ERROR([User supplied tool $tool_basename could not be found])
487 fi
488 else
489 # Otherwise we believe it is a complete path. Use it as it is.
490 AC_MSG_NOTICE([Will use user supplied tool $1=$tool_specified])
491 AC_MSG_CHECKING([for $1])
492 if test ! -x "$tool_specified"; then
493 AC_MSG_RESULT([not found])
494 AC_MSG_ERROR([User supplied tool $1=$tool_specified does not exist or is not executable])
495 fi
496 AC_MSG_RESULT([$tool_specified])
497 fi
498 fi
499 fi
500 $3
501 fi
502])
503
504###############################################################################
505# Call BASIC_SETUP_TOOL with AC_PATH_PROGS to locate the tool
506# $1: variable to set
507# $2: executable name (or list of names) to look for
508# $3: [path]
509AC_DEFUN([BASIC_PATH_PROGS],
510[
511 BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
512])
513
514###############################################################################
515# Call BASIC_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
516# $1: variable to set
517# $2: executable name (or list of names) to look for
518AC_DEFUN([BASIC_CHECK_TOOLS],
519[
520 BASIC_SETUP_TOOL($1, [AC_CHECK_TOOLS($1, $2)])
521])
522
523###############################################################################
524# Like BASIC_PATH_PROGS but fails if no tool was found.
525# $1: variable to set
526# $2: executable name (or list of names) to look for
527# $3: [path]
528AC_DEFUN([BASIC_REQUIRE_PROGS],
529[
530 BASIC_PATH_PROGS($1, $2, , $3)
531 BASIC_CHECK_NONEMPTY($1)
532])
533
534###############################################################################
535# Like BASIC_SETUP_TOOL but fails if no tool was found.
536# $1: variable to set
537# $2: autoconf macro to call to look for the special tool
538AC_DEFUN([BASIC_REQUIRE_SPECIAL],
539[
540 BASIC_SETUP_TOOL($1, [$2])
541 BASIC_CHECK_NONEMPTY($1)
542])
543
544###############################################################################
545# Like BASIC_REQUIRE_PROGS but also allows for bash built-ins
546# $1: variable to set
547# $2: executable name (or list of names) to look for
548# $3: [path]
549AC_DEFUN([BASIC_REQUIRE_BUILTIN_PROGS],
550[
551 BASIC_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
552 if test "x[$]$1" = x; then
553 AC_MSG_NOTICE([Required tool $2 not found in PATH, checking built-in])
554 if help $2 > /dev/null 2>&1; then
555 AC_MSG_NOTICE([Found $2 as shell built-in. Using it])
556 $1="$2"
557 else
558 AC_MSG_ERROR([Required tool $2 also not found as built-in.])
559 fi
560 fi
561 BASIC_CHECK_NONEMPTY($1)
562])
563
564###############################################################################
565# Setup the most fundamental tools that relies on not much else to set up,
566# but is used by much of the early bootstrap code.
567AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
568[
569 # Start with tools that do not need have cross compilation support
570 # and can be expected to be found in the default PATH. These tools are
571 # used by configure.
572
573 # First are all the simple required tools.
574 BASIC_REQUIRE_PROGS(BASENAME, basename)
575 BASIC_REQUIRE_PROGS(BASH, bash)
576 BASIC_REQUIRE_PROGS(CAT, cat)
577 BASIC_REQUIRE_PROGS(CHMOD, chmod)
578 BASIC_REQUIRE_PROGS(CMP, cmp)
579 BASIC_REQUIRE_PROGS(COMM, comm)
580 BASIC_REQUIRE_PROGS(CP, cp)
581 BASIC_REQUIRE_PROGS(CUT, cut)
582 BASIC_REQUIRE_PROGS(DATE, date)
583 BASIC_REQUIRE_PROGS(DIFF, [gdiff diff])
584 BASIC_REQUIRE_PROGS(DIRNAME, dirname)
585 BASIC_REQUIRE_PROGS(ECHO, echo)
586 BASIC_REQUIRE_PROGS(EXPR, expr)
587 BASIC_REQUIRE_PROGS(FILE, file)
588 BASIC_REQUIRE_PROGS(FIND, find)
589 BASIC_REQUIRE_PROGS(HEAD, head)
590 BASIC_REQUIRE_PROGS(GUNZIP, gunzip)
591 BASIC_REQUIRE_PROGS(GZIP, pigz gzip)
592 BASIC_REQUIRE_PROGS(LN, ln)
593 BASIC_REQUIRE_PROGS(LS, ls)
594 BASIC_REQUIRE_PROGS(MKDIR, mkdir)
595 BASIC_REQUIRE_PROGS(MKTEMP, mktemp)
596 BASIC_REQUIRE_PROGS(MV, mv)
597 BASIC_REQUIRE_PROGS(NAWK, [nawk gawk awk])
598 BASIC_REQUIRE_PROGS(PRINTF, printf)
599 BASIC_REQUIRE_PROGS(READLINK, [greadlink readlink])
600 BASIC_REQUIRE_PROGS(RM, rm)
601 BASIC_REQUIRE_PROGS(RMDIR, rmdir)
602 BASIC_REQUIRE_PROGS(SH, sh)
603 BASIC_REQUIRE_PROGS(SORT, sort)
604 BASIC_REQUIRE_PROGS(TAIL, tail)
605 BASIC_REQUIRE_PROGS(TAR, gtar tar)
606 BASIC_REQUIRE_PROGS(TEE, tee)
607 BASIC_REQUIRE_PROGS(TOUCH, touch)
608 BASIC_REQUIRE_PROGS(TR, tr)
609 BASIC_REQUIRE_PROGS(UNAME, uname)
610 BASIC_REQUIRE_PROGS(UNIQ, uniq)
611 BASIC_REQUIRE_PROGS(WC, wc)
612 BASIC_REQUIRE_PROGS(WHICH, which)
613 BASIC_REQUIRE_PROGS(XARGS, xargs)
614
615 # Then required tools that require some special treatment.
616 BASIC_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
617 BASIC_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
618 BASIC_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
619 BASIC_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
620 BASIC_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
621
622 # Always force rm.
623 RM="$RM -f"
624
625 # pwd behaves differently on various platforms and some don't support the -L flag.
626 # Always use the bash builtin pwd to get uniform behavior.
627 THEPWDCMD=pwd
628
629 # These are not required on all platforms
630 BASIC_PATH_PROGS(CYGPATH, cygpath)
631 BASIC_PATH_PROGS(DF, df)
632 BASIC_PATH_PROGS(CPIO, [cpio bsdcpio])
633 BASIC_PATH_PROGS(NICE, nice)
634 BASIC_PATH_PROGS(PANDOC, pandoc)
635])
636
637###############################################################################
638# Setup basic configuration paths, and platform-specific stuff related to PATHs.
639AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
640[
641 # Save the current directory this script was started from
642 CONFIGURE_START_DIR="$PWD"
643
644 # We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
645 # for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
646 # was not available at that time.
647 REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
648 if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
649 ORIGINAL_PATH="$REWRITTEN_PATH"
650 AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
651 fi
652
653 if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
654 PATH_SEP=";"
655 BASIC_CHECK_PATHS_WINDOWS
656 else
657 PATH_SEP=":"
658 fi
659 AC_SUBST(PATH_SEP)
660
661 # We get the top-level directory from the supporting wrappers.
662 AC_MSG_CHECKING([for top-level directory])
663 AC_MSG_RESULT([$TOPDIR])
664 AC_SUBST(TOPDIR)
665 AC_SUBST(CONFIGURE_START_DIR)
666
667 # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
668 BASIC_FIXUP_PATH(CONFIGURE_START_DIR)
669 BASIC_FIXUP_PATH(TOPDIR)
670
671 if test "x$CUSTOM_ROOT" != x; then
672 BASIC_FIXUP_PATH(CUSTOM_ROOT)
673 WORKSPACE_ROOT="${CUSTOM_ROOT}"
674 else
675 WORKSPACE_ROOT="${TOPDIR}"
676 fi
677 AC_SUBST(WORKSPACE_ROOT)
678
679 # Locate the directory of this script.
680 AUTOCONF_DIR=$TOPDIR/make/autoconf
681
682 # Setup username (for use in adhoc version strings etc)
683 # Outer [ ] to quote m4.
684 [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
685 AC_SUBST(USERNAME)
686])
687
688###############################################################################
689# Evaluates platform specific overrides for devkit variables.
690# $1: Name of variable
691AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
692[
693 if test "x[$]$1" = x; then
694 eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
695 fi
696])
697
698###############################################################################
699# Evaluates platform specific overrides for build devkit variables.
700# $1: Name of variable
701AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
702[
703 if test "x[$]$1" = x; then
704 eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
705 fi
706])
707
708###############################################################################
709AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
710[
711 AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
712 [use this devkit for compilers, tools and resources])])
713
714 if test "x$with_devkit" = xyes; then
715 AC_MSG_ERROR([--with-devkit must have a value])
716 elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
717 BASIC_FIXUP_PATH([with_devkit])
718 DEVKIT_ROOT="$with_devkit"
719 # Check for a meta data info file in the root of the devkit
720 if test -f "$DEVKIT_ROOT/devkit.info"; then
721 . $DEVKIT_ROOT/devkit.info
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches