New file |
| | |
| | | # |
| | | # This file and its contents are supplied under the terms of the |
| | | # Common Development and Distribution License ("CDDL"), version 1.0. |
| | | # You may only use this file in accordance with the terms of version |
| | | # 1.0 of the CDDL. |
| | | # |
| | | # A full copy of the text of the CDDL should have accompanied this |
| | | # source. A copy of the CDDL is also available via the Internet at |
| | | # http://www.illumos.org/license/CDDL. |
| | | # |
| | | |
| | | # |
| | | # Copyright 2016 Alexander Pyhalov |
| | | # Copyright 2019 Michal Nowak |
| | | # Copyright 2021 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved. |
| | | # Copyright 2023 Niklas Poslovski |
| | | # |
| | | |
| | | include ../../../make-rules/shared-macros.mk |
| | | |
| | | OPENJDK_VERSION= 22 |
| | | OPENJDK_PATCH= 11 |
| | | COMPONENT_NAME= openjdk |
| | | COMPONENT_VERSION= $(OPENJDK_VERSION) |
| | | COMPONENT_FMRI= runtime/java/$(COMPONENT_NAME)$(OPENJDK_VERSION) |
| | | COMPONENT_SUMMARY= Open-source implementation of the Java Platform, Standard Edition |
| | | COMPONENT_SRC= jdk-jdk-$(OPENJDK_VERSION)-$(OPENJDK_PATCH) |
| | | COMPONENT_ARCHIVE= jdk-$(OPENJDK_VERSION)+$(OPENJDK_PATCH).tar.gz |
| | | COMPONENT_ARCHIVE_HASH= \ |
| | | sha256:be3092eea01223598d24def014ff76f485c5b5df878c435738b4561bb97fd5a7 |
| | | COMPONENT_ARCHIVE_URL= \ |
| | | https://github.com/openjdk/jdk/archive/$(COMPONENT_ARCHIVE) |
| | | COMPONENT_PROJECT_URL= https://openjdk.java.net/ |
| | | COMPONENT_CLASSIFICATION= Development/Java |
| | | COMPONENT_LICENSE= GPLv2 with Classpath Exception |
| | | |
| | | OPENJDK_INSTANCE= openjdk$(COMPONENT_VERSION) |
| | | CACERTS_STORE= cacerts.out |
| | | |
| | | include $(WS_MAKE_RULES)/common.mk |
| | | |
| | | PKG_MACROS += OPENJDK_INSTANCE=$(OPENJDK_INSTANCE) |
| | | PKG_MACROS += OPENJDK_VERSION=$(OPENJDK_VERSION) |
| | | |
| | | CLEAN_PATHS += $(BUILD_DIR) |
| | | CLEAN_PATHS += $(CACERTS_STORE) |
| | | CLEAN_PATHS += $(COMPONENT_SRC_1) |
| | | |
| | | # read the number of jobs from the arguments for make |
| | | JOBS=$(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS))) |
| | | |
| | | CFLAGS += -c99 |
| | | |
| | | CONFIGURE_OPTIONS+= --with-jobs=$(JOBS) |
| | | CONFIGURE_OPTIONS+= --x-includes=$(USRDIR) |
| | | CONFIGURE_OPTIONS+= --x-libraries=$(USRLIBDIR64) |
| | | CONFIGURE_OPTIONS+= --with-version-pre= |
| | | CONFIGURE_OPTIONS+= --with-conf-name=oi |
| | | CONFIGURE_OPTIONS+= --with-boot-jdk=/usr/jdk/openjdk21/ |
| | | CONFIGURE_OPTIONS+= --with-freetype=system |
| | | CONFIGURE_OPTIONS+= --with-giflib=system |
| | | CONFIGURE_OPTIONS+= --with-harfbuzz=system |
| | | CONFIGURE_OPTIONS+= --with-lcms=bundled |
| | | CONFIGURE_OPTIONS+= --with-libjpeg=system |
| | | CONFIGURE_OPTIONS+= --with-libpng=system |
| | | CONFIGURE_OPTIONS+= --with-zlib=system |
| | | CONFIGURE_OPTIONS+= --with-x=yes |
| | | CONFIGURE_OPTIONS+= --with-native-debug-symbols=none |
| | | CONFIGURE_OPTIONS+= --with-jvm-variants=server |
| | | CONFIGURE_OPTIONS+= --with-debug-level=release |
| | | CONFIGURE_OPTIONS+= --with-toolchain-type=gcc |
| | | CONFIGURE_OPTIONS+= --with-source-date=current |
| | | CONFIGURE_OPTIONS+= --with-extra-cxxflags="$(CXXFLAGS)" |
| | | CONFIGURE_OPTIONS+= --with-extra-ldflags="-m64" |
| | | CONFIGURE_OPTIONS+= --with-cups=$(USRDIR) |
| | | CONFIGURE_OPTIONS+= --with-fontconfig=$(USRDIR) |
| | | CONFIGURE_OPTIONS+= --enable-unlimited-crypto |
| | | CONFIGURE_OPTIONS+= --disable-dtrace |
| | | CONFIGURE_OPTIONS+= --disable-hotspot-gtest |
| | | CONFIGURE_OPTIONS+= --disable-warnings-as-errors |
| | | CONFIGURE_OPTIONS+= --disable-precompiled-headers |
| | | CONFIGURE_OPTIONS+= --disable-ccache |
| | | CONFIGURE_OPTIONS+= --disable-option-checking |
| | | CONFIGURE_OPTIONS+= --enable-deprecated-ports=yes |
| | | CONFIGURE_OPTIONS+= DATE=/usr/bin/gdate |
| | | |
| | | CONFIGURE_ENV+= LD=/usr/bin/gld |
| | | COMPONENT_BUILD_ENV+= LD=/usr/bin/gld |
| | | |
| | | COMPONENT_POST_BUILD_ACTION= ($(LN) -s server/libjvm.so $(@D)/images/jdk/lib/libjvm.so) |
| | | |
| | | COMPONENT_BUILD_TARGETS = images |
| | | |
| | | # reset arguments from Jenkins |
| | | COMPONENT_BUILD_ARGS= |
| | | |
| | | CACERTS_DIR=$(WS_TOP)/components/openindiana/ca-certificates |
| | | CACERTS_INSTALLED=$(CACERTS_DIR)/build/$(MACH32)/.installed |
| | | CACERTS_PROTO_DIR=$(CACERTS_DIR)/build/prototype/$(MACH) |
| | | |
| | | $(CACERTS_INSTALLED): |
| | | gmake -C $(CACERTS_DIR) install |
| | | |
| | | $(CACERTS_STORE): $(BUILD_DIR_64)/.built $(CACERTS_INSTALLED) |
| | | $(RM) $@ |
| | | for cert in $(CACERTS_PROTO_DIR)/etc/certs/CA/*.pem; do \ |
| | | LC_ALL=en_US.UTF-8 $(BUILD_DIR_64)/images/jdk/bin/keytool \ |
| | | -noprompt \ |
| | | -importcert \ |
| | | -keystore $@ \ |
| | | -alias `echo $$cert | $(GSED) -e 's,.*/\\([^/]*\\)\\.pem,\\1,'` \ |
| | | -file $$cert \ |
| | | -storetype jks \ |
| | | -storepass changeit; \ |
| | | done |
| | | |
| | | build: $(BUILD_64) |
| | | |
| | | install: $(BUILD_DIR_64)/.built $(CACERTS_STORE) |
| | | $(RM) -r $(PROTO_DIR)/usr/jdk/instances/$(OPENJDK_INSTANCE) |
| | | $(MKDIR) $(PROTO_DIR)/usr/jdk/instances/$(OPENJDK_INSTANCE) |
| | | $(CP) -a $(BUILD_DIR_64)/images/jdk/* $(PROTO_DIR)/usr/jdk/instances/$(OPENJDK_INSTANCE) |
| | | $(CHMOD) +x $(PROTO_DIR)/usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jspawnhelper |
| | | $(CP) $(CACERTS_STORE) $(PROTO_DIR)/usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/security/cacerts |
| | | $(TOUCH) $@ |
| | | |
| | | test: $(NO_TESTS) |
| | | |
| | | # manually added to support audio |
| | | REQUIRED_PACKAGES += system/header/header-audio |
| | | REQUIRED_PACKAGES += system/library/c++/sunpro |
| | | |
| | | # Manually added boot JDK |
| | | REQUIRED_PACKAGES += runtime/java/openjdk21 |
| | | |
| | | # Auto-generated dependencies |
| | | REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG) |
| | | REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG) |
| | | REQUIRED_PACKAGES += image/library/libjpeg6 |
| | | REQUIRED_PACKAGES += image/library/libjpeg6-ijg |
| | | REQUIRED_PACKAGES += image/library/libpng16 |
| | | REQUIRED_PACKAGES += library/c++/harfbuzz |
| | | REQUIRED_PACKAGES += library/giflib |
| | | REQUIRED_PACKAGES += library/zlib |
| | | REQUIRED_PACKAGES += system/library |
| | | REQUIRED_PACKAGES += system/library/freetype-2 |
| | | REQUIRED_PACKAGES += system/library/math |
| | | REQUIRED_PACKAGES += x11/library/libx11 |
| | | REQUIRED_PACKAGES += x11/library/libxext |
| | | REQUIRED_PACKAGES += x11/library/libxi |
| | | REQUIRED_PACKAGES += x11/library/libxrender |
| | | REQUIRED_PACKAGES += x11/library/libxtst |
New file |
| | |
| | | # |
| | | # This file and its contents are supplied under the terms of the |
| | | # Common Development and Distribution License ("CDDL"), version 1.0. |
| | | # You may only use this file in accordance with the terms of version |
| | | # 1.0 of the CDDL. |
| | | # |
| | | # A full copy of the text of the CDDL should have accompanied this |
| | | # source. A copy of the CDDL is also available via the Internet at |
| | | # http://www.illumos.org/license/CDDL. |
| | | # |
| | | |
| | | # |
| | | # Copyright 2023 <contributor> |
| | | # |
| | | |
| | | set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) |
| | | set name=pkg.human-version value=$(HUMAN_VERSION) |
| | | set name=pkg.summary value="$(COMPONENT_SUMMARY)" |
| | | set name=info.classification value="$(COMPONENT_CLASSIFICATION)" |
| | | set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) |
| | | set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) |
| | | set name=org.opensolaris.consolidation value=$(CONSOLIDATION) |
| | | |
| | | license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' |
| | | |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jarsigner |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/java |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/javac |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/javadoc |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/javap |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jcmd |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jconsole |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jdb |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jdeprscan |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jdeps |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jfr |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jhsdb |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jimage |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jinfo |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jlink |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jmap |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jps |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jrunscript |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jshell |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jstack |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jstat |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jstatd |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/jwebserver |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/keytool |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/rmiregistry |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/bin/serialver |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/jaxp.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/logging.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/management/jmxremote.access |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/management/jmxremote.password.template |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/management/management.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/net.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/sdp/sdp.conf.template |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/java.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/java.security |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/limited/default_US_export.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/limited/default_local.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/limited/exempt_local.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/unlimited/default_US_export.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/policy/unlimited/default_local.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/security/sunpkcs11-solaris.cfg |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/conf/sound.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/README |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/CodePointIM/CodePointIM.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/CodePointIM/README.html |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/CodePointIM/README_ja.html |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/CodePointIM/README_zh_CN.html |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/CodePointIM/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/FileChooserDemo/FileChooserDemo.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/FileChooserDemo/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/FileChooserDemo/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Font2DTest/Font2DTest.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Font2DTest/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Font2DTest/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/J2Ddemo/J2Ddemo.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/J2Ddemo/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/J2Ddemo/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Metalworks/Metalworks.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Metalworks/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Metalworks/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Notepad/Notepad.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Notepad/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Notepad/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SampleTree/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SampleTree/SampleTree.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SampleTree/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Stylepad/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Stylepad/Stylepad.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/Stylepad/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SwingSet2/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SwingSet2/SwingSet2.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/SwingSet2/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TableExample/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TableExample/TableExample.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TableExample/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TransparentRuler/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TransparentRuler/TransparentRuler.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/jfc/TransparentRuler/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/README.txt |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Font2DTest/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Metalworks/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/Notepad/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/SampleTree/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TableExample/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/build.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/build.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/demo/nbproject/project.xml |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/classfile_constants.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/jawt.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/jdwpTransport.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/jni.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/jvmti.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/jvmticmlr.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/solaris/jawt_md.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/include/solaris/jni_md.h |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.base.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.compiler.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.datatransfer.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.desktop.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.instrument.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.logging.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.management.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.management.rmi.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.naming.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.net.http.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.prefs.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.rmi.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.scripting.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.se.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.security.jgss.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.security.sasl.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.smartcardio.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.sql.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.sql.rowset.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.transaction.xa.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.xml.crypto.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/java.xml.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.accessibility.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.attach.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.charsets.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.compiler.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.crypto.cryptoki.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.crypto.ec.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.dynalink.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.editpad.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.hotspot.agent.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.httpserver.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.incubator.vector.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.ed.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.jvmstat.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.le.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.opt.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.ci.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.compiler.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.internal.vm.compiler.management.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jartool.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.javadoc.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jcmd.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jconsole.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jdeps.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jdi.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jdwp.agent.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jfr.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jlink.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jshell.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jsobject.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.jstatd.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.localedata.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.management.agent.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.management.jfr.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.management.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.naming.dns.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.naming.rmi.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.net.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.nio.mapmode.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.random.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.sctp.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.security.auth.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.security.jgss.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.unsupported.desktop.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.unsupported.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.xml.dom.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/jmods/jdk.zipfs.jmod |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/ADDITIONAL_LICENSE_INFO |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/ASSEMBLY_EXCEPTION |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/aes.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/asm.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/c-libutl.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/cldr.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/icu.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/public_suffix.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.base/unicode.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.datatransfer/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.datatransfer/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/colorimaging.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/lcms.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/mesa3d.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/pipewire.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.desktop/xwd.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.instrument/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.instrument/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.instrument/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.logging/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.logging/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.logging/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.naming/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.naming/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.naming/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.net.http/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.net.http/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.net.http/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.prefs/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.prefs/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.prefs/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.scripting/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.scripting/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.scripting/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.se/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.se/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.se/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.jgss/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.jgss/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.sasl/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.security.sasl/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.smartcardio/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.smartcardio/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.smartcardio/pcsclite.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql.rowset/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql.rowset/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.sql/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.transaction.xa/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.transaction.xa/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml.crypto/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml.crypto/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml.crypto/santuario.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/bcel.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/dom.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/jcup.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/xalan.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/java.xml/xerces.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.accessibility/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.accessibility/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.attach/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.attach/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.attach/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.charsets/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.charsets/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.cryptoki/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.cryptoki/pkcs11wrapper.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.crypto.ec/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.dynalink/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.dynalink/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.dynalink/dynalink.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.editpad/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.editpad/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.hotspot.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.httpserver/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.httpserver/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.incubator.vector/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.ed/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.jvmstat/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.le/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.le/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.le/jline.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.opt/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.opt/jopt-simple.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.ci/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.internal.vm.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jartool/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jartool/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.javadoc/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.javadoc/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.javadoc/jquery.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.javadoc/jqueryUI.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jcmd/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jcmd/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jconsole/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jconsole/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdeps/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdeps/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jdwp.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jfr/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jfr/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jlink/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jlink/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jshell/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jshell/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jsobject/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jsobject/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jstatd/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.jstatd/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.localedata/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.localedata/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.localedata/cldr.md \ |
| | | target=../java.base/cldr.md |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.localedata/thaidict.md |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management.jfr/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.dns/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.naming.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.net/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.net/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.net/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.nio.mapmode/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.random/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.random/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.random/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.sctp/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.sctp/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.auth/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.auth/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.security.jgss/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported.desktop/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.unsupported/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.xml.dom/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.zipfs/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/legal/jdk.zipfs/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/classlist |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/ct.sym |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/fontconfig.bfc |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/fontconfig.properties.src |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/jfr/default.jfc |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/jfr/profile.jfc |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/jrt-fs.jar |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/jspawnhelper |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/jvm.cfg |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libattach.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libawt.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libawt_headless.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libawt_xawt.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libdt_socket.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libfontmanager.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libinstrument.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libj2gss.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libj2pcsc.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libj2pkcs11.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjaas.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjava.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjavajpeg.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjawt.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjdwp.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjimage.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjli.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjsig.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjsound.so |
| | | link path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libjvm.so \ |
| | | target=server/libjvm.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/liblcms.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/lible.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libmanagement.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libmanagement_agent.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libmanagement_ext.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libmlib_image.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libnet.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libnio.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libprefs.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/librmi.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libsaproc.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libsctp.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libsplashscreen.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libsyslookup.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libverify.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/libzip.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/modules |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/psfont.properties.ja |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/psfontj2d.properties |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/security/blocked.certs |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/security/cacerts |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/security/default.policy |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/security/public_suffix_list.dat |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/server/classes.jsa |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/server/classes_nocoops.jsa |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/server/libjsig.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/server/libjvm.so |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/src.zip |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/lib/tzdb.dat |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jar.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jarsigner.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/java.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/javac.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/javadoc.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/javap.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jcmd.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jconsole.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jdb.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jdeprscan.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jdeps.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jfr.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jhsdb.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jinfo.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jlink.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jmap.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jmod.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jps.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jrunscript.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jshell.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jstack.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jstat.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jstatd.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/jwebserver.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/keytool.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/rmiregistry.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/man/man1/serialver.1 |
| | | file path=usr/jdk/instances/openjdk$(HUMAN_VERSION)/release |
New file |
| | |
| | | # |
| | | # This file and its contents are supplied under the terms of the |
| | | # Common Development and Distribution License ("CDDL"), version 1.0. |
| | | # You may only use this file in accordance with the terms of version |
| | | # 1.0 of the CDDL. |
| | | # |
| | | # A full copy of the text of the CDDL should have accompanied this |
| | | # source. A copy of the CDDL is also available via the Internet at |
| | | # http://www.illumos.org/license/CDDL. |
| | | # |
| | | |
| | | # |
| | | # Copyright 2016 Alexander Pyhalov |
| | | # Copyright 2021 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved. |
| | | # Copyright 2023 Niklas Poslovski |
| | | # |
| | | |
| | | set name=pkg.fmri value=pkg:/library/java/$(COMPONENT_NAME)$(OPENJDK_VERSION)/demo@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) |
| | | set name=pkg.summary value="OpenJDK $(COMPONENT_VERSION) Demo Programs" |
| | | set name=info.classification value="$(COMPONENT_CLASSIFICATION)" |
| | | set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) |
| | | set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) |
| | | set name=org.opensolaris.consolidation value=$(CONSOLIDATION) |
| | | |
| | | license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' |
| | | |
| | | # /lib dirs in $JAVA_HOME/demo are not for linker, but for people |
| | | <transform path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/.*/lib/.*\.so -> default pkg.linted.userland.action001.2 true> |
| | | |
| | | # Generated section: |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/README |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/CodePointIM/CodePointIM.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/CodePointIM/README.html |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/CodePointIM/README_ja.html |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/CodePointIM/README_zh_CN.html |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/CodePointIM/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/FileChooserDemo/FileChooserDemo.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/FileChooserDemo/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/FileChooserDemo/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Font2DTest/Font2DTest.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Font2DTest/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Font2DTest/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/J2Ddemo/J2Ddemo.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/J2Ddemo/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/J2Ddemo/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Metalworks/Metalworks.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Metalworks/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Metalworks/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Notepad/Notepad.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Notepad/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Notepad/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SampleTree/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SampleTree/SampleTree.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SampleTree/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Stylepad/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Stylepad/Stylepad.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/Stylepad/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SwingSet2/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SwingSet2/SwingSet2.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/SwingSet2/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TableExample/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TableExample/TableExample.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TableExample/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TransparentRuler/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TransparentRuler/TransparentRuler.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/jfc/TransparentRuler/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Font2DTest/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Metalworks/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/Notepad/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/SampleTree/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TableExample/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/build.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/build.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/demo/nbproject/project.xml |
New file |
| | |
| | | The GNU General Public License (GPL) |
| | | |
| | | Version 2, June 1991 |
| | | |
| | | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
| | | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| | | |
| | | Everyone is permitted to copy and distribute verbatim copies of this license |
| | | document, but changing it is not allowed. |
| | | |
| | | Preamble |
| | | |
| | | The licenses for most software are designed to take away your freedom to share |
| | | and change it. By contrast, the GNU General Public License is intended to |
| | | guarantee your freedom to share and change free software--to make sure the |
| | | software is free for all its users. This General Public License applies to |
| | | most of the Free Software Foundation's software and to any other program whose |
| | | authors commit to using it. (Some other Free Software Foundation software is |
| | | covered by the GNU Library General Public License instead.) You can apply it to |
| | | your programs, too. |
| | | |
| | | When we speak of free software, we are referring to freedom, not price. Our |
| | | General Public Licenses are designed to make sure that you have the freedom to |
| | | distribute copies of free software (and charge for this service if you wish), |
| | | that you receive source code or can get it if you want it, that you can change |
| | | the software or use pieces of it in new free programs; and that you know you |
| | | can do these things. |
| | | |
| | | To protect your rights, we need to make restrictions that forbid anyone to deny |
| | | you these rights or to ask you to surrender the rights. These restrictions |
| | | translate to certain responsibilities for you if you distribute copies of the |
| | | software, or if you modify it. |
| | | |
| | | For example, if you distribute copies of such a program, whether gratis or for |
| | | a fee, you must give the recipients all the rights that you have. You must |
| | | make sure that they, too, receive or can get the source code. And you must |
| | | show them these terms so they know their rights. |
| | | |
| | | We protect your rights with two steps: (1) copyright the software, and (2) |
| | | offer you this license which gives you legal permission to copy, distribute |
| | | and/or modify the software. |
| | | |
| | | Also, for each author's protection and ours, we want to make certain that |
| | | everyone understands that there is no warranty for this free software. If the |
| | | software is modified by someone else and passed on, we want its recipients to |
| | | know that what they have is not the original, so that any problems introduced |
| | | by others will not reflect on the original authors' reputations. |
| | | |
| | | Finally, any free program is threatened constantly by software patents. We |
| | | wish to avoid the danger that redistributors of a free program will |
| | | individually obtain patent licenses, in effect making the program proprietary. |
| | | To prevent this, we have made it clear that any patent must be licensed for |
| | | everyone's free use or not licensed at all. |
| | | |
| | | The precise terms and conditions for copying, distribution and modification |
| | | follow. |
| | | |
| | | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
| | | |
| | | 0. This License applies to any program or other work which contains a notice |
| | | placed by the copyright holder saying it may be distributed under the terms of |
| | | this General Public License. The "Program", below, refers to any such program |
| | | or work, and a "work based on the Program" means either the Program or any |
| | | derivative work under copyright law: that is to say, a work containing the |
| | | Program or a portion of it, either verbatim or with modifications and/or |
| | | translated into another language. (Hereinafter, translation is included |
| | | without limitation in the term "modification".) Each licensee is addressed as |
| | | "you". |
| | | |
| | | Activities other than copying, distribution and modification are not covered by |
| | | this License; they are outside its scope. The act of running the Program is |
| | | not restricted, and the output from the Program is covered only if its contents |
| | | constitute a work based on the Program (independent of having been made by |
| | | running the Program). Whether that is true depends on what the Program does. |
| | | |
| | | 1. You may copy and distribute verbatim copies of the Program's source code as |
| | | you receive it, in any medium, provided that you conspicuously and |
| | | appropriately publish on each copy an appropriate copyright notice and |
| | | disclaimer of warranty; keep intact all the notices that refer to this License |
| | | and to the absence of any warranty; and give any other recipients of the |
| | | Program a copy of this License along with the Program. |
| | | |
| | | You may charge a fee for the physical act of transferring a copy, and you may |
| | | at your option offer warranty protection in exchange for a fee. |
| | | |
| | | 2. You may modify your copy or copies of the Program or any portion of it, thus |
| | | forming a work based on the Program, and copy and distribute such modifications |
| | | or work under the terms of Section 1 above, provided that you also meet all of |
| | | these conditions: |
| | | |
| | | a) You must cause the modified files to carry prominent notices stating |
| | | that you changed the files and the date of any change. |
| | | |
| | | b) You must cause any work that you distribute or publish, that in whole or |
| | | in part contains or is derived from the Program or any part thereof, to be |
| | | licensed as a whole at no charge to all third parties under the terms of |
| | | this License. |
| | | |
| | | c) If the modified program normally reads commands interactively when run, |
| | | you must cause it, when started running for such interactive use in the |
| | | most ordinary way, to print or display an announcement including an |
| | | appropriate copyright notice and a notice that there is no warranty (or |
| | | else, saying that you provide a warranty) and that users may redistribute |
| | | the program under these conditions, and telling the user how to view a copy |
| | | of this License. (Exception: if the Program itself is interactive but does |
| | | not normally print such an announcement, your work based on the Program is |
| | | not required to print an announcement.) |
| | | |
| | | These requirements apply to the modified work as a whole. If identifiable |
| | | sections of that work are not derived from the Program, and can be reasonably |
| | | considered independent and separate works in themselves, then this License, and |
| | | its terms, do not apply to those sections when you distribute them as separate |
| | | works. But when you distribute the same sections as part of a whole which is a |
| | | work based on the Program, the distribution of the whole must be on the terms |
| | | of this License, whose permissions for other licensees extend to the entire |
| | | whole, and thus to each and every part regardless of who wrote it. |
| | | |
| | | Thus, it is not the intent of this section to claim rights or contest your |
| | | rights to work written entirely by you; rather, the intent is to exercise the |
| | | right to control the distribution of derivative or collective works based on |
| | | the Program. |
| | | |
| | | In addition, mere aggregation of another work not based on the Program with the |
| | | Program (or with a work based on the Program) on a volume of a storage or |
| | | distribution medium does not bring the other work under the scope of this |
| | | License. |
| | | |
| | | 3. You may copy and distribute the Program (or a work based on it, under |
| | | Section 2) in object code or executable form under the terms of Sections 1 and |
| | | 2 above provided that you also do one of the following: |
| | | |
| | | a) Accompany it with the complete corresponding machine-readable source |
| | | code, which must be distributed under the terms of Sections 1 and 2 above |
| | | on a medium customarily used for software interchange; or, |
| | | |
| | | b) Accompany it with a written offer, valid for at least three years, to |
| | | give any third party, for a charge no more than your cost of physically |
| | | performing source distribution, a complete machine-readable copy of the |
| | | corresponding source code, to be distributed under the terms of Sections 1 |
| | | and 2 above on a medium customarily used for software interchange; or, |
| | | |
| | | c) Accompany it with the information you received as to the offer to |
| | | distribute corresponding source code. (This alternative is allowed only |
| | | for noncommercial distribution and only if you received the program in |
| | | object code or executable form with such an offer, in accord with |
| | | Subsection b above.) |
| | | |
| | | The source code for a work means the preferred form of the work for making |
| | | modifications to it. For an executable work, complete source code means all |
| | | the source code for all modules it contains, plus any associated interface |
| | | definition files, plus the scripts used to control compilation and installation |
| | | of the executable. However, as a special exception, the source code |
| | | distributed need not include anything that is normally distributed (in either |
| | | source or binary form) with the major components (compiler, kernel, and so on) |
| | | of the operating system on which the executable runs, unless that component |
| | | itself accompanies the executable. |
| | | |
| | | If distribution of executable or object code is made by offering access to copy |
| | | from a designated place, then offering equivalent access to copy the source |
| | | code from the same place counts as distribution of the source code, even though |
| | | third parties are not compelled to copy the source along with the object code. |
| | | |
| | | 4. You may not copy, modify, sublicense, or distribute the Program except as |
| | | expressly provided under this License. Any attempt otherwise to copy, modify, |
| | | sublicense or distribute the Program is void, and will automatically terminate |
| | | your rights under this License. However, parties who have received copies, or |
| | | rights, from you under this License will not have their licenses terminated so |
| | | long as such parties remain in full compliance. |
| | | |
| | | 5. You are not required to accept this License, since you have not signed it. |
| | | However, nothing else grants you permission to modify or distribute the Program |
| | | or its derivative works. These actions are prohibited by law if you do not |
| | | accept this License. Therefore, by modifying or distributing the Program (or |
| | | any work based on the Program), you indicate your acceptance of this License to |
| | | do so, and all its terms and conditions for copying, distributing or modifying |
| | | the Program or works based on it. |
| | | |
| | | 6. Each time you redistribute the Program (or any work based on the Program), |
| | | the recipient automatically receives a license from the original licensor to |
| | | copy, distribute or modify the Program subject to these terms and conditions. |
| | | You may not impose any further restrictions on the recipients' exercise of the |
| | | rights granted herein. You are not responsible for enforcing compliance by |
| | | third parties to this License. |
| | | |
| | | 7. If, as a consequence of a court judgment or allegation of patent |
| | | infringement or for any other reason (not limited to patent issues), conditions |
| | | are imposed on you (whether by court order, agreement or otherwise) that |
| | | contradict the conditions of this License, they do not excuse you from the |
| | | conditions of this License. If you cannot distribute so as to satisfy |
| | | simultaneously your obligations under this License and any other pertinent |
| | | obligations, then as a consequence you may not distribute the Program at all. |
| | | For example, if a patent license would not permit royalty-free redistribution |
| | | of the Program by all those who receive copies directly or indirectly through |
| | | you, then the only way you could satisfy both it and this License would be to |
| | | refrain entirely from distribution of the Program. |
| | | |
| | | If any portion of this section is held invalid or unenforceable under any |
| | | particular circumstance, the balance of the section is intended to apply and |
| | | the section as a whole is intended to apply in other circumstances. |
| | | |
| | | It is not the purpose of this section to induce you to infringe any patents or |
| | | other property right claims or to contest validity of any such claims; this |
| | | section has the sole purpose of protecting the integrity of the free software |
| | | distribution system, which is implemented by public license practices. Many |
| | | people have made generous contributions to the wide range of software |
| | | distributed through that system in reliance on consistent application of that |
| | | system; it is up to the author/donor to decide if he or she is willing to |
| | | distribute software through any other system and a licensee cannot impose that |
| | | choice. |
| | | |
| | | This section is intended to make thoroughly clear what is believed to be a |
| | | consequence of the rest of this License. |
| | | |
| | | 8. If the distribution and/or use of the Program is restricted in certain |
| | | countries either by patents or by copyrighted interfaces, the original |
| | | copyright holder who places the Program under this License may add an explicit |
| | | geographical distribution limitation excluding those countries, so that |
| | | distribution is permitted only in or among countries not thus excluded. In |
| | | such case, this License incorporates the limitation as if written in the body |
| | | of this License. |
| | | |
| | | 9. The Free Software Foundation may publish revised and/or new versions of the |
| | | General Public License from time to time. Such new versions will be similar in |
| | | spirit to the present version, but may differ in detail to address new problems |
| | | or concerns. |
| | | |
| | | Each version is given a distinguishing version number. If the Program |
| | | specifies a version number of this License which applies to it and "any later |
| | | version", you have the option of following the terms and conditions either of |
| | | that version or of any later version published by the Free Software Foundation. |
| | | If the Program does not specify a version number of this License, you may |
| | | choose any version ever published by the Free Software Foundation. |
| | | |
| | | 10. If you wish to incorporate parts of the Program into other free programs |
| | | whose distribution conditions are different, write to the author to ask for |
| | | permission. For software which is copyrighted by the Free Software Foundation, |
| | | write to the Free Software Foundation; we sometimes make exceptions for this. |
| | | Our decision will be guided by the two goals of preserving the free status of |
| | | all derivatives of our free software and of promoting the sharing and reuse of |
| | | software generally. |
| | | |
| | | NO WARRANTY |
| | | |
| | | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR |
| | | THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE |
| | | STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE |
| | | PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, |
| | | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
| | | FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND |
| | | PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, |
| | | YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
| | | |
| | | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL |
| | | ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE |
| | | PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
| | | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR |
| | | INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA |
| | | BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A |
| | | FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER |
| | | OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
| | | |
| | | END OF TERMS AND CONDITIONS |
| | | |
| | | How to Apply These Terms to Your New Programs |
| | | |
| | | If you develop a new program, and you want it to be of the greatest possible |
| | | use to the public, the best way to achieve this is to make it free software |
| | | which everyone can redistribute and change under these terms. |
| | | |
| | | To do so, attach the following notices to the program. It is safest to attach |
| | | them to the start of each source file to most effectively convey the exclusion |
| | | of warranty; and each file should have at least the "copyright" line and a |
| | | pointer to where the full notice is found. |
| | | |
| | | One line to give the program's name and a brief idea of what it does. |
| | | |
| | | Copyright (C) <year> <name of author> |
| | | |
| | | This program is free software; you can redistribute it and/or modify it |
| | | under the terms of the GNU General Public License as published by the Free |
| | | Software Foundation; either version 2 of the License, or (at your option) |
| | | any later version. |
| | | |
| | | This program is distributed in the hope that it will be useful, but WITHOUT |
| | | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| | | more details. |
| | | |
| | | You should have received a copy of the GNU General Public License along |
| | | with this program; if not, write to the Free Software Foundation, Inc., |
| | | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | |
| | | Also add information on how to contact you by electronic and paper mail. |
| | | |
| | | If the program is interactive, make it output a short notice like this when it |
| | | starts in an interactive mode: |
| | | |
| | | Gnomovision version 69, Copyright (C) year name of author Gnomovision comes |
| | | with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free |
| | | software, and you are welcome to redistribute it under certain conditions; |
| | | type 'show c' for details. |
| | | |
| | | The hypothetical commands 'show w' and 'show c' should show the appropriate |
| | | parts of the General Public License. Of course, the commands you use may be |
| | | called something other than 'show w' and 'show c'; they could even be |
| | | mouse-clicks or menu items--whatever suits your program. |
| | | |
| | | You should also get your employer (if you work as a programmer) or your school, |
| | | if any, to sign a "copyright disclaimer" for the program, if necessary. Here |
| | | is a sample; alter the names: |
| | | |
| | | Yoyodyne, Inc., hereby disclaims all copyright interest in the program |
| | | 'Gnomovision' (which makes passes at compilers) written by James Hacker. |
| | | |
| | | signature of Ty Coon, 1 April 1989 |
| | | |
| | | Ty Coon, President of Vice |
| | | |
| | | This General Public License does not permit incorporating your program into |
| | | proprietary programs. If your program is a subroutine library, you may |
| | | consider it more useful to permit linking proprietary applications with the |
| | | library. If this is what you want to do, use the GNU Library General Public |
| | | License instead of this License. |
| | | |
| | | |
| | | "CLASSPATH" EXCEPTION TO THE GPL |
| | | |
| | | Certain source files distributed by Oracle America and/or its affiliates are |
| | | subject to the following clarification and special exception to the GPL, but |
| | | only where Oracle has expressly included in the particular source file's header |
| | | the words "Oracle designates this particular file as subject to the "Classpath" |
| | | exception as provided by Oracle in the LICENSE file that accompanied this code." |
| | | |
| | | Linking this library statically or dynamically with other modules is making |
| | | a combined work based on this library. Thus, the terms and conditions of |
| | | the GNU General Public License cover the whole combination. |
| | | |
| | | As a special exception, the copyright holders of this library give you |
| | | permission to link this library with independent modules to produce an |
| | | executable, regardless of the license terms of these independent modules, |
| | | and to copy and distribute the resulting executable under terms of your |
| | | choice, provided that you also meet, for each linked independent module, |
| | | the terms and conditions of the license of that module. An independent |
| | | module is a module which is not derived from or based on this library. If |
| | | you modify this library, you may extend this exception to your version of |
| | | the library, but you are not obligated to do so. If you do not wish to do |
| | | so, delete this exception statement from your version. |
New file |
| | |
| | | # |
| | | # This file and its contents are supplied under the terms of the |
| | | # Common Development and Distribution License ("CDDL"), version 1.0. |
| | | # You may only use this file in accordance with the terms of version |
| | | # 1.0 of the CDDL. |
| | | # |
| | | # A full copy of the text of the CDDL should have accompanied this |
| | | # source. A copy of the CDDL is also available via the Internet at |
| | | # http://www.illumos.org/license/CDDL. |
| | | # |
| | | |
| | | # |
| | | # Copyright 2016 Alexander Pyhalov |
| | | # Copyright 2021 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved. |
| | | # Copyright 2023 Niklas Poslovski |
| | | # |
| | | |
| | | <transform path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/.*\.so -> default pkg.linted.userland.action001.2 true> |
| | | |
| | | set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) |
| | | set name=pkg.summary value="OpenJDK $(COMPONENT_VERSION) Runtime Environment" |
| | | set name=info.classification value="$(COMPONENT_CLASSIFICATION)" |
| | | set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) |
| | | set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) |
| | | set name=org.opensolaris.consolidation value=$(CONSOLIDATION) |
| | | |
| | | license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' |
| | | |
| | | dir path=usr/jdk/instances/$(OPENJDK_INSTANCE) |
| | | link path=usr/jdk/$(COMPONENT_NAME)$(OPENJDK_VERSION) target=instances/$(OPENJDK_INSTANCE) |
| | | |
| | | ## as long as the two links are defined in openjdk8 they can't be used here |
| | | # link path=usr/jdk/latest target=$(OPENJDK_INSTANCE) pkg.linted.userland.action002.0=true |
| | | # link path=usr/java target=jdk/$(OPENJDK_INSTANCE) |
| | | |
| | | # ls ..|xargs -n1 basename|awk '{ print "link path=usr/bin/"$1" target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/"$1" mediator=java mediator-version=22" }' |
| | | link path=usr/bin/jar target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jar mediator=java mediator-version=22 |
| | | link path=usr/bin/jarsigner target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jarsigner mediator=java mediator-version=22 |
| | | link path=usr/bin/java target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/java mediator=java mediator-version=22 |
| | | link path=usr/bin/javac target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/javac mediator=java mediator-version=22 |
| | | link path=usr/bin/javadoc target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/javadoc mediator=java mediator-version=22 |
| | | link path=usr/bin/javap target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/javap mediator=java mediator-version=22 |
| | | link path=usr/bin/jcmd target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jcmd mediator=java mediator-version=22 |
| | | link path=usr/bin/jconsole target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jconsole mediator=java mediator-version=22 |
| | | link path=usr/bin/jdb target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jdb mediator=java mediator-version=22 |
| | | link path=usr/bin/jdeprscan target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jdeprscan mediator=java mediator-version=22 |
| | | link path=usr/bin/jdeps target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jdeps mediator=java mediator-version=22 |
| | | link path=usr/bin/jfr target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jfr mediator=java mediator-version=22 |
| | | link path=usr/bin/jhsdb target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jhsdb mediator=java mediator-version=22 |
| | | link path=usr/bin/jimage target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jimage mediator=java mediator-version=22 |
| | | link path=usr/bin/jinfo target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jinfo mediator=java mediator-version=22 |
| | | link path=usr/bin/jlink target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jlink mediator=java mediator-version=22 |
| | | link path=usr/bin/jmap target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jmap mediator=java mediator-version=22 |
| | | link path=usr/bin/jmod target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jmod mediator=java mediator-version=22 |
| | | link path=usr/bin/jps target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jps mediator=java mediator-version=22 |
| | | link path=usr/bin/jrunscript target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jrunscript mediator=java mediator-version=22 |
| | | link path=usr/bin/jshell target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jshell mediator=java mediator-version=22 |
| | | link path=usr/bin/jstack target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jstack mediator=java mediator-version=22 |
| | | link path=usr/bin/jstat target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jstat mediator=java mediator-version=22 |
| | | link path=usr/bin/jstatd target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jstatd mediator=java mediator-version=22 |
| | | link path=usr/bin/jwebserver target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/jwebserver mediator=java mediator-version=22 |
| | | link path=usr/bin/keytool target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/keytool mediator=java mediator-version=22 |
| | | link path=usr/bin/rmiregistry target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/rmiregistry mediator=java mediator-version=22 |
| | | link path=usr/bin/serialver target=../jdk/instances/$(OPENJDK_INSTANCE)/bin/serialver mediator=java mediator-version=22 |
| | | |
| | | # moved from Generated section |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jspawnhelper mode=0555 |
| | | |
| | | # Generated section: |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jarsigner |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/java |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/javac |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/javadoc |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/javap |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jcmd |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jconsole |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jdb |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jdeprscan |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jdeps |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jfr |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jhsdb |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jimage |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jinfo |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jlink |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jmap |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jps |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jrunscript |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jshell |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jstack |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jstat |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jstatd |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/jwebserver |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/keytool |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/rmiregistry |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/bin/serialver |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/jaxp.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/logging.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/management/jmxremote.access |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/management/jmxremote.password.template |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/management/management.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/net.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/sdp/sdp.conf.template |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/java.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/java.security |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/README.txt |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/limited/default_US_export.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/limited/default_local.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/limited/exempt_local.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/unlimited/default_US_export.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/policy/unlimited/default_local.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/security/sunpkcs11-solaris.cfg |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/conf/sound.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/classfile_constants.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/jawt.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/jdwpTransport.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/jni.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/jvmti.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/jvmticmlr.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/solaris/jawt_md.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/include/solaris/jni_md.h |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.base.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.compiler.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.datatransfer.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.desktop.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.instrument.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.logging.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.management.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.management.rmi.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.naming.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.net.http.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.prefs.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.rmi.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.scripting.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.se.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.security.jgss.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.security.sasl.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.smartcardio.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.sql.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.sql.rowset.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.transaction.xa.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.xml.crypto.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/java.xml.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.accessibility.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.attach.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.charsets.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.compiler.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.crypto.cryptoki.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.crypto.ec.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.dynalink.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.editpad.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.hotspot.agent.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.httpserver.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.incubator.vector.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.ed.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.jvmstat.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.le.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.opt.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.ci.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.compiler.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.internal.vm.compiler.management.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jartool.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.javadoc.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jcmd.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jconsole.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jdeps.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jdi.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jdwp.agent.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jfr.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jlink.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jshell.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jsobject.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.jstatd.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.localedata.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.management.agent.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.management.jfr.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.management.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.naming.dns.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.naming.rmi.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.net.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.nio.mapmode.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.random.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.sctp.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.security.auth.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.security.jgss.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.unsupported.desktop.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.unsupported.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.xml.dom.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/jmods/jdk.zipfs.jmod |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/ADDITIONAL_LICENSE_INFO |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/ASSEMBLY_EXCEPTION |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/aes.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/asm.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/c-libutl.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/cldr.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/icu.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/public_suffix.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.base/unicode.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.datatransfer/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.datatransfer/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/colorimaging.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/lcms.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/mesa3d.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/pipewire.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.desktop/xwd.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.instrument/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.instrument/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.instrument/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.logging/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.logging/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.logging/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.naming/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.naming/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.naming/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.net.http/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.net.http/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.net.http/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.prefs/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.prefs/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.prefs/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.scripting/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.scripting/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.scripting/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.se/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.se/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.se/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.jgss/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.jgss/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.sasl/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.security.sasl/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.smartcardio/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.smartcardio/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.smartcardio/pcsclite.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql.rowset/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql.rowset/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.sql/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.transaction.xa/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.transaction.xa/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml.crypto/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml.crypto/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml.crypto/santuario.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/bcel.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/dom.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/jcup.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/xalan.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/java.xml/xerces.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.accessibility/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.accessibility/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.attach/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.attach/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.attach/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.charsets/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.charsets/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.cryptoki/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.cryptoki/pkcs11wrapper.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.crypto.ec/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.dynalink/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.dynalink/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.dynalink/dynalink.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.editpad/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.editpad/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.hotspot.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.httpserver/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.httpserver/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.incubator.vector/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.ed/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.jvmstat/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.le/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.le/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.le/jline.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.opt/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.opt/jopt-simple.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.ci/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.internal.vm.compiler/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jartool/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jartool/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.javadoc/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.javadoc/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.javadoc/jquery.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.javadoc/jqueryUI.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jcmd/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jcmd/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jconsole/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jconsole/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdeps/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdeps/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jdwp.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jfr/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jfr/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jlink/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jlink/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jshell/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jshell/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jsobject/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jsobject/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jstatd/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.jstatd/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.localedata/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.localedata/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.localedata/cldr.md \ |
| | | target=../java.base/cldr.md |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.localedata/thaidict.md |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.agent/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.agent/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management.jfr/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.management/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.dns/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.naming.rmi/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.net/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.net/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.net/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.nio.mapmode/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.random/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.random/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.random/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.sctp/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.sctp/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.auth/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.auth/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.security.jgss/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported.desktop/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.unsupported/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.xml.dom/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO \ |
| | | target=../java.base/ADDITIONAL_LICENSE_INFO |
| | | link \ |
| | | path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.zipfs/ASSEMBLY_EXCEPTION \ |
| | | target=../java.base/ASSEMBLY_EXCEPTION |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/legal/jdk.zipfs/LICENSE \ |
| | | target=../java.base/LICENSE |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/classlist |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/ct.sym |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/fontconfig.bfc |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/fontconfig.properties.src |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jfr/default.jfc |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jfr/profile.jfc |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jrt-fs.jar |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/jvm.cfg |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libattach.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libawt.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libawt_headless.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libawt_xawt.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libdt_socket.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libfontmanager.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libinstrument.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libj2gss.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libj2pcsc.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libj2pkcs11.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjaas.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjava.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjavajpeg.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjawt.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjdwp.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjimage.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjli.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjsig.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjsound.so |
| | | link path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libjvm.so \ |
| | | target=server/libjvm.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/liblcms.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/lible.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libmanagement.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libmanagement_agent.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libmanagement_ext.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libmlib_image.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libnet.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libnio.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libprefs.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/librmi.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libsaproc.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libsctp.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libsplashscreen.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libsyslookup.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libverify.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/libzip.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/modules |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/psfont.properties.ja |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/psfontj2d.properties |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/security/blocked.certs |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/security/cacerts |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/security/default.policy |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/security/public_suffix_list.dat |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/server/classes.jsa |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/server/classes_nocoops.jsa |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/server/libjsig.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/server/libjvm.so |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/src.zip |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/lib/tzdb.dat |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jar.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jarsigner.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/java.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/javac.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/javadoc.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/javap.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jcmd.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jconsole.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jdb.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jdeprscan.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jdeps.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jfr.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jhsdb.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jinfo.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jlink.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jmap.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jmod.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jps.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jrunscript.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jshell.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jstack.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jstat.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jstatd.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/jwebserver.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/keytool.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/rmiregistry.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/man/man1/serialver.1 |
| | | file path=usr/jdk/instances/$(OPENJDK_INSTANCE)/release |
New file |
| | |
| | | To enable the ffi fallback for the foreign linker: |
| | | |
| | | --enable-fallback-linker |
| | | |
| | | That works, but adds FFI to the dependencies. To bundle the FFI we |
| | | use, you need to |
| | | |
| | | --enable-libffi-bundling |
| | | |
| | | and then help the build out so it can find the right file. The search |
| | | logic (see make/autoconf/lib-ffi.m4) is a bit of guesswork and |
| | | linux-specific. |
| | | |
| | | You can't use a simple --with-libffi=/usr, because it doesn't know |
| | | where our 64-bit library is. So you have to be more specific: |
| | | |
| | | --with-libffi-include=/usr/include |
| | | --with-libffi-lib=/usr/lib/amd64 |
| | | |
| | | (You don't need the first one, as that's already the default.) |
| | | |
| | | That still doesn't quite work, as we have multiple libffi.so.X files |
| | | (for backwards compatibility) which causes confusion: |
| | | |
| | | checking for libffi lib file location... /var/tmp/ud/jdk21-jdk-21-28/build/.configure-support/generated-configure.sh: line 144232: test: too many arguments |
| | | configure: error: Could not locate libffi.so.? for bundling in /usr/lib/amd64 |
| | | |
| | | So I think the way to avoid that would be to create a temporary |
| | | directory and structure that in a way the configure script expects. |
New file |
| | |
| | | "Zero is a port of OpenJDK that uses no assembler and therefore can |
| | | trivially be built on any system." |
| | | |
| | | https://openjdk.java.net/projects/zero/ |
| | | |
| | | The idea here is to potentially have an illumos port of zero. It's not |
| | | so interesting on x86, for which we have a proper port anyway, but if |
| | | we can get zero to work on x86 then it should be possible to get it to |
| | | work on sparc too. |
| | | |
| | | It still needs the basic solaris patchset. It's designed more to support |
| | | new hardware architectures (hence the zero assembler) than as a way to |
| | | do an OS port. |
| | | |
| | | There are 2 patches: |
| | | |
| | | illumos-zero-1.patch |
| | | Fixes src/hotspot/cpu/zero/stubGenerator_zero.cpp |
| | | |
| | | illumos-zero-2.patch |
| | | Adds the src/hotspot/os_cpu/solaris_zero directory and contents |
| | | |
| | | These are current and tested for a successful build (not necessarily |
| | | fully working) as of jdk 22+8. They don't provide a proper zero port, |
| | | as they still have x86 assembler that needs to be removed. But this |
| | | provides a starting point. |
| | | |
| | | The two patches above are now applied by default, so we at least catch |
| | | any source incompatibilities early. |
| | | |
| | | Configure: |
| | | |
| | | env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \ |
| | | --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk20 \ |
| | | --with-native-debug-symbols=none \ |
| | | --with-toolchain-type=gcc \ |
| | | --disable-dtrace \ |
| | | --disable-warnings-as-errors \ |
| | | --enable-jvm-feature-zero --with-jvm-variants=zero \ |
| | | --with-source-date=current \ |
| | | --with-jobs=3 \ |
| | | DATE=/usr/gnu/bin/date \ |
| | | STRIP=/usr/gnu/bin/strip |
| | | |
| | | build: |
| | | |
| | | env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all CONF=solaris-x86_64-zero-release |
New file |
| | |
| | | This is originally derived from the pkgsrc-joyent set for openjdk11, |
| | | considerably modified. Cut from the jdk15 patches as of jdk15+32. |
| | | |
| | | See also README-zero.txt for note on a project zero variant. |
| | | |
| | | JDK 22 now that jdk21 has been forked off. |
| | | |
| | | Issues known that indicate serious bugs, likely due to not integrating |
| | | loom correctly as they date back to that change. Specifically, I |
| | | suspect we need to provide a working DefaultPoller implementation |
| | | rather than the current stub. |
| | | * jshell doesn't work |
| | | * illuminate doesn't work |
| | | |
| | | 22+11 |
| | | |
| | | Remove AttachListener::pd_find_operation() |
| | | Merge and delete tribblix-attachListener_solaris.patch |
| | | |
| | | 22+9, 22+10 |
| | | |
| | | Trivial patch noise. |
| | | |
| | | 22+8 |
| | | |
| | | Fix zero port; see Atomic and print_register_info change in jdk 21+23 |
| | | |
| | | Needed to add stubs for can_trim_native_heap() and trim_native_heap() |
| | | to os_solaris.inline.hpp |
| | | |
| | | 22+7 |
| | | |
| | | Trivial patch noise. |
| | | |
| | | 22+6 |
| | | |
| | | Trivial patch noise. |
| | | Dropped the old make/autoconf/lib-freetype.m4 patch, as it's |
| | | not relevant to us. |
| | | Fix format warning in print_memory_info() |
| | | |
| | | 22+4, 22+5 |
| | | |
| | | Trivial patch noise. |
| | | |
| | | 22+3 |
| | | |
| | | Minor patch noise. |
| | | |
| | | 22+2 |
| | | |
| | | Some patch noise, especially Awt2dLibraries.gmk and static linking. |
| | | |
| | | 22+1 |
| | | |
| | | No changes needed, identical to 21+26. |
| | | |
| | | Build: |
| | | |
| | | env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \ |
| | | --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk20 \ |
| | | --with-native-debug-symbols=none \ |
| | | --with-toolchain-type=gcc \ |
| | | --disable-dtrace \ |
| | | --disable-warnings-as-errors \ |
| | | --with-source-date=current \ |
| | | --with-jobs=3 \ |
| | | DATE=/usr/gnu/bin/date \ |
| | | STRIP=/usr/gnu/bin/strip |
| | | |
| | | env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all |
New file |
| | |
| | | --- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp Tue Jul 28 18:40:12 2020 |
| | | +++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp Tue Jul 28 19:48:19 2020 |
| | | @@ -44,5 +44,7 @@ |
| | | static void setup_fpu(); |
| | | #endif // AMD64 |
| | | + |
| | | + static juint cpu_microcode_revision(); |
| | | |
| | | static jlong rdtsc(); |
| | | |
| | | --- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp Tue Jul 28 18:40:12 2020 |
| | | +++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp Tue Jul 28 19:50:48 2020 |
| | | @@ -294,6 +294,12 @@ |
| | | } |
| | | |
| | | |
| | | +juint os::cpu_microcode_revision() { |
| | | + juint result = 0; |
| | | + // to implement this, look at the source for ucodeadm -v |
| | | + return result; |
| | | +} |
| | | + |
| | | bool PosixSignals::pd_hotspot_signal_handler(int sig, siginfo_t* info, |
| | | ucontext_t* uc, JavaThread* thread) { |
| | | |
New file |
| | |
| | | --- /dev/null |
| | | +++ b/src/jdk.internal.le/solaris/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java 2023-06-02 10:45:50.331153527 +0100 |
| | | @@ -0,0 +1,51 @@ |
| | | +/* |
| | | + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | +package jdk.internal.org.jline.terminal.impl.jna; |
| | | + |
| | | +import java.io.IOException; |
| | | +import jdk.internal.org.jline.terminal.Attributes; |
| | | +import jdk.internal.org.jline.terminal.Size; |
| | | +import jdk.internal.org.jline.terminal.impl.jna.solaris.SolarisNativePty; |
| | | +import jdk.internal.org.jline.terminal.spi.TerminalProvider; |
| | | + |
| | | +class JDKNativePty { |
| | | + |
| | | + static JnaNativePty current(TerminalProvider.Stream console) throws IOException { |
| | | + return SolarisNativePty.current(console); |
| | | + } |
| | | + |
| | | + static JnaNativePty open(Attributes attr, Size size) throws IOException { |
| | | + return SolarisNativePty.open(attr, size); |
| | | + } |
| | | + |
| | | + static int isatty(int fd) { |
| | | + return SolarisNativePty.isatty(fd); |
| | | + } |
| | | + |
| | | + static String ttyname(int fd) { |
| | | + return SolarisNativePty.ttyname(fd); |
| | | + } |
| | | + |
| | | +} |
| | | --- /dev/null |
| | | +++ b/src/jdk.internal.le/solaris/classes/jdk/internal/org/jline/terminal/impl/jna/solaris/CLibrary.java 2023-06-02 10:47:56.181885176 +0100 |
| | | @@ -0,0 +1,387 @@ |
| | | +/* |
| | | + * Copyright (c) 2002-2020, the original author(s). |
| | | + * |
| | | + * This software is distributable under the BSD license. See the terms of the |
| | | + * BSD license in the documentation provided with this software. |
| | | + * |
| | | + * https://opensource.org/licenses/BSD-3-Clause |
| | | + */ |
| | | +package jdk.internal.org.jline.terminal.impl.jna.solaris; |
| | | + |
| | | +import java.util.Arrays; |
| | | +import java.util.EnumMap; |
| | | +import java.util.EnumSet; |
| | | +import java.util.List; |
| | | + |
| | | +//import com.sun.jna.LastErrorException; |
| | | +//import com.sun.jna.Structure; |
| | | +import jdk.internal.org.jline.terminal.Attributes; |
| | | +import jdk.internal.org.jline.terminal.Attributes.ControlChar; |
| | | +import jdk.internal.org.jline.terminal.Attributes.ControlFlag; |
| | | +import jdk.internal.org.jline.terminal.Attributes.InputFlag; |
| | | +import jdk.internal.org.jline.terminal.Attributes.LocalFlag; |
| | | +import jdk.internal.org.jline.terminal.Attributes.OutputFlag; |
| | | +import jdk.internal.org.jline.terminal.Size; |
| | | +import jdk.internal.org.jline.terminal.impl.jna.LastErrorException; |
| | | + |
| | | +public interface CLibrary {//extends com.sun.jna.Library { |
| | | + |
| | | + void tcgetattr(int fd, termios termios) throws LastErrorException; |
| | | + |
| | | + void tcsetattr(int fd, int cmd, termios termios) throws LastErrorException; |
| | | + |
| | | + void ioctl(int fd, long cmd, winsize data) throws LastErrorException; |
| | | + |
| | | + int isatty(int fd); |
| | | + |
| | | + void ttyname_r(int fd, byte[] buf, int len) throws LastErrorException; |
| | | + |
| | | + void openpty(int[] master, int[] slave, byte[] name, termios t, winsize s) throws LastErrorException; |
| | | + |
| | | + class winsize { //extends Structure { |
| | | + public short ws_row; |
| | | + public short ws_col; |
| | | + public short ws_xpixel; |
| | | + public short ws_ypixel; |
| | | + |
| | | + public winsize() { |
| | | + } |
| | | + |
| | | + public winsize(Size ws) { |
| | | + ws_row = (short) ws.getRows(); |
| | | + ws_col = (short) ws.getColumns(); |
| | | + } |
| | | + |
| | | + public Size toSize() { |
| | | + return new Size(ws_col, ws_row); |
| | | + } |
| | | + |
| | | +// @Override |
| | | +// protected List<String> getFieldOrder() { |
| | | +// return Arrays.asList( // |
| | | +// "ws_row", // |
| | | +// "ws_col", // |
| | | +// "ws_xpixel", // |
| | | +// "ws_ypixel" // |
| | | +// ); |
| | | +// } |
| | | + } |
| | | + |
| | | + class termios {//extends Structure { |
| | | + |
| | | + public int c_iflag; |
| | | + public int c_oflag; |
| | | + public int c_cflag; |
| | | + public int c_lflag; |
| | | + public byte[] c_cc = new byte[32]; |
| | | + |
| | | +// @Override |
| | | +// protected List<String> getFieldOrder() { |
| | | +// return Arrays.asList( // |
| | | +// "c_iflag", // |
| | | +// "c_oflag", // |
| | | +// "c_cflag", // |
| | | +// "c_lflag", // |
| | | +// "c_cc" // |
| | | +// ); |
| | | +// } |
| | | + |
| | | + public termios() { |
| | | + } |
| | | + |
| | | + public termios(Attributes t) { |
| | | + // Input flags |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IGNBRK), IGNBRK, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.BRKINT), BRKINT, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IGNPAR), IGNPAR, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.PARMRK), PARMRK, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.INPCK), INPCK, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.ISTRIP), ISTRIP, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.INLCR), INLCR, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IGNCR), IGNCR, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.ICRNL), ICRNL, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IXON), IXON, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IXOFF), IXOFF, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IXANY), IXANY, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IMAXBEL), IMAXBEL, c_iflag); |
| | | + c_iflag = setFlag(t.getInputFlag(InputFlag.IUTF8), IUTF8, c_iflag); |
| | | + // Output flags |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.OPOST), OPOST, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.ONLCR), ONLCR, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.OCRNL), OCRNL, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.ONOCR), ONOCR, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.ONLRET), ONLRET, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.OFILL), OFILL, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.NLDLY), NLDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.TABDLY), TABDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.CRDLY), CRDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.FFDLY), FFDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.BSDLY), BSDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.VTDLY), VTDLY, c_oflag); |
| | | + c_oflag = setFlag(t.getOutputFlag(OutputFlag.OFDEL), OFDEL, c_oflag); |
| | | + // Control flags |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CS5), CS5, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CS6), CS6, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CS7), CS7, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CS8), CS8, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CSTOPB), CSTOPB, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CREAD), CREAD, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.PARENB), PARENB, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.PARODD), PARODD, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.HUPCL), HUPCL, c_cflag); |
| | | + c_cflag = setFlag(t.getControlFlag(ControlFlag.CLOCAL), CLOCAL, c_cflag); |
| | | + // Local flags |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHOKE), ECHOKE, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHOE), ECHOE, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHOK), ECHOK, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHO), ECHO, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHONL), ECHONL, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHOPRT), ECHOPRT, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ECHOCTL), ECHOCTL, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ISIG), ISIG, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.ICANON), ICANON, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.IEXTEN), IEXTEN, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.EXTPROC), EXTPROC, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.TOSTOP), TOSTOP, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.FLUSHO), FLUSHO, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.PENDIN), PENDIN, c_lflag); |
| | | + c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); |
| | | + // Control chars |
| | | + c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); |
| | | + c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); |
| | | + c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); |
| | | + c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); |
| | | + c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); |
| | | + c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); |
| | | + c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); |
| | | + c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); |
| | | + c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); |
| | | + c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); |
| | | + c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); |
| | | + c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); |
| | | + c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); |
| | | + c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); |
| | | + c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); |
| | | + c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME); |
| | | + } |
| | | + |
| | | + private int setFlag(boolean flag, int value, int org) { |
| | | + return flag ? (org | value) : org; |
| | | + } |
| | | + |
| | | + public Attributes toAttributes() { |
| | | + Attributes attr = new Attributes(); |
| | | + // Input flags |
| | | + EnumSet<InputFlag> iflag = attr.getInputFlags(); |
| | | + addFlag(c_iflag, iflag, InputFlag.IGNBRK, IGNBRK); |
| | | + addFlag(c_iflag, iflag, InputFlag.IGNBRK, IGNBRK); |
| | | + addFlag(c_iflag, iflag, InputFlag.BRKINT, BRKINT); |
| | | + addFlag(c_iflag, iflag, InputFlag.IGNPAR, IGNPAR); |
| | | + addFlag(c_iflag, iflag, InputFlag.PARMRK, PARMRK); |
| | | + addFlag(c_iflag, iflag, InputFlag.INPCK, INPCK); |
| | | + addFlag(c_iflag, iflag, InputFlag.ISTRIP, ISTRIP); |
| | | + addFlag(c_iflag, iflag, InputFlag.INLCR, INLCR); |
| | | + addFlag(c_iflag, iflag, InputFlag.IGNCR, IGNCR); |
| | | + addFlag(c_iflag, iflag, InputFlag.ICRNL, ICRNL); |
| | | + addFlag(c_iflag, iflag, InputFlag.IXON, IXON); |
| | | + addFlag(c_iflag, iflag, InputFlag.IXOFF, IXOFF); |
| | | + addFlag(c_iflag, iflag, InputFlag.IXANY, IXANY); |
| | | + addFlag(c_iflag, iflag, InputFlag.IMAXBEL, IMAXBEL); |
| | | + addFlag(c_iflag, iflag, InputFlag.IUTF8, IUTF8); |
| | | + // Output flags |
| | | + EnumSet<OutputFlag> oflag = attr.getOutputFlags(); |
| | | + addFlag(c_oflag, oflag, OutputFlag.OPOST, OPOST); |
| | | + addFlag(c_oflag, oflag, OutputFlag.ONLCR, ONLCR); |
| | | + addFlag(c_oflag, oflag, OutputFlag.OCRNL, OCRNL); |
| | | + addFlag(c_oflag, oflag, OutputFlag.ONOCR, ONOCR); |
| | | + addFlag(c_oflag, oflag, OutputFlag.ONLRET, ONLRET); |
| | | + addFlag(c_oflag, oflag, OutputFlag.OFILL, OFILL); |
| | | + addFlag(c_oflag, oflag, OutputFlag.NLDLY, NLDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.TABDLY, TABDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.CRDLY, CRDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.FFDLY, FFDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.BSDLY, BSDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.VTDLY, VTDLY); |
| | | + addFlag(c_oflag, oflag, OutputFlag.OFDEL, OFDEL); |
| | | + // Control flags |
| | | + EnumSet<ControlFlag> cflag = attr.getControlFlags(); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CS5, CS5); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CS6, CS6); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CS7, CS7); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CS8, CS8); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CSTOPB, CSTOPB); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CREAD, CREAD); |
| | | + addFlag(c_cflag, cflag, ControlFlag.PARENB, PARENB); |
| | | + addFlag(c_cflag, cflag, ControlFlag.PARODD, PARODD); |
| | | + addFlag(c_cflag, cflag, ControlFlag.HUPCL, HUPCL); |
| | | + addFlag(c_cflag, cflag, ControlFlag.CLOCAL, CLOCAL); |
| | | + // Local flags |
| | | + EnumSet<LocalFlag> lflag = attr.getLocalFlags(); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHOKE, ECHOKE); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHOE, ECHOE); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHOK, ECHOK); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHO, ECHO); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHONL, ECHONL); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHOPRT, ECHOPRT); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ECHOCTL, ECHOCTL); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ISIG, ISIG); |
| | | + addFlag(c_lflag, lflag, LocalFlag.ICANON, ICANON); |
| | | + addFlag(c_lflag, lflag, LocalFlag.IEXTEN, IEXTEN); |
| | | + addFlag(c_lflag, lflag, LocalFlag.EXTPROC, EXTPROC); |
| | | + addFlag(c_lflag, lflag, LocalFlag.TOSTOP, TOSTOP); |
| | | + addFlag(c_lflag, lflag, LocalFlag.FLUSHO, FLUSHO); |
| | | + addFlag(c_lflag, lflag, LocalFlag.PENDIN, PENDIN); |
| | | + addFlag(c_lflag, lflag, LocalFlag.NOFLSH, NOFLSH); |
| | | + // Control chars |
| | | + EnumMap<ControlChar, Integer> cc = attr.getControlChars(); |
| | | + cc.put(ControlChar.VEOF, (int) c_cc[VEOF]); |
| | | + cc.put(ControlChar.VEOL, (int) c_cc[VEOL]); |
| | | + cc.put(ControlChar.VEOL2, (int) c_cc[VEOL2]); |
| | | + cc.put(ControlChar.VERASE, (int) c_cc[VERASE]); |
| | | + cc.put(ControlChar.VWERASE, (int) c_cc[VWERASE]); |
| | | + cc.put(ControlChar.VKILL, (int) c_cc[VKILL]); |
| | | + cc.put(ControlChar.VREPRINT, (int) c_cc[VREPRINT]); |
| | | + cc.put(ControlChar.VINTR, (int) c_cc[VINTR]); |
| | | + cc.put(ControlChar.VQUIT, (int) c_cc[VQUIT]); |
| | | + cc.put(ControlChar.VSUSP, (int) c_cc[VSUSP]); |
| | | + cc.put(ControlChar.VSTART, (int) c_cc[VSTART]); |
| | | + cc.put(ControlChar.VSTOP, (int) c_cc[VSTOP]); |
| | | + cc.put(ControlChar.VLNEXT, (int) c_cc[VLNEXT]); |
| | | + cc.put(ControlChar.VDISCARD, (int) c_cc[VDISCARD]); |
| | | + cc.put(ControlChar.VMIN, (int) c_cc[VMIN]); |
| | | + cc.put(ControlChar.VTIME, (int) c_cc[VTIME]); |
| | | + // Return |
| | | + return attr; |
| | | + } |
| | | + |
| | | + private <T extends Enum<T>> void addFlag(int value, EnumSet<T> flags, T flag, int v) { |
| | | + if ((value & v) != 0) { |
| | | + flags.add(flag); |
| | | + } |
| | | + } |
| | | + } |
| | | + |
| | | + // CONSTANTS |
| | | + |
| | | + int _TIOC = ('T' << 8); |
| | | + int TIOCGWINSZ = (_TIOC | 104); |
| | | + int TIOCSWINSZ = (_TIOC | 103); |
| | | + |
| | | + int VINTR = 0; |
| | | + int VQUIT = 1; |
| | | + int VERASE = 2; |
| | | + int VKILL = 3; |
| | | + int VEOF = 4; |
| | | + int VTIME = 5; |
| | | + int VMIN = 6; |
| | | + int VSWTC = 7; |
| | | + int VSTART = 8; |
| | | + int VSTOP = 9; |
| | | + int VSUSP = 10; |
| | | + int VEOL = 11; |
| | | + int VREPRINT = 12; |
| | | + int VDISCARD = 13; |
| | | + int VWERASE = 14; |
| | | + int VLNEXT = 15; |
| | | + int VEOL2 = 16; |
| | | + |
| | | + int IGNBRK = 0x0000001; |
| | | + int BRKINT = 0x0000002; |
| | | + int IGNPAR = 0x0000004; |
| | | + int PARMRK = 0x0000010; |
| | | + int INPCK = 0x0000020; |
| | | + int ISTRIP = 0x0000040; |
| | | + int INLCR = 0x0000100; |
| | | + int IGNCR = 0x0000200; |
| | | + int ICRNL = 0x0000400; |
| | | + int IUCLC = 0x0001000; |
| | | + int IXON = 0x0002000; |
| | | + int IXANY = 0x0004000; |
| | | + int IXOFF = 0x0010000; |
| | | + int IMAXBEL = 0x0020000; |
| | | + int IUTF8 = 0x0040000; |
| | | + |
| | | + int OPOST = 0x0000001; |
| | | + int OLCUC = 0x0000002; |
| | | + int ONLCR = 0x0000004; |
| | | + int OCRNL = 0x0000010; |
| | | + int ONOCR = 0x0000020; |
| | | + int ONLRET = 0x0000040; |
| | | + int OFILL = 0x0000100; |
| | | + int OFDEL = 0x0000200; |
| | | + int NLDLY = 0x0000400; |
| | | + int NL0 = 0x0000000; |
| | | + int NL1 = 0x0000400; |
| | | + int CRDLY = 0x0003000; |
| | | + int CR0 = 0x0000000; |
| | | + int CR1 = 0x0001000; |
| | | + int CR2 = 0x0002000; |
| | | + int CR3 = 0x0003000; |
| | | + int TABDLY = 0x0014000; |
| | | + int TAB0 = 0x0000000; |
| | | + int TAB1 = 0x0004000; |
| | | + int TAB2 = 0x0010000; |
| | | + int TAB3 = 0x0014000; |
| | | + int XTABS = 0x0014000; |
| | | + int BSDLY = 0x0020000; |
| | | + int BS0 = 0x0000000; |
| | | + int BS1 = 0x0020000; |
| | | + int VTDLY = 0x0040000; |
| | | + int VT0 = 0x0000000; |
| | | + int VT1 = 0x0040000; |
| | | + int FFDLY = 0x0100000; |
| | | + int FF0 = 0x0000000; |
| | | + int FF1 = 0x0100000; |
| | | + |
| | | + int CBAUD = 0x0010017; |
| | | + int B0 = 0x0000000; |
| | | + int B50 = 0x0000001; |
| | | + int B75 = 0x0000002; |
| | | + int B110 = 0x0000003; |
| | | + int B134 = 0x0000004; |
| | | + int B150 = 0x0000005; |
| | | + int B200 = 0x0000006; |
| | | + int B300 = 0x0000007; |
| | | + int B600 = 0x0000010; |
| | | + int B1200 = 0x0000011; |
| | | + int B1800 = 0x0000012; |
| | | + int B2400 = 0x0000013; |
| | | + int B4800 = 0x0000014; |
| | | + int B9600 = 0x0000015; |
| | | + int B19200 = 0x0000016; |
| | | + int B38400 = 0x0000017; |
| | | + int EXTA = 0xB19200; |
| | | + int EXTB = 0xB38400; |
| | | + int CSIZE = 0x0000060; |
| | | + int CS5 = 0x0000000; |
| | | + int CS6 = 0x0000020; |
| | | + int CS7 = 0x0000040; |
| | | + int CS8 = 0x0000060; |
| | | + int CSTOPB = 0x0000100; |
| | | + int CREAD = 0x0000200; |
| | | + int PARENB = 0x0000400; |
| | | + int PARODD = 0x0001000; |
| | | + int HUPCL = 0x0002000; |
| | | + int CLOCAL = 0x0004000; |
| | | + |
| | | + int ISIG = 0x0000001; |
| | | + int ICANON = 0x0000002; |
| | | + int XCASE = 0x0000004; |
| | | + int ECHO = 0x0000010; |
| | | + int ECHOE = 0x0000020; |
| | | + int ECHOK = 0x0000040; |
| | | + int ECHONL = 0x0000100; |
| | | + int NOFLSH = 0x0000200; |
| | | + int TOSTOP = 0x0000400; |
| | | + int ECHOCTL = 0x0001000; |
| | | + int ECHOPRT = 0x0002000; |
| | | + int ECHOKE = 0x0004000; |
| | | + int FLUSHO = 0x0010000; |
| | | + int PENDIN = 0x0040000; |
| | | + int IEXTEN = 0x0100000; |
| | | + int EXTPROC = 0x0200000; |
| | | + |
| | | + int TCSANOW = 0x0; |
| | | + int TCSADRAIN = 0x1; |
| | | + int TCSAFLUSH = 0x2; |
| | | +} |
| | | --- /dev/null |
| | | +++ b/src/jdk.internal.le/solaris/classes/jdk/internal/org/jline/terminal/impl/jna/solaris/CLibraryImpl.java 2023-06-02 10:52:24.003243641 +0100 |
| | | @@ -0,0 +1,66 @@ |
| | | +/* |
| | | + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | +package jdk.internal.org.jline.terminal.impl.jna.solaris; |
| | | + |
| | | +import jdk.internal.org.jline.terminal.impl.jna.LastErrorException; |
| | | + |
| | | +public final class CLibraryImpl implements CLibrary { |
| | | + |
| | | + static { |
| | | + System.loadLibrary("le"); |
| | | + initIDs(); |
| | | + } |
| | | + |
| | | + private static native void initIDs(); |
| | | + |
| | | + @Override |
| | | + public native void tcgetattr(int fd, termios termios) throws LastErrorException; |
| | | + |
| | | + @Override |
| | | + public native void tcsetattr(int fd, int cmd, termios termios) throws LastErrorException; |
| | | + |
| | | + @Override |
| | | + public void ioctl(int fd, long cmd, winsize data) throws LastErrorException { |
| | | + if (cmd == CLibrary.TIOCGWINSZ || cmd == CLibrary.TIOCSWINSZ) { |
| | | + ioctl0(fd, cmd, data); |
| | | + } else { |
| | | + throw new UnsupportedOperationException("Command: " + cmd + ", not supported."); |
| | | + } |
| | | + } |
| | | + |
| | | + private native void ioctl0(int fd, long cmd, winsize data) throws LastErrorException; |
| | | + |
| | | + @Override |
| | | + public native int isatty(int fd); |
| | | + |
| | | + @Override |
| | | + public native void ttyname_r(int fd, byte[] buf, int len) throws LastErrorException; |
| | | + |
| | | + @Override |
| | | + public void openpty(int[] master, int[] slave, byte[] name, CLibrary.termios t, CLibrary.winsize s) throws LastErrorException { |
| | | + throw new UnsupportedOperationException(); |
| | | + } |
| | | + |
| | | +} |
| | | --- /dev/null |
| | | +++ b/src/jdk.internal.le/solaris/classes/jdk/internal/org/jline/terminal/impl/jna/solaris/SolarisNativePty.java 2023-06-02 10:25:31.059689102 +0100 |
| | | @@ -0,0 +1,107 @@ |
| | | +/* |
| | | + * Copyright (c) 2002-2020, the original author(s). |
| | | + * |
| | | + * This software is distributable under the BSD license. See the terms of the |
| | | + * BSD license in the documentation provided with this software. |
| | | + * |
| | | + * https://opensource.org/licenses/BSD-3-Clause |
| | | + */ |
| | | +package jdk.internal.org.jline.terminal.impl.jna.solaris; |
| | | + |
| | | +import java.io.FileDescriptor; |
| | | +import java.io.IOException; |
| | | + |
| | | +import jdk.internal.org.jline.terminal.Attributes; |
| | | +import jdk.internal.org.jline.terminal.Size; |
| | | +import jdk.internal.org.jline.terminal.impl.jna.JnaNativePty; |
| | | +import jdk.internal.org.jline.terminal.spi.TerminalProvider; |
| | | + |
| | | +//import com.sun.jna.Native; |
| | | +//import com.sun.jna.Platform; |
| | | + |
| | | +import static jdk.internal.org.jline.terminal.impl.jna.solaris.CLibrary.TCSANOW; |
| | | +import static jdk.internal.org.jline.terminal.impl.jna.solaris.CLibrary.TIOCGWINSZ; |
| | | +import static jdk.internal.org.jline.terminal.impl.jna.solaris.CLibrary.TIOCSWINSZ; |
| | | +import static jdk.internal.org.jline.terminal.impl.jna.solaris.CLibrary.termios; |
| | | +import static jdk.internal.org.jline.terminal.impl.jna.solaris.CLibrary.winsize; |
| | | + |
| | | +public class SolarisNativePty extends JnaNativePty { |
| | | + |
| | | +// private static final CLibrary C_LIBRARY = Native.load(Platform.C_LIBRARY_NAME, CLibrary.class); |
| | | + private static final CLibrary C_LIBRARY = new CLibraryImpl(); |
| | | + |
| | | + public static SolarisNativePty current(TerminalProvider.Stream consoleStream) throws IOException { |
| | | + switch (consoleStream) { |
| | | + case Output: |
| | | + return new SolarisNativePty(-1, null, 0, FileDescriptor.in, 1, FileDescriptor.out, ttyname(0)); |
| | | + case Error: |
| | | + return new SolarisNativePty(-1, null, 0, FileDescriptor.in, 2, FileDescriptor.err, ttyname(0)); |
| | | + default: |
| | | + throw new IllegalArgumentException("Unsupport stream for console: " + consoleStream); |
| | | + } |
| | | + } |
| | | + |
| | | + public static SolarisNativePty open(Attributes attr, Size size) throws IOException { |
| | | + int[] master = new int[1]; |
| | | + int[] slave = new int[1]; |
| | | + byte[] buf = new byte[64]; |
| | | + C_LIBRARY.openpty(master, slave, buf, |
| | | + attr != null ? new termios(attr) : null, |
| | | + size != null ? new winsize(size) : null); |
| | | + int len = 0; |
| | | + while (buf[len] != 0) { |
| | | + len++; |
| | | + } |
| | | + String name = new String(buf, 0, len); |
| | | + return new SolarisNativePty(master[0], newDescriptor(master[0]), slave[0], newDescriptor(slave[0]), name); |
| | | + } |
| | | + |
| | | + public SolarisNativePty(int master, FileDescriptor masterFD, int slave, FileDescriptor slaveFD, String name) { |
| | | + super(master, masterFD, slave, slaveFD, name); |
| | | + } |
| | | + |
| | | + public SolarisNativePty(int master, FileDescriptor masterFD, int slave, FileDescriptor slaveFD, int slaveOut, FileDescriptor slaveOutFD, String name) { |
| | | + super(master, masterFD, slave, slaveFD, slaveOut, slaveOutFD, name); |
| | | + } |
| | | + |
| | | + @Override |
| | | + public Attributes getAttr() throws IOException { |
| | | + termios termios = new termios(); |
| | | + C_LIBRARY.tcgetattr(getSlave(), termios); |
| | | + return termios.toAttributes(); |
| | | + } |
| | | + |
| | | + @Override |
| | | + protected void doSetAttr(Attributes attr) throws IOException { |
| | | + termios termios = new termios(attr); |
| | | + C_LIBRARY.tcsetattr(getSlave(), TCSANOW, termios); |
| | | + } |
| | | + |
| | | + @Override |
| | | + public Size getSize() throws IOException { |
| | | + winsize sz = new winsize(); |
| | | + C_LIBRARY.ioctl(getSlave(), TIOCGWINSZ, sz); |
| | | + return sz.toSize(); |
| | | + } |
| | | + |
| | | + @Override |
| | | + public void setSize(Size size) throws IOException { |
| | | + winsize sz = new winsize(size); |
| | | + C_LIBRARY.ioctl(getSlave(), TIOCSWINSZ, sz); |
| | | + } |
| | | + |
| | | + public static int isatty(int fd) { |
| | | + return C_LIBRARY.isatty(fd); |
| | | + } |
| | | + |
| | | + public static String ttyname(int slave) { |
| | | + byte[] buf = new byte[64]; |
| | | + C_LIBRARY.ttyname_r(slave, buf, buf.length); |
| | | + int len = 0; |
| | | + while (buf[len] != 0) { |
| | | + len++; |
| | | + } |
| | | + return new String(buf, 0, len); |
| | | + } |
| | | + |
| | | +} |
| | | --- /dev/null |
| | | +++ b/src/jdk.internal.le/solaris/native/lible/CLibrary.cpp 2023-06-02 11:05:11.905773520 +0100 |
| | | @@ -0,0 +1,191 @@ |
| | | +/* |
| | | + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | + |
| | | +#include "jni.h" |
| | | +#include "jni_util.h" |
| | | +#include "jvm.h" |
| | | +#include "jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl.h" |
| | | + |
| | | +#include <errno.h> |
| | | +#include <stdlib.h> |
| | | +#include <termios.h> |
| | | +#include <unistd.h> |
| | | +#include <sys/ioctl.h> |
| | | + |
| | | +static jclass lastErrorExceptionClass; |
| | | +static jmethodID lastErrorExceptionConstructor; |
| | | + |
| | | +static jclass termios_j; |
| | | +static jfieldID c_iflag; |
| | | +static jfieldID c_oflag; |
| | | +static jfieldID c_cflag; |
| | | +static jfieldID c_lflag; |
| | | +static jfieldID c_cc; |
| | | + |
| | | +static jclass winsize_j; |
| | | +static jfieldID ws_row; |
| | | +static jfieldID ws_col; |
| | | +static jfieldID ws_xpixel; |
| | | +static jfieldID ws_ypixel; |
| | | + |
| | | +static void throw_errno(JNIEnv *env); |
| | | + |
| | | +JNIEXPORT void JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_initIDs |
| | | + (JNIEnv *env, jclass unused) { |
| | | + jclass cls; |
| | | + cls = env->FindClass("jdk/internal/org/jline/terminal/impl/jna/LastErrorException"); |
| | | + CHECK_NULL(cls); |
| | | + lastErrorExceptionClass = (jclass) env->NewGlobalRef(cls); |
| | | + lastErrorExceptionConstructor = env->GetMethodID(lastErrorExceptionClass, "<init>", "(J)V"); |
| | | + CHECK_NULL(lastErrorExceptionConstructor); |
| | | + |
| | | + cls = env->FindClass("jdk/internal/org/jline/terminal/impl/jna/solaris/CLibrary$termios"); |
| | | + CHECK_NULL(cls); |
| | | + termios_j = (jclass) env->NewGlobalRef(cls); |
| | | + c_iflag = env->GetFieldID(termios_j, "c_iflag", "I"); |
| | | + CHECK_NULL(c_iflag); |
| | | + c_oflag = env->GetFieldID(termios_j, "c_oflag", "I"); |
| | | + CHECK_NULL(c_oflag); |
| | | + c_cflag = env->GetFieldID(termios_j, "c_cflag", "I"); |
| | | + CHECK_NULL(c_cflag); |
| | | + c_lflag = env->GetFieldID(termios_j, "c_lflag", "I"); |
| | | + CHECK_NULL(c_lflag); |
| | | + c_cc = env->GetFieldID(termios_j, "c_cc", "[B"); |
| | | + CHECK_NULL(c_cc); |
| | | + |
| | | + cls = env->FindClass("jdk/internal/org/jline/terminal/impl/jna/solaris/CLibrary$winsize"); |
| | | + CHECK_NULL(cls); |
| | | + winsize_j = (jclass) env->NewGlobalRef(cls); |
| | | + ws_row = env->GetFieldID(winsize_j, "ws_row", "S"); |
| | | + CHECK_NULL(ws_row); |
| | | + ws_col = env->GetFieldID(winsize_j, "ws_col", "S"); |
| | | + CHECK_NULL(ws_col); |
| | | + ws_xpixel= env->GetFieldID(winsize_j, "ws_xpixel", "S"); |
| | | + CHECK_NULL(ws_xpixel); |
| | | + ws_ypixel= env->GetFieldID(winsize_j, "ws_ypixel", "S"); |
| | | + CHECK_NULL(ws_ypixel); |
| | | +} |
| | | + |
| | | +JNIEXPORT void JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_tcgetattr |
| | | + (JNIEnv *env, jobject, jint fd, jobject result) { |
| | | + termios data; |
| | | + |
| | | + if (tcgetattr(fd, &data) != 0) { |
| | | + throw_errno(env); |
| | | + return ; |
| | | + } |
| | | + |
| | | + env->SetIntField(result, c_iflag, data.c_iflag); |
| | | + env->SetIntField(result, c_oflag, data.c_oflag); |
| | | + env->SetIntField(result, c_cflag, data.c_cflag); |
| | | + env->SetIntField(result, c_lflag, data.c_lflag); |
| | | + jbyteArray c_ccValue = (jbyteArray) env->GetObjectField(result, c_cc); |
| | | + env->SetByteArrayRegion(c_ccValue, 0, NCCS, (signed char *) data.c_cc);//TODO: cast? |
| | | +} |
| | | + |
| | | +/* |
| | | + * Class: jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl |
| | | + * Method: tcsetattr |
| | | + * Signature: (IILjdk/internal/org/jline/terminal/impl/jna/solaris/CLibrary/termios;)V |
| | | + */ |
| | | +JNIEXPORT void JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_tcsetattr |
| | | + (JNIEnv *env, jobject, jint fd, jint cmd, jobject input) { |
| | | + termios data; |
| | | + |
| | | + data.c_iflag = env->GetIntField(input, c_iflag); |
| | | + data.c_oflag = env->GetIntField(input, c_oflag); |
| | | + data.c_cflag = env->GetIntField(input, c_cflag); |
| | | + data.c_lflag = env->GetIntField(input, c_lflag); |
| | | + jbyteArray c_ccValue = (jbyteArray) env->GetObjectField(input, c_cc); |
| | | + env->GetByteArrayRegion(c_ccValue, 0, NCCS, (jbyte *) data.c_cc); |
| | | + |
| | | + if (tcsetattr(fd, cmd, &data) != 0) { |
| | | + throw_errno(env); |
| | | + } |
| | | +} |
| | | + |
| | | +/* |
| | | + * Class: jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl |
| | | + * Method: ioctl0 |
| | | + * Signature: (IILjdk/internal/org/jline/terminal/impl/jna/solaris/CLibrary/winsize;)V |
| | | + */ |
| | | +JNIEXPORT void JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_ioctl0 |
| | | + (JNIEnv *env, jobject, jint fd, jlong cmd, jobject data) { |
| | | + winsize ws; |
| | | + |
| | | + ws.ws_row = env->GetIntField(data, ws_row); |
| | | + ws.ws_col = env->GetIntField(data, ws_col); |
| | | + ws.ws_xpixel = env->GetIntField(data, ws_xpixel); |
| | | + ws.ws_ypixel = env->GetIntField(data, ws_ypixel); |
| | | + |
| | | + if (ioctl(fd, cmd, &ws) != 0) { |
| | | + throw_errno(env); |
| | | + return ; |
| | | + } |
| | | + |
| | | + env->SetIntField(data, ws_row, ws.ws_row); |
| | | + env->SetIntField(data, ws_col, ws.ws_col); |
| | | + env->SetIntField(data, ws_xpixel, ws.ws_xpixel); |
| | | + env->SetIntField(data, ws_ypixel, ws.ws_ypixel); |
| | | +} |
| | | + |
| | | +/* |
| | | + * Class: jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl |
| | | + * Method: isatty |
| | | + * Signature: (I)I |
| | | + */ |
| | | +JNIEXPORT jint JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_isatty |
| | | + (JNIEnv *, jobject, jint fd) { |
| | | + return isatty(fd); |
| | | +} |
| | | + |
| | | +/* |
| | | + * Class: jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl |
| | | + * Method: ttyname_r |
| | | + * Signature: (I[BI)V |
| | | + */ |
| | | +JNIEXPORT void JNICALL Java_jdk_internal_org_jline_terminal_impl_jna_solaris_CLibraryImpl_ttyname_1r |
| | | + (JNIEnv *env, jobject, jint fd, jbyteArray buf, jint len) { |
| | | + char *data = new char[len]; |
| | | + int error = ttyname_r(fd, data, len); |
| | | + |
| | | + if (error != 0) { |
| | | + throw_errno(env); |
| | | + return ; |
| | | + } |
| | | + |
| | | + env->SetByteArrayRegion(buf, 0, len, (jbyte *) data); |
| | | + delete[] data; |
| | | +} |
| | | + |
| | | +/* |
| | | + * Throws LastErrorException based on the errno: |
| | | + */ |
| | | +static void throw_errno(JNIEnv *env) { |
| | | + jobject exc = env->NewObject(lastErrorExceptionClass, |
| | | + lastErrorExceptionConstructor, |
| | | + errno); |
| | | + env->Throw((jthrowable) exc); |
| | | +} |
| | | --- a/make/modules/jdk.internal.le/Lib.gmk Tue May 23 22:32:28 2023 |
| | | +++ b/make/modules/jdk.internal.le/Lib.gmk Fri Jun 2 11:33:06 2023 |
| | | @@ -27,7 +27,7 @@ |
| | | |
| | | ################################################################################ |
| | | |
| | | -ifeq ($(call isTargetOs, linux macosx windows), true) |
| | | +ifeq ($(call isTargetOs, linux macosx solaris windows), true) |
| | | |
| | | $(eval $(call SetupJdkLibrary, BUILD_LIBLE, \ |
| | | NAME := le, \ |
New file |
| | |
| | | --- /dev/null Sun May 15 10:42:57 2022 |
| | | +++ a/src/java.base/solaris/classes/sun/nio/ch/DefaultPollerProvider.java Sun May 15 10:17:39 2022 |
| | | @@ -0,0 +1,44 @@ |
| | | +/* |
| | | + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | +package sun.nio.ch; |
| | | + |
| | | +import java.io.IOException; |
| | | + |
| | | +/** |
| | | + * Default PollerProvider for illumos/Solaris. |
| | | + */ |
| | | +class DefaultPollerProvider extends PollerProvider { |
| | | + DefaultPollerProvider() { } |
| | | + |
| | | + @Override |
| | | + Poller readPoller() throws IOException { |
| | | + return new DevPollPoller(true); |
| | | + } |
| | | + |
| | | + @Override |
| | | + Poller writePoller() throws IOException { |
| | | + return new DevPollPoller(false); |
| | | + } |
| | | +} |
| | | --- /dev/null Sun May 15 10:42:57 2022 |
| | | +++ a/src/java.base/solaris/classes/sun/nio/ch/DevPollPoller.java Sun May 15 10:17:09 2022 |
| | | @@ -0,0 +1,64 @@ |
| | | +/* |
| | | + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2022 Peter Tribble |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | +package sun.nio.ch; |
| | | + |
| | | +import java.io.IOException; |
| | | + |
| | | +/** |
| | | + * Stub Poller implementation for illumos/Solaris. |
| | | + * Returns UnsupportedOperationException for all calls. |
| | | + */ |
| | | + |
| | | +class DevPollPoller extends Poller { |
| | | + |
| | | + DevPollPoller(boolean read) throws IOException { |
| | | + super(read); |
| | | + } |
| | | + |
| | | + @Override |
| | | + int fdVal() { |
| | | + // Stub |
| | | + throw new UnsupportedOperationException("Unimplemented on SunOS"); |
| | | + } |
| | | + |
| | | + @Override |
| | | + void implRegister(int fdVal) throws IOException { |
| | | + // Stub |
| | | + throw new UnsupportedOperationException("Unimplemented on SunOS"); |
| | | + } |
| | | + |
| | | + @Override |
| | | + void implDeregister(int fdVal) { |
| | | + // Stub |
| | | + throw new UnsupportedOperationException("Unimplemented on SunOS"); |
| | | + } |
| | | + |
| | | + @Override |
| | | + int poll(int timeout) throws IOException { |
| | | + // Stub |
| | | + throw new UnsupportedOperationException("Unimplemented on SunOS"); |
| | | + } |
| | | +} |
New file |
| | |
| | | --- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Thu May 28 11:43:30 2020 |
| | | +++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Wed May 20 19:29:11 2020 |
| | | @@ -379,7 +379,41 @@ |
| | | return (jint)res; |
| | | } |
| | | |
| | | +JNIEXPORT jlong JNICALL |
| | | +Java_sun_nio_fs_UnixNativeDispatcher_fopen0(JNIEnv* env, jclass this, |
| | | + jlong pathAddress, jlong modeAddress) |
| | | +{ |
| | | + FILE* fp = NULL; |
| | | + const char* path = (const char*)jlong_to_ptr(pathAddress); |
| | | + const char* mode = (const char*)jlong_to_ptr(modeAddress); |
| | | + |
| | | + do { |
| | | + fp = fopen(path, mode); |
| | | + } while (fp == NULL && errno == EINTR); |
| | | + |
| | | + if (fp == NULL) { |
| | | + throwUnixException(env, errno); |
| | | + } |
| | | + |
| | | + return ptr_to_jlong(fp); |
| | | +} |
| | | + |
| | | JNIEXPORT void JNICALL |
| | | +Java_sun_nio_fs_UnixNativeDispatcher_fclose(JNIEnv* env, jclass this, jlong stream) |
| | | +{ |
| | | + FILE* fp = jlong_to_ptr(stream); |
| | | + |
| | | + /* NOTE: fclose() wrapper is only used with read-only streams. |
| | | + * If it ever is used with write streams, it might be better to add |
| | | + * RESTARTABLE(fflush(fp)) before closing, to make sure the stream |
| | | + * is completely written even if fclose() failed. |
| | | + */ |
| | | + if (fclose(fp) == EOF && errno != EINTR) { |
| | | + throwUnixException(env, errno); |
| | | + } |
| | | +} |
| | | + |
| | | +JNIEXPORT void JNICALL |
| | | Java_sun_nio_fs_UnixNativeDispatcher_rewind(JNIEnv* env, jclass this, jlong stream) |
| | | { |
| | | FILE* fp = jlong_to_ptr(stream); |
| | | @@ -1046,6 +1080,33 @@ |
| | | } |
| | | } |
| | | |
| | | +JNIEXPORT jlong JNICALL |
| | | +Java_sun_nio_fs_UnixNativeDispatcher_pathconf0(JNIEnv* env, jclass this, |
| | | + jlong pathAddress, jint name) |
| | | +{ |
| | | + long err; |
| | | + const char* path = (const char*)jlong_to_ptr(pathAddress); |
| | | + |
| | | + err = pathconf(path, (int)name); |
| | | + if (err == -1) { |
| | | + throwUnixException(env, errno); |
| | | + } |
| | | + return (jlong)err; |
| | | +} |
| | | + |
| | | +JNIEXPORT jlong JNICALL |
| | | +Java_sun_nio_fs_UnixNativeDispatcher_fpathconf(JNIEnv* env, jclass this, |
| | | + jint fd, jint name) |
| | | +{ |
| | | + long err; |
| | | + |
| | | + err = fpathconf((int)fd, (int)name); |
| | | + if (err == -1) { |
| | | + throwUnixException(env, errno); |
| | | + } |
| | | + return (jlong)err; |
| | | +} |
| | | + |
| | | JNIEXPORT void JNICALL |
| | | Java_sun_nio_fs_UnixNativeDispatcher_mknod0(JNIEnv* env, jclass this, |
| | | jlong pathAddress, jint mode, jlong dev) |
New file |
| | |
| | | --- a/src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java Thu May 28 00:44:10 2020 |
| | | +++ b/src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java Wed May 20 19:29:11 2020 |
| | | @@ -123,6 +123,27 @@ |
| | | } |
| | | |
| | | /** |
| | | + * FILE* fopen(const char *filename, const char* mode); |
| | | + */ |
| | | + static long fopen(UnixPath filename, String mode) throws UnixException { |
| | | + NativeBuffer pathBuffer = copyToNativeBuffer(filename); |
| | | + NativeBuffer modeBuffer = NativeBuffers.asNativeBuffer(Util.toBytes(mode)); |
| | | + try { |
| | | + return fopen0(pathBuffer.address(), modeBuffer.address()); |
| | | + } finally { |
| | | + modeBuffer.release(); |
| | | + pathBuffer.release(); |
| | | + } |
| | | + } |
| | | + private static native long fopen0(long pathAddress, long modeAddress) |
| | | + throws UnixException; |
| | | + |
| | | + /** |
| | | + * fclose(FILE* stream) |
| | | + */ |
| | | + static native void fclose(long stream) throws UnixException; |
| | | + |
| | | + /** |
| | | * void rewind(FILE* stream); |
| | | */ |
| | | static native void rewind(long stream) throws UnixException; |
| | | @@ -693,6 +714,25 @@ |
| | | throws UnixException; |
| | | |
| | | /** |
| | | + * long int pathconf(const char *path, int name); |
| | | + */ |
| | | + static long pathconf(UnixPath path, int name) throws UnixException { |
| | | + NativeBuffer buffer = copyToNativeBuffer(path); |
| | | + try { |
| | | + return pathconf0(buffer.address(), name); |
| | | + } finally { |
| | | + buffer.release(); |
| | | + } |
| | | + } |
| | | + private static native long pathconf0(long pathAddress, int name) |
| | | + throws UnixException; |
| | | + |
| | | + /** |
| | | + * long fpathconf(int fildes, int name); |
| | | + */ |
| | | + static native long fpathconf(int filedes, int name) throws UnixException; |
| | | + |
| | | + /** |
| | | * char* strerror(int errnum) |
| | | */ |
| | | static native byte[] strerror(int errnum); |
New file |
| | |
| | | --- a/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java Thu May 28 00:44:10 2020 |
| | | +++ b/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java Wed May 20 19:29:11 2020 |
| | | @@ -103,7 +103,17 @@ |
| | | } |
| | | } |
| | | |
| | | + |
| | | /** |
| | | + * Constructs a file channel from an existing (open) file descriptor |
| | | + */ |
| | | + static FileChannel newFileChannel(int fd, String path, boolean reading, boolean writing) { |
| | | + FileDescriptor fdObj = new FileDescriptor(); |
| | | + fdAccess.set(fdObj, fd); |
| | | + return FileChannelImpl.open(fdObj, path, reading, writing, false, null); |
| | | + } |
| | | + |
| | | + /** |
| | | * Constructs a file channel by opening a file using a dfd/path pair |
| | | */ |
| | | static FileChannel newFileChannel(int dfd, |
New file |
| | |
| | | --- a/src/java.base/unix/classes/sun/nio/fs/UnixUserPrincipals.java Thu May 28 00:44:10 2020 |
| | | +++ b/src/java.base/unix/classes/sun/nio/fs/UnixUserPrincipals.java Wed May 20 19:29:11 2020 |
| | | @@ -67,6 +67,10 @@ |
| | | throw new AssertionError(); |
| | | } |
| | | |
| | | + boolean isSpecial() { |
| | | + return id == -1; |
| | | + } |
| | | + |
| | | @Override |
| | | public String getName() { |
| | | return name; |
New file |
| | |
| | | See http://hg.openjdk.java.net/jdk/jdk/rev/1096ad4dbf62 |
| | | |
| | | The problem is that we want a guard based on platform, but |
| | | _GNU_SOURCE is a per-toolchain define for the gcc toolchain. |
| | | It "fixes" AIX because that's using the xlc toolchain. |
| | | |
| | | --- a/src/hotspot/share/runtime/os.cpp Wed Aug 12 16:38:30 2020 |
| | | +++ b/src/hotspot/share/runtime/os.cpp Thu Aug 13 19:44:36 2020 |
| | | @@ -162,7 +162,7 @@ |
| | | // No offset when dealing with UTC |
| | | time_t UTC_to_local = 0; |
| | | if (!utc) { |
| | | -#if (defined(_ALLBSD_SOURCE) || defined(_GNU_SOURCE)) && !defined(AIX) |
| | | +#if (defined(_ALLBSD_SOURCE) || defined(_BSD_SOURCE)) && !defined(AIX) |
| | | UTC_to_local = -(time_struct.tm_gmtoff); |
| | | #elif defined(_WINDOWS) |
| | | long zone; |
| | | @@ -173,7 +173,7 @@ |
| | | #endif |
| | | |
| | | // tm_gmtoff already includes adjustment for daylight saving |
| | | -#if !defined(_ALLBSD_SOURCE) && !defined(_GNU_SOURCE) |
| | | +#if !defined(_ALLBSD_SOURCE) && !defined(_BSD_SOURCE) |
| | | // If daylight savings time is in effect, |
| | | // we are 1 hour East of our time zone |
| | | if (time_struct.tm_isdst > 0) { |
New file |
| | |
| | | --- a/src/hotspot/share/prims/methodHandles.cpp Wed Aug 19 21:41:08 2020 |
| | | +++ b/src/hotspot/share/prims/methodHandles.cpp Fri Aug 21 10:42:08 2020 |
| | | @@ -1367,6 +1367,10 @@ |
| | | #define LANG "Ljava/lang/" |
| | | #define JLINV "Ljava/lang/invoke/" |
| | | |
| | | +#ifdef CS |
| | | +#undef CS |
| | | +#endif |
| | | + |
| | | #define OBJ LANG "Object;" |
| | | #define CLS LANG "Class;" |
| | | #define STRG LANG "String;" |
New file |
| | |
| | | --- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp Fri Oct 16 12:20:06 2020 |
| | | +++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp Fri Oct 16 14:58:59 2020 |
| | | @@ -219,42 +219,12 @@ |
| | | return frame(sp, fp, epc); |
| | | } |
| | | |
| | | -bool os::Solaris::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr) { |
| | | - address pc = (address) os::Solaris::ucontext_get_pc(uc); |
| | | - if (Interpreter::contains(pc)) { |
| | | - // interpreter performs stack banging after the fixed frame header has |
| | | - // been generated while the compilers perform it before. To maintain |
| | | - // semantic consistency between interpreted and compiled frames, the |
| | | - // method returns the Java sender of the current frame. |
| | | - *fr = os::fetch_frame_from_context(uc); |
| | | - if (!fr->is_first_java_frame()) { |
| | | - // get_frame_at_stack_banging_point() is only called when we |
| | | - // have well defined stacks so java_sender() calls do not need |
| | | - // to assert safe_for_sender() first. |
| | | - *fr = fr->java_sender(); |
| | | - } |
| | | - } else { |
| | | - // more complex code with compiled code |
| | | - assert(!Interpreter::contains(pc), "Interpreted methods should have been handled above"); |
| | | - CodeBlob* cb = CodeCache::find_blob(pc); |
| | | - if (cb == NULL || !cb->is_nmethod() || cb->is_frame_complete_at(pc)) { |
| | | - // Not sure where the pc points to, fallback to default |
| | | - // stack overflow handling |
| | | - return false; |
| | | - } else { |
| | | - // in compiled code, the stack banging is performed just after the return pc |
| | | - // has been pushed on the stack |
| | | - intptr_t* fp = os::Solaris::ucontext_get_fp(uc); |
| | | - intptr_t* sp = os::Solaris::ucontext_get_sp(uc); |
| | | - *fr = frame(sp + 1, fp, (address)*sp); |
| | | - if (!fr->is_java_frame()) { |
| | | - // See java_sender() comment above. |
| | | - *fr = fr->java_sender(); |
| | | - } |
| | | - } |
| | | - } |
| | | - assert(fr->is_java_frame(), "Safety check"); |
| | | - return true; |
| | | +frame os::fetch_compiled_frame_from_context(const void* ucVoid) { |
| | | + const ucontext_t* uc = (const ucontext_t*)ucVoid; |
| | | + frame fr = os::fetch_frame_from_context(uc); |
| | | + // in compiled code, the stack banging is performed just after the return pc |
| | | + // has been pushed on the stack |
| | | + return frame(fr.sp() + 1, fr.fp(), (address)*(fr.sp())); |
| | | } |
| | | |
| | | frame os::get_sender_for_C_frame(frame* fr) { |
| | | @@ -323,39 +293,8 @@ |
| | | // Handle ALL stack overflow variations here |
| | | if (sig == SIGSEGV && info->si_code == SEGV_ACCERR) { |
| | | address addr = (address) info->si_addr; |
| | | - if (thread->in_stack_yellow_reserved_zone(addr)) { |
| | | - if (thread->thread_state() == _thread_in_Java) { |
| | | - if (thread->in_stack_reserved_zone(addr)) { |
| | | - frame fr; |
| | | - if (os::Solaris::get_frame_at_stack_banging_point(thread, uc, &fr)) { |
| | | - assert(fr.is_java_frame(), "Must be Java frame"); |
| | | - frame activation = SharedRuntime::look_for_reserved_stack_annotated_method(thread, fr); |
| | | - if (activation.sp() != NULL) { |
| | | - thread->disable_stack_reserved_zone(); |
| | | - if (activation.is_interpreted_frame()) { |
| | | - thread->set_reserved_stack_activation((address)( |
| | | - activation.fp() + frame::interpreter_frame_initial_sp_offset)); |
| | | - } else { |
| | | - thread->set_reserved_stack_activation((address)activation.unextended_sp()); |
| | | - } |
| | | - return true; |
| | | - } |
| | | - } |
| | | - } |
| | | - // Throw a stack overflow exception. Guard pages will be reenabled |
| | | - // while unwinding the stack. |
| | | - thread->disable_stack_yellow_reserved_zone(); |
| | | - stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); |
| | | - } else { |
| | | - // Thread was in the vm or native code. Return and try to finish. |
| | | - thread->disable_stack_yellow_reserved_zone(); |
| | | - return true; |
| | | - } |
| | | - } else if (thread->in_stack_red_zone(addr)) { |
| | | - // Fatal red zone violation. Disable the guard pages and fall through |
| | | - // to handle_unexpected_exception way down below. |
| | | - thread->disable_stack_red_zone(); |
| | | - tty->print_raw_cr("An irrecoverable stack overflow has occurred."); |
| | | + if (os::Posix::handle_stack_overflow(thread, addr, pc, uc, &stub)) { |
| | | + return 1; // continue |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | --- a/make/autoconf/flags-ldflags.m4 Thu Nov 26 19:47:04 2020 |
| | | +++ b/make/autoconf/flags-ldflags.m4 Thu Nov 26 20:43:34 2020 |
| | | @@ -198,7 +198,9 @@ |
| | | test "x${OPENJDK_$1_CPU}" = xmips64el; then |
| | | $1_CPU_LDFLAGS="${$1_CPU_LDFLAGS} -Wl,--hash-style=sysv" |
| | | else |
| | | - $1_CPU_LDFLAGS="${$1_CPU_LDFLAGS} -Wl,--hash-style=gnu" |
| | | + if test "x$OPENJDK_TARGET_OS" != xsolaris; then |
| | | + $1_CPU_LDFLAGS="${$1_CPU_LDFLAGS} -Wl,--hash-style=gnu" |
| | | + fi |
| | | fi |
| | | |
| | | elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then |
New file |
| | |
| | | --- a/src/hotspot/share/runtime/os.cpp Thu Jan 14 11:21:25 2021 |
| | | +++ b/src/hotspot/share/runtime/os.cpp Thu Jan 14 11:44:00 2021 |
| | | @@ -81,6 +61,7 @@ |
| | | |
| | | # include <signal.h> |
| | | # include <errno.h> |
| | | +# include <alloca.h> |
| | | |
| | | OSThread* os::_starting_thread = nullptr; |
| | | volatile unsigned int os::_rand_seed = 1234567; |
New file |
| | |
| | | --- a/make/autoconf/toolchain.m4 Sat Jul 3 15:56:43 2021 |
| | | +++ b/make/autoconf/toolchain.m4 Sat Jul 3 16:11:51 2021 |
| | | @@ -225,7 +225,11 @@ |
| | | # Linux x86_64 needs higher binutils after 8265783 |
| | | # (this really is a dependency on as version, but we take ld as a check for a general binutils version) |
| | | if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then |
| | | - TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.25" |
| | | + if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
| | | + TOOLCHAIN_MINIMUM_LD_VERSION_gcc="" |
| | | + else |
| | | + TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.25" |
| | | + fi |
| | | fi |
| | | |
| | | # Use indirect variable referencing |
New file |
| | |
| | | |
| | | This fixes the following frequently seen warning |
| | | |
| | | SIGSEGV happened inside stack but outside yellow and red zone. |
| | | |
| | | diff --git a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp |
| | | index c5a72c791..9d9ab5618 100644 |
| | | --- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp |
| | | +++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp |
| | | @@ -293,8 +293,11 @@ bool PosixSignals::pd_hotspot_signal_handler(int sig, siginfo_t* info, |
| | | // Handle ALL stack overflow variations here |
| | | if (sig == SIGSEGV && info->si_code == SEGV_ACCERR) { |
| | | address addr = (address) info->si_addr; |
| | | - if (os::Posix::handle_stack_overflow(thread, addr, pc, uc, &stub)) { |
| | | - return 1; // continue |
| | | + if (thread->is_in_full_stack(addr)) { |
| | | + // stack overflow |
| | | + if (os::Posix::handle_stack_overflow(thread, addr, pc, uc, &stub)) { |
| | | + return true; // continue |
| | | + } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | This all looks very broken, but the SunOS-specific code calls this. |
| | | Should investigate if it actually needs to. |
| | | |
| | | --- jdk-jdk-19-7/src/java.base/unix/classes/java/lang/ProcessImpl.java Thu Jan 27 08:31:11 2022 |
| | | +++ jdk-jdk-19-6/src/java.base/unix/classes/java/lang/ProcessImpl.java Thu Jan 20 08:53:40 2022 |
| | | @@ -45,6 +45,7 @@ |
| | | import java.security.AccessController; |
| | | import java.security.PrivilegedActionException; |
| | | import java.security.PrivilegedExceptionAction; |
| | | +import java.util.Properties; |
| | | import jdk.internal.access.JavaIOFileDescriptorAccess; |
| | | import jdk.internal.access.SharedSecrets; |
| | | import jdk.internal.util.OperatingSystem; |
| | | @@ -706,6 +707,109 @@ |
| | | } |
| | | } |
| | | |
| | | + // A FileInputStream that supports the deferment of the actual close |
| | | + // operation until the last pending I/O operation on the stream has |
| | | + // finished. This is required on Solaris because we must close the stdin |
| | | + // and stdout streams in the destroy method in order to reclaim the |
| | | + // underlying file descriptors. Doing so, however, causes any thread |
| | | + // currently blocked in a read on one of those streams to receive an |
| | | + // IOException("Bad file number"), which is incompatible with historical |
| | | + // behavior. By deferring the close we allow any pending reads to see -1 |
| | | + // (EOF) as they did before. |
| | | + // |
| | | + private static class DeferredCloseInputStream extends PipeInputStream { |
| | | + DeferredCloseInputStream(FileDescriptor fd) { |
| | | + super(fd); |
| | | + } |
| | | + |
| | | + private Object lock = new Object(); // For the following fields |
| | | + private boolean closePending = false; |
| | | + private int useCount = 0; |
| | | + private InputStream streamToClose; |
| | | + |
| | | + private void raise() { |
| | | + synchronized (lock) { |
| | | + useCount++; |
| | | + } |
| | | + } |
| | | + |
| | | + private void lower() throws IOException { |
| | | + synchronized (lock) { |
| | | + useCount--; |
| | | + if (useCount == 0 && closePending) { |
| | | + streamToClose.close(); |
| | | + } |
| | | + } |
| | | + } |
| | | + |
| | | + // stc is the actual stream to be closed; it might be this object, or |
| | | + // it might be an upstream object for which this object is downstream. |
| | | + // |
| | | + private void closeDeferred(InputStream stc) throws IOException { |
| | | + synchronized (lock) { |
| | | + if (useCount == 0) { |
| | | + stc.close(); |
| | | + } else { |
| | | + closePending = true; |
| | | + streamToClose = stc; |
| | | + } |
| | | + } |
| | | + } |
| | | + |
| | | + public void close() throws IOException { |
| | | + synchronized (lock) { |
| | | + useCount = 0; |
| | | + closePending = false; |
| | | + } |
| | | + super.close(); |
| | | + } |
| | | + |
| | | + public int read() throws IOException { |
| | | + raise(); |
| | | + try { |
| | | + return super.read(); |
| | | + } finally { |
| | | + lower(); |
| | | + } |
| | | + } |
| | | + |
| | | + public int read(byte[] b) throws IOException { |
| | | + raise(); |
| | | + try { |
| | | + return super.read(b); |
| | | + } finally { |
| | | + lower(); |
| | | + } |
| | | + } |
| | | + |
| | | + public int read(byte[] b, int off, int len) throws IOException { |
| | | + raise(); |
| | | + try { |
| | | + return super.read(b, off, len); |
| | | + } finally { |
| | | + lower(); |
| | | + } |
| | | + } |
| | | + |
| | | + public long skip(long n) throws IOException { |
| | | + raise(); |
| | | + try { |
| | | + return super.skip(n); |
| | | + } finally { |
| | | + lower(); |
| | | + } |
| | | + } |
| | | + |
| | | + public int available() throws IOException { |
| | | + raise(); |
| | | + try { |
| | | + return super.available(); |
| | | + } finally { |
| | | + lower(); |
| | | + } |
| | | + } |
| | | + } |
| | | + |
| | | /** |
| | | * A buffered input stream for a subprocess pipe file descriptor |
| | | * that allows the underlying file descriptor to be reclaimed when |
| | | @@ -719,7 +823,7 @@ |
| | | * will block if another thread is at the same time blocked in a file |
| | | * operation (e.g. 'read()') on the same file descriptor. We therefore |
| | | * combine 'ProcessPipeInputStream' approach used on Linux and Bsd |
| | | - * with the deferring 'close' of InputStream. This means |
| | | + * with the DeferredCloseInputStream approach used on Solaris. This means |
| | | * that every potentially blocking operation on the file descriptor |
| | | * increments a counter before it is executed and decrements it once it |
| | | * finishes. The 'close()' operation will only be executed if there are |
New file |
| | |
| | | The original solaris removal forgot this file, it's recently been removed |
| | | so we now have to put it back. It might be cleaner to remove DTrace in the |
| | | longer term. |
| | | |
| | | diff -urN a/src/hotspot/share/services/dtraceAttacher.hpp b/src/hotspot/share/services/dtraceAttacher.hpp |
| | | --- a/src/hotspot/share/services/dtraceAttacher.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/share/services/dtraceAttacher.hpp 2022-02-16 13:46:43.000000000 +0000 |
| | | @@ -0,0 +1,49 @@ |
| | | +/* |
| | | + * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef SHARE_SERVICES_DTRACEATTACHER_HPP |
| | | +#define SHARE_SERVICES_DTRACEATTACHER_HPP |
| | | + |
| | | +#define DTRACE_ALLOC_PROBES 0x1 |
| | | +#define DTRACE_METHOD_PROBES 0x2 |
| | | +#define DTRACE_MONITOR_PROBES 0x4 |
| | | +#define DTRACE_ALL_PROBES (DTRACE_ALLOC_PROBES | \ |
| | | + DTRACE_METHOD_PROBES | \ |
| | | + DTRACE_MONITOR_PROBES) |
| | | + |
| | | +class DTrace : public AllStatic { |
| | | + private: |
| | | + // disable one or more probes - OR above constants |
| | | + static void disable_dprobes(int probe_types); |
| | | + |
| | | + public: |
| | | + // enable one or more probes - OR above constants |
| | | + static void enable_dprobes(int probe_types); |
| | | + // all clients detached, do any clean-up |
| | | + static void detach_all_clients(); |
| | | + // set DTraceMonitorProbes flag |
| | | + static void set_monitor_dprobes(bool value); |
| | | +}; |
| | | + |
| | | +#endif // SHARE_SERVICES_DTRACEATTACHER_HPP |
New file |
| | |
| | | --- a/src/hotspot/share/runtime/mutex.hpp Wed Jul 6 08:12:32 2022 |
| | | +++ b/src/hotspot/share/runtime/mutex.hpp Thu Jul 7 13:59:23 2022 |
| | | @@ -28,7 +28,7 @@ |
| | | #include "memory/allocation.hpp" |
| | | #include "runtime/atomic.hpp" |
| | | |
| | | -#if defined(LINUX) || defined(AIX) || defined(BSD) |
| | | +#if defined(LINUX) || defined(AIX) || defined(BSD) || defined(SOLARIS) |
| | | # include "mutex_posix.hpp" |
| | | #else |
| | | # include OS_HEADER(mutex) |
| | | --- a/src/hotspot/share/runtime/park.hpp Wed Jul 6 08:12:32 2022 |
| | | +++ b/src/hotspot/share/runtime/park.hpp Thu Jul 7 14:01:18 2022 |
| | | @@ -28,7 +28,7 @@ |
| | | #include "utilities/debug.hpp" |
| | | #include "utilities/globalDefinitions.hpp" |
| | | |
| | | -#if defined(LINUX) || defined(AIX) || defined(BSD) |
| | | +#if defined(LINUX) || defined(AIX) || defined(BSD) || defined(SOLARIS) |
| | | # include "park_posix.hpp" |
| | | #else |
| | | # include OS_HEADER(park) |
| | | --- a/src/hotspot/share/runtime/threadCrashProtection.hpp Wed Jul 6 08:12:32 2022 |
| | | +++ b/src/hotspot/share/runtime/threadCrashProtection.hpp Thu Jul 7 14:11:04 2022 |
| | | @@ -27,7 +27,7 @@ |
| | | #define SHARE_RUNTIME_THREADCRASHPROTECTION_HPP |
| | | |
| | | #include "memory/allocation.hpp" |
| | | -#if defined(LINUX) || defined(AIX) || defined(BSD) |
| | | +#if defined(LINUX) || defined(AIX) || defined(BSD) || defined(SOLARIS) |
| | | # include "threadCrashProtection_posix.hpp" |
| | | #else |
| | | # include OS_HEADER(threadCrashProtection) |
New file |
| | |
| | | --- a/src/hotspot/share/runtime/osThread.hpp Wed Jul 13 20:15:53 2022 |
| | | +++ b/src/hotspot/share/runtime/osThread.hpp Sun Jul 24 14:21:39 2022 |
| | | @@ -32,7 +32,7 @@ |
| | | #include "runtime/suspendedThreadTask.hpp" |
| | | #include "utilities/macros.hpp" |
| | | |
| | | -#if defined(LINUX) || defined(AIX) || defined(BSD) |
| | | +#if defined(LINUX) || defined(AIX) || defined(BSD) || defined(SOLARIS) |
| | | #include "suspendResume_posix.hpp" |
| | | #endif |
| | | |
New file |
| | |
| | | --- a/src/hotspot/share/runtime/os.hpp Wed Aug 10 20:17:42 2022 |
| | | +++ b/src/hotspot/share/runtime/os.hpp Thu Aug 11 11:42:41 2022 |
| | | @@ -984,6 +984,8 @@ |
| | | class Bsd; |
| | | #elif defined(LINUX) |
| | | class Linux; |
| | | +#elif defined(SOLARIS) |
| | | + class Solaris; |
| | | #elif defined(_WINDOWS) |
| | | class win32; |
| | | #endif |
New file |
| | |
| | | --- a/src/java.base/solaris/classes/sun/nio/ch/FileDispatcherImpl.java Mon Oct 10 20:08:47 2022 |
| | | +++ b/src/java.base/solaris/classes/sun/nio/ch/FileDispatcherImpl.java Mon Oct 10 19:39:09 2022 |
| | | @@ -0,0 +1,45 @@ |
| | | +/* |
| | | + * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | + |
| | | +package sun.nio.ch; |
| | | + |
| | | +import java.io.FileDescriptor; |
| | | + |
| | | +class FileDispatcherImpl extends UnixFileDispatcherImpl { |
| | | + FileDispatcherImpl() { |
| | | + super(); |
| | | + } |
| | | + |
| | | + long transferTo(FileDescriptor src, long position, long count, |
| | | + FileDescriptor dst, boolean append) { |
| | | + return transferTo0(src, position, count, dst, append); |
| | | + } |
| | | + |
| | | + // -- Native methods -- |
| | | + |
| | | + static native long transferTo0(FileDescriptor src, long position, |
| | | + long count, FileDescriptor dst, |
| | | + boolean append); |
| | | +} |
| | | --- a/src/java.base/solaris/native/libnio/ch/FileDispatcherImpl.c Mon Oct 10 20:09:47 2022 |
| | | +++ b/src/java.base/solaris/native/libnio/ch/FileDispatcherImpl.c Mon Oct 10 19:39:25 2022 |
| | | @@ -0,0 +1,72 @@ |
| | | +/* |
| | | + * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. Oracle designates this |
| | | + * particular file as subject to the "Classpath" exception as provided |
| | | + * by Oracle in the LICENSE file that accompanied this code. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + */ |
| | | + |
| | | +#include <sys/sendfile.h> |
| | | +#include <dlfcn.h> |
| | | + |
| | | +#include "jni.h" |
| | | +#include "nio.h" |
| | | +#include "nio_util.h" |
| | | +#include "sun_nio_ch_FileDispatcherImpl.h" |
| | | + |
| | | +JNIEXPORT jlong JNICALL |
| | | +Java_sun_nio_ch_FileDispatcherImpl_transferTo0(JNIEnv *env, jobject this, |
| | | + jobject srcFDO, |
| | | + jlong position, jlong count, |
| | | + jobject dstFDO, jboolean append) |
| | | +{ |
| | | + jint srcFD = fdval(env, srcFDO); |
| | | + jint dstFD = fdval(env, dstFDO); |
| | | + |
| | | + sendfilevec64_t sfv; |
| | | + size_t numBytes = 0; |
| | | + jlong result; |
| | | + |
| | | + sfv.sfv_fd = srcFD; |
| | | + sfv.sfv_flag = 0; |
| | | + sfv.sfv_off = (off64_t)position; |
| | | + sfv.sfv_len = count; |
| | | + |
| | | + result = sendfilev64(dstFD, &sfv, 1, &numBytes); |
| | | + |
| | | + /* Solaris sendfilev() will return -1 even if some bytes have been |
| | | + * transferred, so we check numBytes first. |
| | | + */ |
| | | + if (numBytes > 0) |
| | | + return numBytes; |
| | | + if (result < 0) { |
| | | + if (errno == EAGAIN) |
| | | + return IOS_UNAVAILABLE; |
| | | + if (errno == EOPNOTSUPP) |
| | | + return IOS_UNSUPPORTED_CASE; |
| | | + if ((errno == EINVAL) && ((ssize_t)count >= 0)) |
| | | + return IOS_UNSUPPORTED_CASE; |
| | | + if (errno == EINTR) |
| | | + return IOS_INTERRUPTED; |
| | | + JNU_ThrowIOExceptionWithLastError(env, "Transfer failed"); |
| | | + return IOS_THROWN; |
| | | + } |
| | | + return result; |
| | | +} |
New file |
| | |
| | | --- /dev/null Sat Mar 4 12:15:07 2023 |
| | | +++ a/make/data/charsetmapping/stdcs-solaris Sat Mar 4 12:03:56 2023 |
| | | @@ -0,0 +1,25 @@ |
| | | +# |
| | | +# generate these charsets into sun.nio.cs |
| | | +# |
| | | +Big5 |
| | | +Big5_Solaris |
| | | +Big5_HKSCS # always together with Big5 |
| | | +EUC_CN |
| | | +EUC_KR |
| | | +EUC_JP |
| | | +EUC_JP_LINUX |
| | | +EUC_JP_Open |
| | | +EUC_TW |
| | | +GBK |
| | | +ISO_8859_11 |
| | | +ISO_8859_3 |
| | | +ISO_8859_6 |
| | | +ISO_8859_8 |
| | | +Johab |
| | | +PCK |
| | | +TIS_620 |
| | | +JIS_X_0201 |
| | | +JIS_X_0208 |
| | | +JIS_X_0212 |
| | | +JIS_X_0208_Solaris |
| | | +JIS_X_0212_Solaris |
New file |
| | |
| | | --- a/src/java.base/share/classes/jdk/internal/util/OperatingSystem.java Wed Mar 29 20:12:02 2023 |
| | | +++ b/src/java.base/share/classes/jdk/internal/util/OperatingSystem.java Thu Mar 30 13:44:42 2023 |
| | | @@ -81,6 +81,10 @@ |
| | | * The AIX Operating system. |
| | | */ |
| | | AIX, |
| | | + /** |
| | | + * Operating systems based on Solaris or illumos. |
| | | + */ |
| | | + SOLARIS, |
| | | ; |
| | | |
| | | // The current OperatingSystem |
| | | @@ -118,6 +122,14 @@ |
| | | return PlatformProps.TARGET_OS_IS_AIX; |
| | | } |
| | | |
| | | + /** |
| | | + * {@return {@code true} if built for Solaris or illumos operating systems} |
| | | + */ |
| | | + @ForceInline |
| | | + public static boolean isSolaris() { |
| | | + return PlatformProps.TARGET_OS_IS_SOLARIS; |
| | | + } |
| | | + |
| | | /** |
| | | * {@return the current operating system} |
| | | */ |
| | | --- a/src/java.base/share/classes/jdk/internal/util/PlatformProps.java.template Wed Mar 29 20:12:02 2023 |
| | | +++ b/src/java.base/share/classes/jdk/internal/util/PlatformProps.java.template Thu Mar 30 13:43:29 2023 |
| | | @@ -39,6 +39,7 @@ |
| | | static final boolean TARGET_OS_IS_MACOS = "@@OPENJDK_TARGET_OS@@" == "macos"; |
| | | static final boolean TARGET_OS_IS_WINDOWS = "@@OPENJDK_TARGET_OS@@" == "windows"; |
| | | static final boolean TARGET_OS_IS_AIX = "@@OPENJDK_TARGET_OS@@" == "aix"; |
| | | + static final boolean TARGET_OS_IS_SOLARIS = "@@OPENJDK_TARGET_OS@@" == "solaris"; |
| | | |
| | | // The Architecture value for the current architecture |
| | | static final String CURRENT_ARCH_STRING = "@@OPENJDK_TARGET_CPU@@"; |
New file |
| | |
| | | While we do have stafs(2) it has a different signature, is deprecated and |
| | | undocumented, while statvfs() gives the behaviour we actually want. |
| | | |
| | | --- a/test/jdk/java/io/File/libGetXSpace.c Wed Apr 5 22:54:38 2023 |
| | | +++ b/test/jdk/java/io/File/libGetXSpace.c Thu Apr 6 14:28:43 2023 |
| | | @@ -34,9 +34,13 @@ |
| | | #include <sys/param.h> |
| | | #include <sys/mount.h> |
| | | #else |
| | | +#ifdef __sun__ |
| | | +#include <sys/statvfs.h> |
| | | +#else |
| | | #include <sys/statfs.h> |
| | | #endif |
| | | #endif |
| | | +#endif |
| | | |
| | | #ifdef __cplusplus |
| | | extern "C" { |
| | | @@ -142,8 +146,13 @@ |
| | | chars[len] = '\0'; |
| | | (*env)->ReleaseStringChars(env, root, strchars); |
| | | |
| | | +#ifdef __sun__ |
| | | + struct statvfs buf; |
| | | + int result = statvfs(chars, &buf); |
| | | +#else |
| | | struct statfs buf; |
| | | int result = statfs(chars, &buf); |
| | | +#endif |
| | | free(chars); |
| | | if (result < 0) { |
| | | JNU_ThrowByNameWithLastError(env, "java/lang/RuntimeException", |
New file |
| | |
| | | --- a/src/hotspot/share/runtime/javaThread.cpp Wed Apr 12 04:15:39 2023 |
| | | +++ b/src/hotspot/share/runtime/javaThread.cpp Thu Apr 6 13:54:57 2023 |
| | | @@ -23,6 +23,7 @@ |
| | | * |
| | | */ |
| | | |
| | | +#include <alloca.h> |
| | | #include "precompiled.hpp" |
| | | #include "cds/dynamicArchive.hpp" |
| | | #include "ci/ciEnv.hpp" |
New file |
| | |
| | | --- a/src/java.base/share/native/libjava/jni_util.c Tue Mar 7 13:51:11 2023 |
| | | +++ b/src/java.base/share/native/libjava/jni_util.c Mon Apr 24 10:07:39 2023 |
| | | @@ -25,6 +25,7 @@ |
| | | |
| | | #include <stdlib.h> |
| | | #include <string.h> |
| | | +#include <limits.h> |
| | | |
| | | #include "jvm.h" |
| | | #include "jni.h" |
New file |
| | |
| | | --- a/src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c Thu Jun 8 15:06:27 2023 |
| | | +++ b/src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c Mon Jun 12 09:15:47 2023 |
| | | @@ -37,6 +37,10 @@ |
| | | #include "gtk_interface.h" |
| | | #include "gtk3_interface.h" |
| | | |
| | | +#ifndef MAX |
| | | +#define MAX(a,b) ((a) > (b) ? (a) : (b)) |
| | | +#endif |
| | | + |
| | | int DEBUG_SCREENCAST_ENABLED = FALSE; |
| | | |
| | | #define EXCEPTION_CHECK_DESCRIBE() if ((*env)->ExceptionCheck(env)) { \ |
New file |
| | |
| | | --- /dev/null Fri Apr 22 12:35:21 2022 |
| | | +++ a/src/hotspot/os_cpu/solaris_x86/safefetch_solaris_x86_64.S Fri Apr 22 12:29:28 2022 |
| | | @@ -0,0 +1,58 @@ |
| | | +# |
| | | +# Copyright (c) 2022 SAP SE. All rights reserved. |
| | | +# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. |
| | | +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | +# |
| | | +# This code is free software; you can redistribute it and/or modify it |
| | | +# under the terms of the GNU General Public License version 2 only, as |
| | | +# published by the Free Software Foundation. |
| | | +# |
| | | +# This code is distributed in the hope that it will be useful, but WITHOUT |
| | | +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | +# version 2 for more details (a copy is included in the LICENSE file that |
| | | +# accompanied this code). |
| | | +# |
| | | +# You should have received a copy of the GNU General Public License version |
| | | +# 2 along with this work; if not, write to the Free Software Foundation, |
| | | +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | +# |
| | | +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | +# or visit www.oracle.com if you need additional information or have any |
| | | +# questions. |
| | | +# |
| | | + .globl SafeFetch32_impl |
| | | + .globl SafeFetchN_impl |
| | | + .globl _SafeFetch32_fault |
| | | + .globl _SafeFetchN_fault |
| | | + .globl _SafeFetch32_continuation |
| | | + .globl _SafeFetchN_continuation |
| | | + |
| | | + .text |
| | | + |
| | | + |
| | | + # Support for int SafeFetch32(int* address, int defaultval); |
| | | + # |
| | | + # %rdi : address |
| | | + # %esi : defaultval |
| | | + .type SafeFetch32_impl,@function |
| | | +SafeFetch32_impl: |
| | | +_SafeFetch32_fault: |
| | | + movl (%rdi), %eax # load target value, may fault |
| | | + ret |
| | | +_SafeFetch32_continuation: |
| | | + movl %esi, %eax # return default |
| | | + ret |
| | | + |
| | | + # Support for intptr_t SafeFetchN(intptr_t* address, intptr_t defaultval); |
| | | + # |
| | | + # %rdi : address |
| | | + # %rsi : defaultval |
| | | + .type SafeFetchN_impl,@function |
| | | +SafeFetchN_impl: |
| | | +_SafeFetchN_fault: |
| | | + movq (%rdi), %rax # load target value, may fault |
| | | + ret |
| | | +_SafeFetchN_continuation: |
| | | + movq %rsi, %rax # return default |
| | | + ret |
New file |
| | |
| | | --- a/src/hotspot/os/posix/signals_posix.cpp Wed Oct 7 17:21:51 2020 |
| | | +++ b/src/hotspot/os/posix/signals_posix.cpp Sat Oct 10 16:46:21 2020 |
| | | @@ -548,6 +548,8 @@ |
| | | #define JVM_HANDLE_XXX_SIGNAL JVM_handle_aix_signal |
| | | #elif defined(LINUX) |
| | | #define JVM_HANDLE_XXX_SIGNAL JVM_handle_linux_signal |
| | | +#elif defined(SOLARIS) |
| | | +#define JVM_HANDLE_XXX_SIGNAL JVM_handle_solaris_signal |
| | | #else |
| | | #error who are you? |
| | | #endif |
New file |
| | |
| | | --- a/src/hotspot/cpu/zero/stubGenerator_zero.cpp Wed Aug 19 21:41:08 2020 |
| | | +++ b/src/hotspot/cpu/zero/stubGenerator_zero.cpp Tue Sep 1 21:46:36 2020 |
| | | @@ -42,6 +42,9 @@ |
| | | #ifdef COMPILER2 |
| | | #include "opto/runtime.hpp" |
| | | #endif |
| | | +#ifdef __sun__ |
| | | +#include <alloca.h> |
| | | +#endif |
| | | |
| | | // Declaration and definition of StubGenerator (no .hpp file). |
| | | // For a more detailed description of the stub routine structure |
New file |
| | |
| | | diff -ur -N /tmp/g/atomic_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/atomic_solaris_zero.hpp |
| | | --- /tmp/g/atomic_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/atomic_solaris_zero.hpp 2020-08-27 09:48:36.864797068 +0000 |
| | | @@ -0,0 +1,182 @@ |
| | | +/* |
| | | + * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP |
| | | +#define OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP |
| | | + |
| | | +inline int32_t _Atomic_add(int32_t add_value, volatile int32_t* dest) { |
| | | + int32_t rv = add_value; |
| | | + __asm__ volatile ("lock xaddl %0,(%2)" |
| | | + : "=r" (rv) |
| | | + : "0" (rv), "r" (dest) |
| | | + : "cc", "memory"); |
| | | + return rv + add_value; |
| | | +} |
| | | +inline int64_t _Atomic_add_long(int64_t add_value, volatile int64_t* dest) { |
| | | + int64_t rv = add_value; |
| | | + __asm__ volatile ("lock xaddq %0,(%2)" |
| | | + : "=r" (rv) |
| | | + : "0" (rv), "r" (dest) |
| | | + : "cc", "memory"); |
| | | + return rv + add_value; |
| | | +} |
| | | +inline int32_t _Atomic_xchg(int32_t exchange_value, volatile int32_t* dest) { |
| | | + __asm__ __volatile__ ("xchgl (%2),%0" |
| | | + : "=r" (exchange_value) |
| | | + : "0" (exchange_value), "r" (dest) |
| | | + : "memory"); |
| | | + return exchange_value; |
| | | +} |
| | | +inline int64_t _Atomic_xchg_long(int64_t exchange_value, volatile int64_t* dest) { |
| | | + __asm__ __volatile__ ("xchgq (%2),%0" |
| | | + : "=r" (exchange_value) |
| | | + : "0" (exchange_value), "r" (dest) |
| | | + : "memory"); |
| | | + return exchange_value; |
| | | +} |
| | | +inline int8_t _Atomic_cmpxchg_byte(int8_t exchange_value, volatile int8_t* dest, int8_t compare_value) { |
| | | + __asm__ volatile ("lock cmpxchgb %1,(%3)" |
| | | + : "=a" (exchange_value) |
| | | + : "q" (exchange_value), "a" (compare_value), "r" (dest) |
| | | + : "cc", "memory"); |
| | | + return exchange_value; |
| | | +} |
| | | +inline int32_t _Atomic_cmpxchg(int32_t exchange_value, volatile int32_t* dest, int32_t compare_value) { |
| | | + __asm__ volatile ("lock cmpxchgl %1,(%3)" |
| | | + : "=a" (exchange_value) |
| | | + : "q" (exchange_value), "a" (compare_value), "r" (dest) |
| | | + : "cc", "memory"); |
| | | + return exchange_value; |
| | | +} |
| | | +inline int64_t _Atomic_cmpxchg_long(int64_t exchange_value, volatile int64_t* dest, int64_t compare_value) { |
| | | + __asm__ volatile ("lock cmpxchgq %1,(%3)" |
| | | + : "=a" (exchange_value) |
| | | + : "q" (exchange_value), "a" (compare_value), "r" (dest) |
| | | + : "cc", "memory"); |
| | | + return exchange_value; |
| | | +} |
| | | + |
| | | +template<size_t byte_size> |
| | | +struct Atomic::PlatformAdd { |
| | | + template<typename D, typename I> |
| | | + D add_then_fetch(D volatile* dest, I add_value, atomic_memory_order order) const; |
| | | + |
| | | + template<typename D, typename I> |
| | | + D fetch_then_add(D volatile* dest, I add_value, atomic_memory_order order) const { |
| | | + return add_then_fetch(dest, add_value, order) - add_value; |
| | | + } |
| | | +}; |
| | | + |
| | | +// Not using add_using_helper; see comment for cmpxchg. |
| | | +template<> |
| | | +template<typename D, typename I> |
| | | +inline D Atomic::PlatformAdd<4>::add_then_fetch(D volatile* dest, I add_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(4 == sizeof(I)); |
| | | + STATIC_ASSERT(4 == sizeof(D)); |
| | | + return PrimitiveConversions::cast<D>( |
| | | + _Atomic_add(PrimitiveConversions::cast<int32_t>(add_value), |
| | | + reinterpret_cast<int32_t volatile*>(dest))); |
| | | +} |
| | | + |
| | | +// Not using add_using_helper; see comment for cmpxchg. |
| | | +template<> |
| | | +template<typename D, typename I> |
| | | +inline D Atomic::PlatformAdd<8>::add_then_fetch(D volatile* dest, I add_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(8 == sizeof(I)); |
| | | + STATIC_ASSERT(8 == sizeof(D)); |
| | | + return PrimitiveConversions::cast<D>( |
| | | + _Atomic_add_long(PrimitiveConversions::cast<int64_t>(add_value), |
| | | + reinterpret_cast<int64_t volatile*>(dest))); |
| | | +} |
| | | + |
| | | +template<> |
| | | +template<typename T> |
| | | +inline T Atomic::PlatformXchg<4>::operator()(T volatile* dest, |
| | | + T exchange_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(4 == sizeof(T)); |
| | | + return PrimitiveConversions::cast<T>( |
| | | + _Atomic_xchg(PrimitiveConversions::cast<int32_t>(exchange_value), |
| | | + reinterpret_cast<int32_t volatile*>(dest))); |
| | | +} |
| | | + |
| | | +template<> |
| | | +template<typename T> |
| | | +inline T Atomic::PlatformXchg<8>::operator()(T volatile* dest, |
| | | + T exchange_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(8 == sizeof(T)); |
| | | + return PrimitiveConversions::cast<T>( |
| | | + _Atomic_xchg_long(PrimitiveConversions::cast<int64_t>(exchange_value), |
| | | + reinterpret_cast<int64_t volatile*>(dest))); |
| | | +} |
| | | + |
| | | +// Not using cmpxchg_using_helper here, because some configurations of |
| | | +// Solaris compiler don't deal well with passing a "defined in .il" |
| | | +// function as an argument. We *should* switch to using gcc-style |
| | | +// inline assembly, but attempting to do so with Studio 12.4 ran into |
| | | +// segfaults. |
| | | + |
| | | +template<> |
| | | +template<typename T> |
| | | +inline T Atomic::PlatformCmpxchg<1>::operator()(T volatile* dest, |
| | | + T compare_value, |
| | | + T exchange_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(1 == sizeof(T)); |
| | | + return PrimitiveConversions::cast<T>( |
| | | + _Atomic_cmpxchg_byte(PrimitiveConversions::cast<int8_t>(exchange_value), |
| | | + reinterpret_cast<int8_t volatile*>(dest), |
| | | + PrimitiveConversions::cast<int8_t>(compare_value))); |
| | | +} |
| | | + |
| | | +template<> |
| | | +template<typename T> |
| | | +inline T Atomic::PlatformCmpxchg<4>::operator()(T volatile* dest, |
| | | + T compare_value, |
| | | + T exchange_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(4 == sizeof(T)); |
| | | + return PrimitiveConversions::cast<T>( |
| | | + _Atomic_cmpxchg(PrimitiveConversions::cast<int32_t>(exchange_value), |
| | | + reinterpret_cast<int32_t volatile*>(dest), |
| | | + PrimitiveConversions::cast<int32_t>(compare_value))); |
| | | +} |
| | | + |
| | | +template<> |
| | | +template<typename T> |
| | | +inline T Atomic::PlatformCmpxchg<8>::operator()(T volatile* dest, |
| | | + T compare_value, |
| | | + T exchange_value, |
| | | + atomic_memory_order order) const { |
| | | + STATIC_ASSERT(8 == sizeof(T)); |
| | | + return PrimitiveConversions::cast<T>( |
| | | + _Atomic_cmpxchg_long(PrimitiveConversions::cast<int64_t>(exchange_value), |
| | | + reinterpret_cast<int64_t volatile*>(dest), |
| | | + PrimitiveConversions::cast<int64_t>(compare_value))); |
| | | +} |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP |
| | | diff -ur -N /tmp/g/bytes_solaris_zero.inline.hpp b/src/hotspot/os_cpu/solaris_zero/bytes_solaris_zero.inline.hpp |
| | | --- /tmp/g/bytes_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/bytes_solaris_zero.hpp 2020-08-31 18:20:25.351780484 +0000 |
| | | @@ -0,0 +1,45 @@ |
| | | +/* |
| | | + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_BYTES_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_BYTES_SOLARIS_ZERO_HPP |
| | | + |
| | | +// Efficient swapping of data bytes from Java byte |
| | | +// ordering to native byte ordering and vice versa. |
| | | + |
| | | +#include <sys/byteorder.h> |
| | | + |
| | | +inline u2 Bytes::swap_u2(u2 x) { |
| | | + return BSWAP_16(x); |
| | | +} |
| | | + |
| | | +inline u4 Bytes::swap_u4(u4 x) { |
| | | + return BSWAP_32(x); |
| | | +} |
| | | + |
| | | +inline u8 Bytes::swap_u8(u8 x) { |
| | | + return BSWAP_64(x); |
| | | +} |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_BYTES_SOLARIS_ZERO_HPP |
| | | diff -ur -N /tmp/g/globals_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/globals_solaris_zero.hpp |
| | | --- /tmp/g/globals_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/globals_solaris_zero.hpp 2020-08-31 18:03:16.351225683 +0000 |
| | | @@ -0,0 +1,40 @@ |
| | | +/* |
| | | + * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_GLOBALS_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_GLOBALS_SOLARIS_ZERO_HPP |
| | | + |
| | | +// Sets the default values for platform dependent flags used by the runtime system. |
| | | +// (see globals.hpp) |
| | | + |
| | | +define_pd_global(bool, DontYieldALot, true); // Determined in the design center |
| | | +define_pd_global(intx, CompilerThreadStackSize, 1024); |
| | | +define_pd_global(intx, ThreadStackSize, 1024); // 0 => use system default |
| | | +define_pd_global(intx, VMThreadStackSize, 1024); |
| | | +define_pd_global(size_t, JVMInvokeMethodSlack, 8*K); |
| | | + |
| | | +// Used on 64 bit platforms for UseCompressedOops base address |
| | | +define_pd_global(size_t, HeapBaseMinAddress, 2*G); |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_GLOBALS_SOLARIS_ZERO_HPP |
| | | diff -ur -N /tmp/g/orderAccess_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/orderAccess_solaris_zero.hpp |
| | | --- /tmp/g/orderAccess_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/orderAccess_solaris_zero.hpp 2020-08-31 18:13:46.830570494 +0000 |
| | | @@ -0,0 +1,78 @@ |
| | | +/* |
| | | + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2007, 2008, 2009 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_ORDERACCESS_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_ORDERACCESS_SOLARIS_ZERO_HPP |
| | | + |
| | | +// Included in orderAccess.hpp header file. |
| | | + |
| | | +#ifdef ARM |
| | | + |
| | | +/* |
| | | + * ARM Kernel helper for memory barrier. |
| | | + * Using __asm __volatile ("":::"memory") does not work reliable on ARM |
| | | + * and gcc __sync_synchronize(); implementation does not use the kernel |
| | | + * helper for all gcc versions so it is unreliable to use as well. |
| | | + */ |
| | | +typedef void (__kernel_dmb_t) (void); |
| | | +#define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0) |
| | | + |
| | | +#define FULL_MEM_BARRIER __kernel_dmb() |
| | | +#define LIGHT_MEM_BARRIER __kernel_dmb() |
| | | + |
| | | +#else // ARM |
| | | + |
| | | +#define FULL_MEM_BARRIER __sync_synchronize() |
| | | + |
| | | +#ifdef PPC |
| | | + |
| | | +#ifdef __NO_LWSYNC__ |
| | | +#define LIGHT_MEM_BARRIER __asm __volatile ("sync":::"memory") |
| | | +#else |
| | | +#define LIGHT_MEM_BARRIER __asm __volatile ("lwsync":::"memory") |
| | | +#endif |
| | | + |
| | | +#else // PPC |
| | | + |
| | | +#define LIGHT_MEM_BARRIER __asm __volatile ("":::"memory") |
| | | + |
| | | +#endif // PPC |
| | | + |
| | | +#endif // ARM |
| | | + |
| | | +// Note: What is meant by LIGHT_MEM_BARRIER is a barrier which is sufficient |
| | | +// to provide TSO semantics, i.e. StoreStore | LoadLoad | LoadStore. |
| | | + |
| | | +inline void OrderAccess::loadload() { LIGHT_MEM_BARRIER; } |
| | | +inline void OrderAccess::storestore() { LIGHT_MEM_BARRIER; } |
| | | +inline void OrderAccess::loadstore() { LIGHT_MEM_BARRIER; } |
| | | +inline void OrderAccess::storeload() { FULL_MEM_BARRIER; } |
| | | + |
| | | +inline void OrderAccess::acquire() { LIGHT_MEM_BARRIER; } |
| | | +inline void OrderAccess::release() { LIGHT_MEM_BARRIER; } |
| | | +inline void OrderAccess::fence() { FULL_MEM_BARRIER; } |
| | | +inline void OrderAccess::cross_modify_fence_impl() { } |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_ORDERACCESS_SOLARIS_ZERO_HPP |
| | | diff -ur -N /tmp/g/os_solaris_zero.cpp b/src/hotspot/os_cpu/solaris_zero/os_solaris_zero.cpp |
| | | --- /tmp/g/os_solaris_zero.cpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/os_solaris_zero.cpp 2020-09-02 13:28:22.493092922 +0000 |
| | | @@ -0,0 +1,299 @@ |
| | | +/* |
| | | + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#include <pthread.h> /* For pthread_attr_get_np */ |
| | | + |
| | | +// no precompiled headers |
| | | +#include "jvm.h" |
| | | +#include "assembler_zero.inline.hpp" |
| | | +#include "classfile/classLoader.hpp" |
| | | +#include "classfile/systemDictionary.hpp" |
| | | +#include "classfile/vmSymbols.hpp" |
| | | +#include "code/icBuffer.hpp" |
| | | +#include "code/vtableStubs.hpp" |
| | | +#include "interpreter/interpreter.hpp" |
| | | +#include "memory/allocation.inline.hpp" |
| | | +#include "os_solaris.hpp" |
| | | +#include "os_posix.hpp" |
| | | +#include "nativeInst_zero.hpp" |
| | | +#include "prims/jniFastGetField.hpp" |
| | | +#include "prims/jvm_misc.hpp" |
| | | +#include "runtime/arguments.hpp" |
| | | +#include "runtime/frame.inline.hpp" |
| | | +#include "runtime/interfaceSupport.inline.hpp" |
| | | +#include "runtime/java.hpp" |
| | | +#include "runtime/javaCalls.hpp" |
| | | +#include "runtime/mutexLocker.hpp" |
| | | +#include "runtime/osThread.hpp" |
| | | +#include "runtime/sharedRuntime.hpp" |
| | | +#include "runtime/stubRoutines.hpp" |
| | | +#include "runtime/thread.inline.hpp" |
| | | +#include "runtime/timer.hpp" |
| | | +#include "signals_posix.hpp" |
| | | +#include "utilities/events.hpp" |
| | | +#include "utilities/vmError.hpp" |
| | | + |
| | | +// See stubGenerator_zero.cpp |
| | | +#include <setjmp.h> |
| | | +extern sigjmp_buf* get_jmp_buf_for_continuation(); |
| | | + |
| | | +address os::current_stack_pointer() { |
| | | + // return the address of the current function |
| | | + return (address)__builtin_frame_address(0); |
| | | +} |
| | | + |
| | | +frame os::get_sender_for_C_frame(frame* fr) { |
| | | + ShouldNotCallThis(); |
| | | + return frame(); |
| | | +} |
| | | + |
| | | +frame os::current_frame() { |
| | | + // The only thing that calls this is the stack printing code in |
| | | + // VMError::report: |
| | | + // - Step 110 (printing stack bounds) uses the sp in the frame |
| | | + // to determine the amount of free space on the stack. We |
| | | + // set the sp to a close approximation of the real value in |
| | | + // order to allow this step to complete. |
| | | + // - Step 120 (printing native stack) tries to walk the stack. |
| | | + // The frame we create has a NULL pc, which is ignored as an |
| | | + // invalid frame. |
| | | + frame dummy = frame(); |
| | | + dummy.set_sp((intptr_t *) current_stack_pointer()); |
| | | + return dummy; |
| | | +} |
| | | + |
| | | +char* os::non_memory_address_word() { |
| | | + // Must never look like an address returned by reserve_memory, |
| | | + // even in its subfields (as defined by the CPU immediate fields, |
| | | + // if the CPU splits constants across multiple instructions). |
| | | + // This is the value for x86; works pretty well for PPC too. |
| | | + return (char *) -1; |
| | | +} |
| | | + |
| | | +address os::Posix::ucontext_get_pc(const ucontext_t* uc) { |
| | | + ShouldNotCallThis(); |
| | | + return NULL; |
| | | +} |
| | | + |
| | | +void os::Posix::ucontext_set_pc(ucontext_t * uc, address pc) { |
| | | + ShouldNotCallThis(); |
| | | +} |
| | | + |
| | | +address os::fetch_frame_from_context(const void* ucVoid, |
| | | + intptr_t** ret_sp, |
| | | + intptr_t** ret_fp) { |
| | | + ShouldNotCallThis(); |
| | | + return NULL; |
| | | +} |
| | | + |
| | | +frame os::fetch_frame_from_context(const void* ucVoid) { |
| | | + ShouldNotCallThis(); |
| | | + return frame(); |
| | | +} |
| | | + |
| | | +bool PosixSignals::pd_hotspot_signal_handler(int sig, siginfo_t* info, |
| | | + ucontext_t* uc, JavaThread* thread) { |
| | | + |
| | | + if (info != NULL && thread != NULL) { |
| | | + // Handle ALL stack overflow variations here |
| | | + if (sig == SIGSEGV || sig == SIGBUS) { |
| | | + address addr = (address) info->si_addr; |
| | | + |
| | | + // check if fault address is within thread stack |
| | | + if (thread->is_in_full_stack(addr)) { |
| | | + StackOverflow* overflow_state = thread->stack_overflow_state(); |
| | | + // stack overflow |
| | | + if (overflow_state->in_stack_yellow_reserved_zone(addr)) { |
| | | + overflow_state->disable_stack_yellow_reserved_zone(); |
| | | + ShouldNotCallThis(); |
| | | + } |
| | | + else if (overflow_state->in_stack_red_zone(addr)) { |
| | | + overflow_state->disable_stack_red_zone(); |
| | | + ShouldNotCallThis(); |
| | | + } |
| | | + } |
| | | + } |
| | | + |
| | | + /*if (thread->thread_state() == _thread_in_Java) { |
| | | + ShouldNotCallThis(); |
| | | + } |
| | | + else*/ if ((thread->thread_state() == _thread_in_vm || |
| | | + thread->thread_state() == _thread_in_native) && |
| | | + sig == SIGBUS && thread->doing_unsafe_access()) { |
| | | + ShouldNotCallThis(); |
| | | + } |
| | | + |
| | | + // jni_fast_Get<Primitive>Field can trap at certain pc's if a GC |
| | | + // kicks in and the heap gets shrunk before the field access. |
| | | + /*if (sig == SIGSEGV || sig == SIGBUS) { |
| | | + address addr = JNI_FastGetField::find_slowcase_pc(pc); |
| | | + if (addr != (address)-1) { |
| | | + stub = addr; |
| | | + } |
| | | + }*/ |
| | | + } |
| | | + |
| | | + return false; |
| | | +} |
| | | + |
| | | +void os::Solaris::init_thread_fpu_state(void) { |
| | | + // Nothing to do |
| | | +} |
| | | + |
| | | +// Minimum usable stack sizes required to get to user code. Space for |
| | | +// HotSpot guard pages is added later. |
| | | +#ifdef _LP64 |
| | | +// The adlc generated method 'State::MachNodeGenerator(int)' used by the C2 compiler |
| | | +// threads requires a large stack with the Solaris Studio C++ compiler version 5.13 |
| | | +// and product VM builds (debug builds require significantly less stack space). |
| | | +size_t os::_compiler_thread_min_stack_allowed = 325 * K; |
| | | +size_t os::_java_thread_min_stack_allowed = 48 * K; |
| | | +size_t os::_vm_internal_thread_min_stack_allowed = 224 * K; |
| | | +#else |
| | | +size_t os::_compiler_thread_min_stack_allowed = 32 * K; |
| | | +size_t os::_java_thread_min_stack_allowed = 32 * K; |
| | | +size_t os::_vm_internal_thread_min_stack_allowed = 64 * K; |
| | | +#endif // _LP64 |
| | | + |
| | | +///////////////////////////////////////////////////////////////////////////// |
| | | +// helper functions for fatal error handler |
| | | + |
| | | +void os::print_context(outputStream* st, const void* context) { |
| | | + ShouldNotCallThis(); |
| | | +} |
| | | + |
| | | +void os::print_tos_pc(outputStream* st, const void* context) { |
| | | + ShouldNotCallThis(); |
| | | +} |
| | | + |
| | | +void os::print_register_info(outputStream *st, const void *context, int& continuation) { |
| | | + st->print_cr("No register info."); |
| | | +} |
| | | + |
| | | +// Atomically copy 64 bits of data |
| | | +static inline void atomic_copy64(const volatile void *src, volatile void *dst) { |
| | | + *(jlong *) dst = *(const jlong *) src; |
| | | +} |
| | | + |
| | | +///////////////////////////////////////////////////////////////////////////// |
| | | +// Stubs for things that would be in bsd_zero.s if it existed. |
| | | +// You probably want to disassemble these monkeys to check they're ok. |
| | | + |
| | | +extern "C" { |
| | | + int SpinPause() { |
| | | + return 1; |
| | | + } |
| | | + |
| | | + void _Copy_conjoint_jshorts_atomic(const jshort* from, jshort* to, size_t count) { |
| | | + if (from > to) { |
| | | + const jshort *end = from + count; |
| | | + while (from < end) |
| | | + *(to++) = *(from++); |
| | | + } |
| | | + else if (from < to) { |
| | | + const jshort *end = from; |
| | | + from += count - 1; |
| | | + to += count - 1; |
| | | + while (from >= end) |
| | | + *(to--) = *(from--); |
| | | + } |
| | | + } |
| | | + void _Copy_conjoint_jints_atomic(const jint* from, jint* to, size_t count) { |
| | | + if (from > to) { |
| | | + const jint *end = from + count; |
| | | + while (from < end) |
| | | + *(to++) = *(from++); |
| | | + } |
| | | + else if (from < to) { |
| | | + const jint *end = from; |
| | | + from += count - 1; |
| | | + to += count - 1; |
| | | + while (from >= end) |
| | | + *(to--) = *(from--); |
| | | + } |
| | | + } |
| | | + void _Copy_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) { |
| | | + if (from > to) { |
| | | + const jlong *end = from + count; |
| | | + while (from < end) |
| | | + atomic_copy64(from++, to++); |
| | | + } |
| | | + else if (from < to) { |
| | | + const jlong *end = from; |
| | | + from += count - 1; |
| | | + to += count - 1; |
| | | + while (from >= end) |
| | | + atomic_copy64(from--, to--); |
| | | + } |
| | | + } |
| | | + |
| | | + void _Copy_arrayof_conjoint_bytes(const HeapWord* from, |
| | | + HeapWord* to, |
| | | + size_t count) { |
| | | + memmove(to, from, count); |
| | | + } |
| | | + void _Copy_arrayof_conjoint_jshorts(const HeapWord* from, |
| | | + HeapWord* to, |
| | | + size_t count) { |
| | | + memmove(to, from, count * 2); |
| | | + } |
| | | + void _Copy_arrayof_conjoint_jints(const HeapWord* from, |
| | | + HeapWord* to, |
| | | + size_t count) { |
| | | + memmove(to, from, count * 4); |
| | | + } |
| | | + void _Copy_arrayof_conjoint_jlongs(const HeapWord* from, |
| | | + HeapWord* to, |
| | | + size_t count) { |
| | | + memmove(to, from, count * 8); |
| | | + } |
| | | +}; |
| | | + |
| | | +///////////////////////////////////////////////////////////////////////////// |
| | | +// Implementations of atomic operations not supported by processors. |
| | | +// -- http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Atomic-Builtins.html |
| | | + |
| | | +#ifndef _LP64 |
| | | +extern "C" { |
| | | + long long unsigned int __sync_val_compare_and_swap_8( |
| | | + volatile void *ptr, |
| | | + long long unsigned int oldval, |
| | | + long long unsigned int newval) { |
| | | + ShouldNotCallThis(); |
| | | + } |
| | | +}; |
| | | +#endif // !_LP64 |
| | | + |
| | | +void os::setup_fpu() {} |
| | | + |
| | | +#ifndef PRODUCT |
| | | +void os::verify_stack_alignment() { |
| | | +} |
| | | +#endif |
| | | + |
| | | +int os::extra_bang_size_in_bytes() { |
| | | + // Zero does not require an additional stack bang. |
| | | + return 0; |
| | | +} |
| | | diff -ur -N /tmp/g/os_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/os_solaris_zero.hpp |
| | | --- /tmp/g/os_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/os_solaris_zero.hpp 2020-09-01 22:01:25.502220121 +0000 |
| | | @@ -0,0 +1,62 @@ |
| | | +/* |
| | | + * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_HPP |
| | | + |
| | | + // |
| | | + // NOTE: we are back in class os here, not Solaris |
| | | + // |
| | | +#ifdef AMD64 |
| | | + static void setup_fpu() {} |
| | | +#else |
| | | + static int32_t (*atomic_xchg_func) (int32_t, volatile int32_t*); |
| | | + static int32_t (*atomic_cmpxchg_func) (int32_t, volatile int32_t*, int32_t); |
| | | + static int64_t (*atomic_cmpxchg_long_func)(int64_t, volatile int64_t*, int64_t); |
| | | + static int32_t (*atomic_add_func) (int32_t, volatile int32_t*); |
| | | + |
| | | + static int32_t atomic_xchg_bootstrap (int32_t, volatile int32_t*); |
| | | + static int32_t atomic_cmpxchg_bootstrap (int32_t, volatile int32_t*, int32_t); |
| | | + static int64_t atomic_cmpxchg_long_bootstrap(int64_t, volatile int64_t*, int64_t); |
| | | + static int32_t atomic_add_bootstrap (int32_t, volatile int32_t*); |
| | | + |
| | | + static void setup_fpu() {} |
| | | +#endif // AMD64 |
| | | + |
| | | + static juint cpu_microcode_revision(); |
| | | + |
| | | + static jlong rdtsc(); |
| | | + |
| | | + static bool is_allocatable(size_t bytes); |
| | | + |
| | | + // Used to register dynamic code cache area with the OS |
| | | + // Note: Currently only used in 64 bit Windows implementations |
| | | + static bool register_code_area(char *low, char *high) { return true; } |
| | | + |
| | | + // Atomically copy 64 bits of data |
| | | + static void atomic_copy64(const volatile void *src, volatile void *dst) { |
| | | + *(jlong *) dst = *(const jlong *) src; |
| | | + } |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_HPP |
| | | diff -ur -N /tmp/g/prefetch_solaris_zero.inline.hpp b/src/hotspot/os_cpu/solaris_zero/prefetch_solaris_zero.inline.hpp |
| | | --- /tmp/g/prefetch_solaris_zero.inline.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/prefetch_solaris_zero.inline.hpp 2020-09-01 21:42:41.412265130 +0000 |
| | | @@ -0,0 +1,37 @@ |
| | | +/* |
| | | + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2007, 2008 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_PREFETCH_SOLARIS_ZERO_INLINE_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_PREFETCH_SOLARIS_ZERO_INLINE_HPP |
| | | + |
| | | +#include "runtime/prefetch.hpp" |
| | | + |
| | | +inline void Prefetch::read(const void *loc, intx interval) { |
| | | +} |
| | | + |
| | | +inline void Prefetch::write(void *loc, intx interval) { |
| | | +} |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_PREFETCH_SOLARIS_ZERO_INLINE_HPP |
| | | diff -ur -N /tmp/g/javaThread_solaris_zero.cpp b/src/hotspot/os_cpu/solaris_zero/javaThread_solaris_zero.cpp |
| | | --- /tmp/g/javaThread_solaris_zero.cpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/javaThread_solaris_zero.cpp 2020-09-01 21:40:25.604734766 +0000 |
| | | @@ -0,0 +1,37 @@ |
| | | +/* |
| | | + * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2009, 2010 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#include "precompiled.hpp" |
| | | +#include "runtime/frame.inline.hpp" |
| | | +#include "runtime/javaThread.hpp" |
| | | + |
| | | +frame JavaThread::pd_last_frame() { |
| | | + assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); |
| | | + return frame(last_Java_fp(), last_Java_sp()); |
| | | +} |
| | | + |
| | | +void JavaThread::cache_global_variables() { |
| | | + // nothing to do |
| | | +} |
| | | diff -ur -N /tmp/g/javaThread_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/javaThread_solaris_zero.hpp |
| | | --- /tmp/g/javaThread_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/javaThread_solaris_zero.hpp 2020-09-01 21:39:59.895910869 +0000 |
| | | @@ -0,0 +1,104 @@ |
| | | +/* |
| | | + * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_JAVATHREAD_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_JAVATHREAD_SOLARIS_ZERO_HPP |
| | | + |
| | | + private: |
| | | + ZeroStack _zero_stack; |
| | | + ZeroFrame* _top_zero_frame; |
| | | + |
| | | + void pd_initialize() { |
| | | + _top_zero_frame = NULL; |
| | | + } |
| | | + |
| | | + public: |
| | | + ZeroStack *zero_stack() { |
| | | + return &_zero_stack; |
| | | + } |
| | | + |
| | | + public: |
| | | + ZeroFrame *top_zero_frame() { |
| | | + return _top_zero_frame; |
| | | + } |
| | | + void push_zero_frame(ZeroFrame *frame) { |
| | | + *(ZeroFrame **) frame = _top_zero_frame; |
| | | + _top_zero_frame = frame; |
| | | + } |
| | | + void pop_zero_frame() { |
| | | + zero_stack()->set_sp((intptr_t *) _top_zero_frame + 1); |
| | | + _top_zero_frame = *(ZeroFrame **) _top_zero_frame; |
| | | + } |
| | | + |
| | | + public: |
| | | + static ByteSize zero_stack_offset() { |
| | | + return byte_offset_of(JavaThread, _zero_stack); |
| | | + } |
| | | + static ByteSize top_zero_frame_offset() { |
| | | + return byte_offset_of(JavaThread, _top_zero_frame); |
| | | + } |
| | | + |
| | | + public: |
| | | + void set_last_Java_frame() { |
| | | + set_last_Java_frame(top_zero_frame(), zero_stack()->sp()); |
| | | + } |
| | | + void reset_last_Java_frame() { |
| | | + frame_anchor()->zap(); |
| | | + } |
| | | + void set_last_Java_frame(ZeroFrame* fp, intptr_t* sp) { |
| | | + frame_anchor()->set(sp, NULL, fp); |
| | | + } |
| | | + |
| | | + public: |
| | | + ZeroFrame* last_Java_fp() { |
| | | + return frame_anchor()->last_Java_fp(); |
| | | + } |
| | | + |
| | | + private: |
| | | + frame pd_last_frame(); |
| | | + |
| | | + public: |
| | | + static ByteSize last_Java_fp_offset() { |
| | | + return byte_offset_of(JavaThread, _anchor) + |
| | | + JavaFrameAnchor::last_Java_fp_offset(); |
| | | + } |
| | | + |
| | | + public: |
| | | + // Check for pending suspend requests and pending asynchronous |
| | | + // exceptions. There are separate accessors for these, but |
| | | + // _suspend_flags is volatile so using them would be unsafe. |
| | | + bool has_special_condition_for_native_trans() { |
| | | + return _suspend_flags != 0; |
| | | + } |
| | | + |
| | | + public: |
| | | + bool pd_get_top_frame_for_signal_handler(frame* fr_addr, |
| | | + void* ucontext, |
| | | + bool isInJava) { |
| | | + ShouldNotCallThis(); |
| | | + return false; |
| | | + } |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_JAVATHREAD_SOLARIS_ZERO_HPP |
| | | diff -ur -N /tmp/g/vmStructs_solaris_zero.hpp b/src/hotspot/os_cpu/solaris_zero/vmStructs_solaris_zero.hpp |
| | | --- /tmp/g/vmStructs_solaris_zero.hpp 1970-01-01 01:00:00.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/vmStructs_solaris_zero.hpp 2020-09-01 21:48:37.312847065 +0000 |
| | | @@ -0,0 +1,42 @@ |
| | | +/* |
| | | + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
| | | + * Copyright 2007 Red Hat, Inc. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_VMSTRUCTS_SOLARIS_ZERO_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_VMSTRUCTS_SOLARIS_ZERO_HPP |
| | | + |
| | | +// These are the OS and CPU-specific fields, types and integer |
| | | +// constants required by the Serviceability Agent. This file is |
| | | +// referenced by vmStructs.cpp. |
| | | + |
| | | +#define VM_STRUCTS_OS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) |
| | | + |
| | | + |
| | | +#define VM_TYPES_OS_CPU(declare_type, declare_toplevel_type, declare_oop_type, declare_integer_type, declare_unsigned_integer_type, declare_c1_toplevel_type, declare_c2_type, declare_c2_toplevel_type) |
| | | + |
| | | +#define VM_INT_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) |
| | | + |
| | | +#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_VMSTRUCTS_SOLARIS_ZERO_HPP |
| | | --- /dev/null 2022-08-12 13:25:23.000000000 +0000 |
| | | +++ b/src/hotspot/os_cpu/solaris_zero/os_solaris_zero.inline.hpp 2022-08-12 08:53:34.279529742 +0000 |
| | | @@ -0,0 +1,30 @@ |
| | | +/* |
| | | + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. |
| | | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| | | + * |
| | | + * This code is free software; you can redistribute it and/or modify it |
| | | + * under the terms of the GNU General Public License version 2 only, as |
| | | + * published by the Free Software Foundation. |
| | | + * |
| | | + * This code is distributed in the hope that it will be useful, but WITHOUT |
| | | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| | | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| | | + * version 2 for more details (a copy is included in the LICENSE file that |
| | | + * accompanied this code). |
| | | + * |
| | | + * You should have received a copy of the GNU General Public License version |
| | | + * 2 along with this work; if not, write to the Free Software Foundation, |
| | | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | + * |
| | | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| | | + * or visit www.oracle.com if you need additional information or have any |
| | | + * questions. |
| | | + * |
| | | + */ |
| | | + |
| | | +#ifndef OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_INLINE_HPP |
| | | +#define OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_INLINE_HPP |
| | | + |
| | | + |
| | | + |
| | | +#endif // OS_CPU_SOLARIS_ZERO_OS_SOLARIS_ZERO_INLINE_HPP |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Ensure java libraries can be found during build. |
| | | |
| | | --- a/make/GenerateLinkOptData.gmk.orig 2019-01-08 09:40:28.000000000 +0000 |
| | | +++ b/make/GenerateLinkOptData.gmk |
| | | @@ -65,6 +65,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/ |
| | | $(call MakeDir, $(LINK_OPT_DIR)) |
| | | $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@)) |
| | | $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE))) |
| | | + LD_LIBRARY_PATH=$(INTERIM_IMAGE_DIR)/lib:$(INTERIM_IMAGE_DIR)/lib/jli \ |
| | | $(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \ |
| | | -Duser.language=en -Duser.country=US \ |
| | | -cp $(SUPPORT_OUTPUTDIR)/classlist.jar \ |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Support for SunOS/gcc. |
| | | |
| | | --- a/make/autoconf/flags-cflags.m4.orig 2019-01-08 09:40:27.000000000 +0000 |
| | | +++ b/make/autoconf/flags-cflags.m4 |
| | | @@ -39,8 +39,13 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS], |
| | | SHARED_LIBRARY_FLAGS='-shared' |
| | | SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1' |
| | | SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN" |
| | | + if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
| | | + SET_SHARED_LIBRARY_NAME='-Wl,-h,[$]1' |
| | | + SET_SHARED_LIBRARY_MAPFILE='-Wl,-M,[$]1' |
| | | + else |
| | | SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1' |
| | | SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' |
| | | + fi |
| | | |
| | | elif test "x$TOOLCHAIN_TYPE" = xclang; then |
| | | if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
| | | @@ -63,8 +68,13 @@ |
| | | # Default works for linux, might work on other platforms as well. |
| | | SHARED_LIBRARY_FLAGS='-shared' |
| | | SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1' |
| | | - SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1' |
| | | - SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' |
| | | + if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
| | | + SET_SHARED_LIBRARY_NAME='-Wl,-h,[$]1' |
| | | + SET_SHARED_LIBRARY_MAPFILE='-Wl,-M,[$]1' |
| | | + else |
| | | + SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1' |
| | | + SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' |
| | | + fi |
| | | |
| | | # arm specific settings |
| | | if test "x$OPENJDK_TARGET_CPU" = "xarm"; then |
| | | @@ -488,6 +498,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER], |
| | | |
| | | if test "x$TOOLCHAIN_TYPE" = xgcc; then |
| | | ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT" |
| | | + ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" |
| | | elif test "x$TOOLCHAIN_TYPE" = xclang; then |
| | | ALWAYS_DEFINES_JVM="-D_GNU_SOURCE" |
| | | elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Shell portability. |
| | | |
| | | --- a/make/autoconf/jdk-options.m4.orig 2019-01-08 09:40:28.000000000 +0000 |
| | | +++ b/make/autoconf/jdk-options.m4 |
| | | @@ -143,7 +143,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS] |
| | | AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file], |
| | | [specify alternative cacerts file])]) |
| | | AC_MSG_CHECKING([for cacerts file]) |
| | | - if test "x$with_cacerts_file" == x; then |
| | | + if test "x$with_cacerts_file" = x; then |
| | | AC_MSG_RESULT([default]) |
| | | else |
| | | CACERTS_FILE=$with_cacerts_file |
New file |
| | |
| | | diff -Nru jdk18u-jdk-18.0.1.1-2.orig/make/Install.gmk jdk18u-jdk-18.0.1.1-2/make/Install.gmk |
| | | --- jdk18u-jdk-18.0.1.1-2.orig/make/Install.gmk 2022-04-25 22:25:14.000000000 +0000 |
| | | +++ jdk18u-jdk-18.0.1.1-2/make/Install.gmk 2022-07-15 09:58:11.834180668 +0000 |
| | | @@ -33,6 +33,9 @@ |
| | | # Install the jdk image, in a very crude way. Not taking into |
| | | # account, how to install properly on macosx or windows etc. |
| | | install: |
| | | + echo Dummy |
| | | + |
| | | +installRude: |
| | | echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) |
| | | echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk. |
| | | $(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Support for SunOS/gcc. |
| | | |
| | | --- a/make/common/modules/LauncherCommon.gmk.orig 2019-01-08 09:40:28.000000000 +0000 |
| | | +++ b/make/common/modules/LauncherCommon.gmk |
| | | @@ -36,7 +36,9 @@ endif |
| | | # Also provide an override for non-conformant libraries. |
| | | ifeq ($(TOOLCHAIN_TYPE), gcc) |
| | | LAUNCHER_CFLAGS += -fvisibility=hidden |
| | | + ifneq ($(OPENJDK_TARGET_OS), solaris) |
| | | LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL |
| | | + endif |
| | | else ifeq ($(TOOLCHAIN_TYPE), clang) |
| | | LAUNCHER_CFLAGS += -fvisibility=hidden |
| | | else ifeq ($(TOOLCHAIN_TYPE), xlc) |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Support SunOS/gcc. |
| | | |
| | | --- a/make/common/modules/LibCommon.gmk.orig 2019-01-08 09:40:28.000000000 +0000 |
| | | +++ b/make/common/modules/LibCommon.gmk |
| | | @@ -40,7 +40,9 @@ WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/nat |
| | | ifeq ($(TOOLCHAIN_TYPE), gcc) |
| | | CFLAGS_JDKLIB += -fvisibility=hidden |
| | | CXXFLAGS_JDKLIB += -fvisibility=hidden |
| | | + ifneq ($(OPENJDK_TARGET_OS), solaris) |
| | | LDFLAGS_JDKLIB += -Wl,--exclude-libs,ALL |
| | | + endif |
| | | else ifeq ($(TOOLCHAIN_TYPE), clang) |
| | | CFLAGS_JDKLIB += -fvisibility=hidden |
| | | CXXFLAGS_JDKLIB += -fvisibility=hidden |
New file |
| | |
| | | --- a/make/autoconf/flags.m4 :: |
| | | +++ b/make/autoconf/flags.m4 :: |
| | | @@ -267,12 +267,13 @@ |
| | | |
| | | # For xlc, the word size flag is required for correct behavior. |
| | | # For clang/gcc, the flag is only strictly required for reduced builds, but |
| | | - # set it always where possible (x86 and ppc). |
| | | + # set it always where possible (x86, sparc and ppc). |
| | | if test "x$TOOLCHAIN_TYPE" = xxlc; then |
| | | MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}" |
| | | elif test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then |
| | | if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 && |
| | | test "x$OPENJDK_TARGET_CPU" != xx32 || |
| | | + test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc || |
| | | test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then |
| | | MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}" |
| | | fi |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Similar issue to https://bugs.openjdk.java.net/browse/JDK-8193056 |
| | | |
| | | --- a/src/hotspot/share/gc/g1/g1Analytics.cpp.orig 2019-01-08 12:44:56.000000000 +0000 |
| | | +++ b/src/hotspot/share/gc/g1/g1Analytics.cpp |
| | | @@ -23,6 +23,7 @@ |
| | | */ |
| | | |
| | | #include "precompiled.hpp" |
| | | +#include "memory/allocation.inline.hpp" |
| | | #include "gc/g1/g1Analytics.hpp" |
| | | #include "gc/g1/g1AnalyticsSequences.inline.hpp" |
| | | #include "gc/g1/g1Predictions.hpp" |
New file |
| | |
| | | $NetBSD$ |
| | | |
| | | Fix build on SunOS in C99 mode. |
| | | |
| | | --- a/src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h.orig 2019-01-08 12:44:59.000000000 +0000 |
| | | +++ b/src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h |
| | | @@ -63,7 +63,7 @@ |
| | | * Windows/Visual Studio) there is no effect; the OS specific tests below are |
| | | * still required (as of 2011-05-02.) |
| | | */ |
| | | -#ifndef _POSIX_SOURCE |
| | | +#if (!defined(__sun) || (__STDC_VERSION__-0 < 199901L)) && !defined(_POSIX_SOURCE) |
| | | # define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */ |
| | | #endif |
| | | |
New file |
| | |
| | | diff -Nru jdk17u-jdk-17.0.7-ga.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg jdk17u-jdk-17.0.7-ga/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg |
| | | --- jdk17u-jdk-17.0.7-ga.orig/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg 2023-08-19 17:26:03.629148428 +0200 |
| | | +++ jdk17u-jdk-17.0.7-ga/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg 2023-08-19 17:29:14.784751746 +0200 |
| | | @@ -19,5 +19,10 @@ |
| | | disabledMechanisms = { |
| | | CKM_DSA_KEY_PAIR_GEN |
| | | SecureRandom |
| | | +# the following mechanisms are disabled due to lack of digest cloning support |
| | | + CKM_MD5 |
| | | + CKM_SHA256 |
| | | + CKM_SHA384 |
| | | + CKM_SHA512 |
| | | } |
| | | |
New file |
| | |
| | | --- a/src/hotspot/os/solaris/decoder_solaris.cpp.orig Tue Apr 14 19:31:07 2020 |
| | | +++ b/src/hotspot/os/solaris/decoder_solaris.cpp Tue Apr 14 20:07:38 2020 |
| | | @@ -22,11 +22,24 @@ |
| | | * |
| | | */ |
| | | |
| | | +#include "jvm.h" |
| | | #include "utilities/decoder_elf.hpp" |
| | | |
| | | -#include <demangle.h> |
| | | +#include <cxxabi.h> |
| | | |
| | | bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) { |
| | | - return !cplus_demangle(symbol, buf, (size_t)buflen); |
| | | + int status; |
| | | + char* result; |
| | | + size_t size = (size_t)buflen; |
| | | + // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small, |
| | | + // __cxa_demangle will call system "realloc" for additional memory, which |
| | | + // may use different malloc/realloc mechanism that allocates 'buf'. |
| | | + if ((result = abi::__cxa_demangle(symbol, NULL, NULL, &status)) != NULL) { |
| | | + jio_snprintf(buf, buflen, "%s", result); |
| | | + // call c library's free |
| | | + ::free(result); |
| | | + return true; |
| | | + } |
| | | + return false; |
| | | } |
| | | |
New file |
| | |
| | | --- a/make/autoconf/flags-cflags.m4~ Sun Apr 12 19:51:35 2020 |
| | | +++ b/make/autoconf/flags-cflags.m4 Sun Apr 12 21:38:33 2020 |
| | | @@ -530,8 +530,8 @@ |
| | | fi |
| | | |
| | | if test "x$TOOLCHAIN_TYPE" = xgcc; then |
| | | - TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fstack-protector" |
| | | - TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector" |
| | | + TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM" |
| | | + TOOLCHAIN_CFLAGS_JDK="-pipe" |
| | | # reduce lib size on linux in link step, this needs also special compile flags |
| | | # do this on s390x also for libjvm (where serviceability agent is not supported) |
| | | if test "x$ENABLE_LINKTIME_GC" = xtrue; then |
| | | @@ -580,7 +580,12 @@ |
| | | |
| | | # CFLAGS C language level for JDK sources (hotspot only uses C++) |
| | | if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then |
| | | - LANGSTD_CFLAGS="-std=c11" |
| | | + if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
| | | + # illumos headers are confused by c11 |
| | | + LANGSTD_CFLAGS="-std=gnu11" |
| | | + else |
| | | + LANGSTD_CFLAGS="-std=c11" |
| | | + fi |
| | | elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then |
| | | LANGSTD_CFLAGS="-std:c11" |
| | | fi |
New file |
| | |
| | | --- a/make/autoconf/flags-ldflags.m4~ Mon Apr 13 13:55:05 2020 |
| | | +++ b/make/autoconf/flags-ldflags.m4 Mon Apr 13 14:10:29 2020 |
| | | @@ -58,9 +58,13 @@ |
| | | # Setup basic LDFLAGS |
| | | if test "x$TOOLCHAIN_TYPE" = xgcc; then |
| | | # Add -z,defs, to forbid undefined symbols in object files. |
| | | - # add -z,relro (mark relocations read only) for all libs |
| | | - # add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only) |
| | | - BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now" |
| | | + if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
| | | + BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs" |
| | | + else |
| | | + # add relro (mark relocations read only) for all libs |
| | | + # add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only) |
| | | + BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now" |
| | | + fi |
| | | # Linux : remove unused code+data in link step |
| | | if test "x$ENABLE_LINKTIME_GC" = xtrue; then |
| | | if test "x$OPENJDK_TARGET_CPU" = xs390x; then |
New file |
| | |
| | | --- a/make/autoconf/flags-ldflags.m4~ Wed Apr 15 14:26:49 2020 |
| | | +++ b/make/autoconf/flags-ldflags.m4 Wed Apr 15 14:28:01 2020 |
| | | @@ -142,11 +142,13 @@ |
| | | |
| | | # Setup LDFLAGS for linking executables |
| | | if test "x$TOOLCHAIN_TYPE" = xgcc; then |
| | | - EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined" |
| | | - # Enabling pie on 32 bit builds prevents the JVM from allocating a continuous |
| | | - # java heap. |
| | | - if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then |
| | | - EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -pie" |
| | | + if test "x$OPENJDK_TARGET_OS" != xsolaris; then |
| | | + EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined" |
| | | + # Enabling pie on 32 bit builds prevents the JVM from allocating a continuous |
| | | + # java heap. |
| | | + if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then |
| | | + EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -pie" |
| | | + fi |
| | | fi |
| | | fi |
| | | |
New file |
| | |
| | | { |
| | | "dependencies": [ |
| | | "image/library/libjpeg6", |
| | | "image/library/libjpeg6-ijg", |
| | | "image/library/libpng16", |
| | | "library/c++/harfbuzz", |
| | | "library/giflib", |
| | | "library/zlib", |
| | | "runtime/java/openjdk21", |
| | | "system/header/header-audio", |
| | | "system/library", |
| | | "system/library/c++/sunpro", |
| | | "system/library/freetype-2", |
| | | "system/library/g++-10-runtime", |
| | | "system/library/gcc-10-runtime", |
| | | "system/library/math", |
| | | "x11/library/libx11", |
| | | "x11/library/libxext", |
| | | "x11/library/libxi", |
| | | "x11/library/libxrender", |
| | | "x11/library/libxtst" |
| | | ], |
| | | "fmris": [ |
| | | "library/java/openjdk22/demo", |
| | | "runtime/java/openjdk22" |
| | | ], |
| | | "name": "openjdk" |
| | | } |