changeset 2927:1b5dd7a1de60

PR3493: Run AES test to test intrinsics 2017-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org> PR3493: Run AES test to test intrinsics * Makefile.am: (AES_CHECK_BUILD_DIR): Define directory for built test class files. (AES_CHECK_SRC): Define source file for test. (check-local): Depend on check-aes. (clean-tests): Depend on clean-check-aes and also include all test build targets (clean-ecccheck, clean-mimetypecheck, clean-aescheck, clean-cryptocheck). Drop removal of test directory which fails as it's non-empty, due to configure's generation of jstapset.pl (clean-local): Remove targets moved to clean-tests. (.PHONY): Add clean-aescheck and clean-check-aes. (aescheck-build): Build the AES test. (clean-aescheck): Cleanup the AES test build. (check-aes): Run the AES test. (clean-check-aes): Cleanup the AES test run. * NEWS: Updated.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Tue, 14 Nov 2017 13:26:37 +0000
parents 8165ef17735a
children 143dc20feff0
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 60 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Nov 13 19:08:47 2017 +0000
+++ b/ChangeLog	Tue Nov 14 13:26:37 2017 +0000
@@ -1,3 +1,24 @@
+2017-11-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR3493: Run AES test to test intrinsics
+	* Makefile.am:
+	(AES_CHECK_BUILD_DIR): Define directory for
+	built test class files.
+	(AES_CHECK_SRC): Define source file for test.
+	(check-local): Depend on check-aes.
+	(clean-tests): Depend on clean-check-aes and
+	also include all test build targets (clean-ecccheck,
+	clean-mimetypecheck, clean-aescheck, clean-cryptocheck).
+	Drop removal of test directory which fails as it's non-empty,
+	due to configure's generation of jstapset.pl
+	(clean-local): Remove targets moved to clean-tests.
+	(.PHONY): Add clean-aescheck and clean-check-aes.
+	(aescheck-build): Build the AES test.
+	(clean-aescheck): Cleanup the AES test build.
+	(check-aes): Run the AES test.
+	(clean-check-aes): Cleanup the AES test run.
+	* NEWS: Updated.
+
 2017-10-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR3470: Hotspot object_alloc tapset uses HeapWordSize incorrectly
--- a/Makefile.am	Mon Nov 13 19:08:47 2017 +0000
+++ b/Makefile.am	Tue Nov 14 13:26:37 2017 +0000
@@ -71,6 +71,7 @@
 CRYPTO_CHECK_BUILD_DIR = $(abs_top_builddir)/test/cryptocheck.build
 ECC_CHECK_BUILD_DIR = $(abs_top_builddir)/ecccheck.build
 MIME_TYPE_CHECK_BUILD_DIR = $(abs_top_builddir)/test/mimetypecheck.build
+AES_CHECK_BUILD_DIR = $(abs_top_builddir)/aescheck.build
 STAGE1_BOOT_RUNTIME = $(STAGE1_BOOT_DIR)/jre/lib/rt.jar
 STAGE2_BOOT_RUNTIME = $(STAGE2_BOOT_DIR)/jre/lib/rt.jar
 FONTCONFIG_PATH = openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs
@@ -368,6 +369,7 @@
 ECC_CHECK_SRCS = $(top_srcdir)/test/standalone/TestEllipticCurveCryptoSupport.java \
 	$(top_srcdir)/test/standalone/TestECDSA.java
 MIME_TYPE_CHECK_SRCS = $(top_srcdir)/test/standalone/RH1195203.java
+AES_CHECK_SRC = openjdk/hotspot/test/compiler/7184394/TestAESMain.java
 
 # Patch list
 
@@ -942,16 +944,12 @@
 all-local: icedtea-stage2 $(DESKTOP_FILES)
 
 check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) check-ecc check-mimetype \
- check-java-debug check-java-src
+ check-java-debug check-java-src check-aes
 
 clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports \
  clean-check-ecc clean-check-mimetype clean-check-java-debug \
- clean-check-java-src
-	if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \
-	  if [ -e test ] ; then \
-	    rmdir test ; \
-	  fi \
-	fi
+ clean-check-java-src clean-check-aes clean-ecccheck clean-mimetypecheck \
+ clean-aescheck clean-cryptocheck
 
 clean-local: clean-tests \
  clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \
@@ -961,8 +959,7 @@
  clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \
  clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \
  clean-add-systemtap clean-add-systemtap-debug clean-add-nss clean-add-tzdata-support \
- clean-add-tzdata-support-debug clean-cryptocheck clean-policytool-@JAVA_VER@.desktop \
- clean-jconsole-@JAVA_VER@.desktop clean-ecccheck clean-mimetypecheck
+ clean-add-tzdata-support-debug clean-policytool-@JAVA_VER@.desktop clean-jconsole-@JAVA_VER@.desktop
 	if [ -e bootstrap ]; then \
 	  rmdir bootstrap ; \
 	fi
@@ -1004,7 +1001,7 @@
 	clean-fonts clean-add-mime-types-file clean-add-mime-types-file-debug clean-add-mime-types-file-boot \
 	clean-tests clean-tapset-report clean-ecccheck clean-check-ecc \
 	check-jdk check-hotspot check-langtools jtregcheck check-tapset check-tapset-probes \
-	check-tapset-jstack clean-check-java-debug
+	check-tapset-jstack clean-check-java-debug clean-aescheck clean-check-aes
 
 env:
 	@echo 'unset JAVA_HOME'
@@ -3150,6 +3147,33 @@
 clean-check-ecc:
 	rm -f stamps/check-ecc.stamp
 
+# AES Intrinstic Check
+
+stamps/aescheck-build.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) stamps/extract-hotspot.stamp
+	mkdir -p $(AES_CHECK_BUILD_DIR)
+	$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -cp `dirname $(AES_CHECK_SRC)` \
+	  -d $(AES_CHECK_BUILD_DIR) $(AES_CHECK_SRC)
+	mkdir -p stamps
+	touch $@
+
+clean-aescheck:
+	rm -rf $(AES_CHECK_BUILD_DIR)
+	rm -f stamps/aescheck-build.stamp
+
+stamps/check-aes.stamp: stamps/aescheck-build.stamp stamps/icedtea.stamp
+	set -e ; \
+	if [ -e $(BUILD_SDK_DIR)/bin/java ] ; then \
+	  cat $(AES_CHECK_SRC)|grep '@run'|cut -d ' ' -f 5-|while read command; do \
+	    $(BUILD_SDK_DIR)/bin/java -cp $(AES_CHECK_BUILD_DIR) \
+	      -XX:+UseAESIntrinsics $${command} ; \
+	  done ; \
+	fi
+	mkdir -p stamps
+	touch $@
+
+clean-check-aes:
+	rm -f stamps/check-aes.stamp
+
 # Installation Targets
 # ====================
 
@@ -3424,6 +3448,8 @@
 
 add-zero-debug: stamps/add-zero-debug.stamp
 
+aescheck-build: stamps/aescheck-build.stamp
+
 bootstrap-directory-stage1: stamps/bootstrap-directory-stage1.stamp
 
 bootstrap-directory-stage2: stamps/bootstrap-directory-stage2.stamp
@@ -3434,6 +3460,8 @@
 
 cacao: stamps/cacao.stamp
 
+check-aes: stamps/check-aes.stamp
+
 check-crypto: stamps/check-crypto.stamp
 
 check-crypto-boot: stamps/check-crypto-boot.stamp
--- a/NEWS	Mon Nov 13 19:08:47 2017 +0000
+++ b/NEWS	Tue Nov 14 13:26:37 2017 +0000
@@ -16,6 +16,7 @@
 
 * New features
   - PR3180: Support building without pre-compiled headers
+  - PR3493: Run AES test to test intrinsics
 * Backports
   - S8076221, PR2809, RH1302385: Disable RC4 cipher suites
   - S8075484, PR3474, RH1490713: SocketInputStream.socketRead0 can hang even with soTimeout set