changeset 3281:09ad6a965664

Merge
author Andrew John Hughes <gnu.andrew@redhat.com>
date Fri, 30 Dec 2016 04:28:55 +0000
parents a5335c8838a5 (current diff) f516b928f3a8 (diff)
children 7174b4a8d597
files ChangeLog Makefile.am
diffstat 11 files changed, 276 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/AUTHORS	Fri Aug 26 03:07:28 2016 +0100
+++ b/AUTHORS	Fri Dec 30 04:28:55 2016 +0000
@@ -36,6 +36,7 @@
 Parag Nemade <pnemade@redhat.com>
 Xerxes RĂ„nby <xerxes@zafena.se>
 Mark Reinhold <mr@sun.com>
+Ricardo Ribalda <ricardo.ribalda@gmail.com>
 Bernhard RosenkrÀnzer <bero@arklinux.org>
 Marc Schoenefeld <mschoene@redhat.com>
 Andreas Schwab <schwab@suse.cz>
--- a/ChangeLog	Fri Aug 26 03:07:28 2016 +0100
+++ b/ChangeLog	Fri Dec 30 04:28:55 2016 +0000
@@ -1,3 +1,90 @@
+2016-12-29  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3213: Disable ARM32 JIT by default
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add patch.
+	* patches/pr3213-conditional_arm32jit.patch:
+	Backport conditionalisation of ARM32 JIT port
+	from IcedTea 2.x.
+
+2014-02-19  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3213: Disable ARM32 JIT by default
+	* INSTALL:
+	Document ARM32 JIT and --enable-arm32-jit option.
+	* Makefile.am:
+	(ARM32JIT_STATUS): Set based on ENABLE_ARM32JIT.
+	(ICEDTEA_ENV): Pass ARM32JIT to OpenJDK build,
+	using value of ${ARM32JIT_STATUS}.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_ENABLE_ARM32JIT): Allow the ARM32 JIT to be
+	enabled.
+	* configure.ac: Invoke IT_ENABLE_ARM32JIT macro.
+
+2016-08-19  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3175: invalid zip timestamp handling leads to
+	error updating JAR files
+	* AUTHORS: Add Ricardo Ribalda.
+	* NEWS: Updated.
+
+2016-08-19  Ricardo Ribalda  <ricardo.ribalda@gmail.com>
+
+	PR3175: invalid zip timestamp handling leads to
+	error updating JAR files
+	* Makefile.am:
+	(add-pulseaudio): Don't use -u so files are always
+	overwritten, regardless of timestamps.
+	(add-pulseaudio-debug): Likewise.
+	(add-pulseaudio-ecj): Likewise.
+
+2016-12-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3174: systemtap: type definition 'symbolOopDesc' not found
+	* NEWS: Updated
+
+2012-03-16  Mark Wielaard  <mjw@redhat.com>
+
+	PR3174: systemtap: type definition 'symbolOopDesc' not found
+	* tapset/jstack.stp.in: Change symbolOopDesc to Symbol to accomodate
+	S6990754 - Use native memory and reference counting to implement
+	SymbolTable.
+
+2016-12-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3152: Zero build fails with pch disabled
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* NEWS: Updated.
+	* patches/openjdk/8078628-pr3152-zero_pch_failure.patch:
+	Backport patch from b41 to fix Zero build failure when
+	building without pre-compiled headers.
+
+2016-12-23  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3205: Builds fails with pch disabled
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* NEWS: Updated.
+	* patches/openjdk/8169448-pr3205-pch_failure.patch:
+	Backport patch from b41 to fix build failure when
+	building without pre-compiled headers.
+
+2016-10-26  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3181: Support building without pre-compiled headers
+	* INSTALL: Updated.
+	* Makefile.am:
+	(ICEDTEA_ENV): Set USE_PRECOMPILED_HEADER
+	appropriately, according to whether
+	DISABLE_PRECOMPILED_HEADERS is defined or not.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_DISABLE_PRECOMPILED_HEADERS): New macro to
+	provide the --disable-precompiled-headers option.
+	* configure.ac: Invoke IT_DISABLE_PRECOMPILED_HEADERS.
+
 2016-08-25  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* Makefile.am:
--- a/INSTALL	Fri Aug 26 03:07:28 2016 +0100
+++ b/INSTALL	Fri Dec 30 04:28:55 2016 +0000
@@ -175,6 +175,8 @@
 * --enable-system-kerberos: Link against the system Kerberos library and
   query it at runtime to obtain the cache location, rather than using a
   hardcoded value.
+* --enable-arm32-jit: Build the ARM32 JIT.
+* --disable-precompiled-headers: Don't use pre-compiled headers.
 
 Testing
 =======
@@ -277,8 +279,9 @@
 --enable-shark to configure.  Please note that Shark is still in
 development and builds are still likely to fail at present.
 
-On ARM32, there is also a native JIT port built on top of Zero, which
-is built on this platform by default.
+On ARM32, there is also a native JIT port built on top of Zero. This
+currently has issues (see PR3196) and is thus not enabled by
+default. To enable it, pass --enable-arm32-jit to configure.
 
 Support for Different Versions of HotSpot
 =========================================
--- a/Makefile.am	Fri Aug 26 03:07:28 2016 +0100
+++ b/Makefile.am	Fri Dec 30 04:28:55 2016 +0000
@@ -641,7 +641,10 @@
 	patches/pr3137-alt_button_order.patch \
 	patches/openjdk/6260348-pr3068.patch \
 	patches/openjdk/6961123-pr2975.patch \
-	patches/pr2800-missing_resources.patch
+	patches/pr2800-missing_resources.patch \
+	patches/openjdk/8169448-pr3205-pch_failure.patch \
+	patches/openjdk/8078628-pr3152-zero_pch_failure.patch \
+	patches/pr3213-conditional_arm32jit.patch
 
 if WITH_RHINO
 ICEDTEA_PATCHES += \
@@ -803,6 +806,12 @@
 WERROR_STATUS=false
 endif
 
+if ENABLE_ARM32JIT
+ARM32JIT_STATUS=true
+else
+ARM32JIT_STATUS=false
+endif
+
 ICEDTEA_UNSET = \
 	JAVAC= \
 	JAVA_HOME= \
@@ -848,7 +857,8 @@
 	CC=$(CC)$(GCC_SUFFIX) \
 	CXX=$(CXX)$(GCC_SUFFIX) \
 	COMPILER_WARNINGS_FATAL="$(WERROR_STATUS)" \
-	UNLIMITED_CRYPTO="true"
+	UNLIMITED_CRYPTO="true" \
+	ARM32JIT="${ARM32JIT_STATUS}"
 
 if ENABLE_CACAO
 ICEDTEA_ENV += \
@@ -949,6 +959,14 @@
 	DEBUG_CLASSFILES="true"
 endif
 
+if DISABLE_PRECOMPILED_HEADERS
+ICEDTEA_ENV += \
+	USE_PRECOMPILED_HEADER=0
+else
+ICEDTEA_ENV += \
+	USE_PRECOMPILED_HEADER=1
+endif
+
 # OpenJDK ecj build environment.
 ICEDTEA_ENV_ECJ = $(ICEDTEA_ENV) \
 	ALT_OUTPUTDIR="$(ECJ_BUILD_OUTPUT_DIR)" \
@@ -1872,7 +1890,7 @@
 	cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \
 	  $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext
 	(cd $(PULSE_JAVA_JAVA_SRCDIR) && \
-	   $(ZIP) -qur $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
+	   $(ZIP) -qr $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
 endif
 	touch $@
 
@@ -1895,7 +1913,7 @@
 	cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \
 	  $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/ext
 	(cd $(PULSE_JAVA_JAVA_SRCDIR) && \
-	   $(ZIP) -qur $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
+	   $(ZIP) -qr $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
 endif
 	touch $@
 
@@ -2220,7 +2238,7 @@
 	cp -pPRf $(PULSE_JAVA_BUILDDIR)/pulse-java.jar \
 	  $(ECJ_BUILD_OUTPUT_DIR)/j2re-image/lib/ext
 	(cd $(PULSE_JAVA_JAVA_SRCDIR) && \
-	   $(ZIP) -qur $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
+	   $(ZIP) -qr $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org )
 endif
 	touch $@
 
--- a/NEWS	Fri Aug 26 03:07:28 2016 +0100
+++ b/NEWS	Fri Dec 30 04:28:55 2016 +0000
@@ -18,6 +18,7 @@
   - PR1372: Provide option to build without debugging
   - PR2083: Add support for building Zero on AArch64
   - PR3112: Provide option to disable SystemTap tests
+  - PR3181: Support building without pre-compiled headers
 * Backports
   - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init
   - S6727719: Performance of TextLayout.getBounds()
@@ -33,6 +34,11 @@
   - PR2957: Build bootstrap code (rt-class-files.stamp) using bootstrap flags (source/target 1.5)
   - PR3139: Update documentation
   - PR3143: Fix typo in --with-openjdk-src-dir introduced by PR3139
+  - PR3152: Zero build fails with pch disabled
+  - PR3174: systemtap: type definition 'symbolOopDesc' not found
+  - PR3175: invalid zip timestamp handling leads to error updating JAR files
+  - PR3205: Builds fails with pch disabled
+  - PR3213: Disable ARM32 JIT by default
 
 New in release 1.13.12 (2016-08-24):
 
--- a/acinclude.m4	Fri Aug 26 03:07:28 2016 +0100
+++ b/acinclude.m4	Fri Dec 30 04:28:55 2016 +0000
@@ -2182,6 +2182,28 @@
   AM_CONDITIONAL([VM_SUPPORTS_XBOOTCLASSPATH], test x"${it_cv_xbootclasspath_works}" = "xyes")
 ])
 
+AC_DEFUN([IT_ENABLE_ARM32JIT],
+[
+  AC_MSG_CHECKING([whether to enable the ARM32 JIT])
+  AC_ARG_ENABLE([arm32-jit],
+                [AS_HELP_STRING(--enable-arm32-jit,build with the ARM32 JIT [[default=no]])],
+  [
+    case "${enableval}" in
+      yes)
+        enable_arm32jit=yes
+        ;;
+      *)
+        enable_arm32jit=no
+        ;;
+    esac
+  ],
+  [
+    enable_arm32jit=no
+  ])
+  AC_MSG_RESULT([$enable_arm32jit])
+  AM_CONDITIONAL([ENABLE_ARM32JIT], test x"${enable_arm32jit}" = "xyes")
+])
+
 AC_DEFUN_ONCE([IT_HAS_PAX],
 [
   AC_MSG_CHECKING([if a PaX kernel is in use])
@@ -2479,6 +2501,28 @@
   AM_CONDITIONAL([DISABLE_SYSTEMTAP_TESTS], test x"${disable_systemtap_tests}" = "xyes")
 ])
 
+AC_DEFUN_ONCE([IT_DISABLE_PRECOMPILED_HEADERS],
+[
+  AC_MSG_CHECKING([whether to disable the use of pre-compiled headers])
+  AC_ARG_ENABLE([precompiled-headers],
+                [AS_HELP_STRING(--disable-precompiled-headers,do not use pre-compiled headers [[default=no]])],
+  [
+    case "${enableval}" in
+      no)
+        disable_precompiled_headers=yes
+        ;;
+      *)
+        disable_precompiled_headers=no
+        ;;
+    esac
+  ],
+  [
+    disable_precompiled_headers=no
+  ])
+  AC_MSG_RESULT([$disable_precompiled_headers])
+  AM_CONDITIONAL([DISABLE_PRECOMPILED_HEADERS], test x"${disable_precompiled_headers}" = "xyes")
+])
+
 AC_DEFUN_ONCE([IT_CHECK_FOR_MIME_TYPES],
 [
   MIME_TYPES_FILE="/etc/mime.types"
--- a/configure.ac	Fri Aug 26 03:07:28 2016 +0100
+++ b/configure.ac	Fri Dec 30 04:28:55 2016 +0000
@@ -66,6 +66,7 @@
 IT_DISABLE_SYSTEMTAP_TESTS
 IT_ENABLE_NATIVE_DEBUGINFO
 IT_ENABLE_JAVA_DEBUGINFO
+IT_DISABLE_PRECOMPILED_HEADERS
 
 IT_WITH_FONTS_DIR
 AC_CONFIG_FILES([linux.fontconfig.Gentoo.properties])
@@ -301,6 +302,7 @@
 IT_SET_SHARK_BUILD
 IT_ENABLE_ZERO_BUILD
 IT_CHECK_ADDITIONAL_VMS
+IT_ENABLE_ARM32JIT
 IT_ENABLE_NON_NSS_CURVES
 IT_ENABLE_HG
 IT_WITH_HG_REVISION
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/8078628-pr3152-zero_pch_failure.patch	Fri Dec 30 04:28:55 2016 +0000
@@ -0,0 +1,49 @@
+# HG changeset patch
+# User andrew
+# Date 1482709933 0
+#      Sun Dec 25 23:52:13 2016 +0000
+# Node ID 1ae05a34e052d1672b4a7894ddf5fc2f662eb861
+# Parent  598f4f521889aadf7abccaf0634e9cd0d8b75599
+8078628: Zero build fails with pre-compiled headers disabled
+Summary: Add missing includes to make Zero builds without pre-compiled headers work
+Reviewed-by: omajid
+
+diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/entry_zero.hpp openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp
+--- openjdk.orig/hotspot/src/cpu/zero/vm/entry_zero.hpp	2016-08-22 15:02:02.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp	2016-12-26 02:36:46.775167402 +0000
+@@ -1,6 +1,6 @@
+ /*
+  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+- * Copyright 2008, 2009, 2010 Red Hat, Inc.
++ * Copyright 2016 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
+@@ -26,6 +26,8 @@
+ #ifndef CPU_ZERO_VM_ENTRY_ZERO_HPP
+ #define CPU_ZERO_VM_ENTRY_ZERO_HPP
+ 
++#include "interpreter/cppInterpreter.hpp"
++
+ class ZeroEntry {
+  public:
+   ZeroEntry() {
+diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp openjdk/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp
+--- openjdk.orig/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp	2016-08-22 15:02:03.000000000 +0100
++++ openjdk/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp	2016-12-26 02:36:46.775167402 +0000
+@@ -1,6 +1,6 @@
+ /*
+  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+- * Copyright 2008 Red Hat, Inc.
++ * Copyright 2016 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
+@@ -25,6 +25,7 @@
+ 
+ #include "precompiled.hpp"
+ #include "assembler_zero.inline.hpp"
++#include "entry_zero.hpp"
+ #include "memory/resourceArea.hpp"
+ #include "nativeInst_zero.hpp"
+ #include "oops/oop.inline.hpp"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/8169448-pr3205-pch_failure.patch	Fri Dec 30 04:28:55 2016 +0000
@@ -0,0 +1,21 @@
+# HG changeset patch
+# User andrew
+# Date 1478656400 0
+#      Wed Nov 09 01:53:20 2016 +0000
+# Node ID bbe3dc5410163bc7fb2dfbe5eb6969bbf71edc6d
+# Parent  1943edc6f06aa1f026b4e6fa9ccc8b2d60243ca7
+8169448: OpenJDK 6 fails to build without pre-compiled headers
+Summary: psPromotionManager.hpp is missing an import for psOldGen
+Reviewed-by: omajid
+
+diff --git a/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp b/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp
+@@ -25,6 +25,7 @@
+ #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP
+ #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP
+ 
++#include "gc_implementation/parallelScavenge/psOldGen.hpp"
+ #include "gc_implementation/parallelScavenge/psPromotionLAB.hpp"
+ #include "memory/allocation.hpp"
+ #include "utilities/taskqueue.hpp"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr3213-conditional_arm32jit.patch	Fri Dec 30 04:28:55 2016 +0000
@@ -0,0 +1,29 @@
+# HG changeset patch
+# User chrisphi
+# Date 1392756328 0
+#      Tue Feb 18 20:45:28 2014 +0000
+# Node ID 0a9100ca5a41c8430aa9a51ef2ca5dd4d6f38322
+# Parent  c9da84d02a614d10d2118d7725b58b42b02fbbc3
+ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off.
+
+diff --git openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
+--- openjdk.orig/hotspot/make/linux/makefiles/zeroshark.make
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make
+@@ -26,7 +26,8 @@
+ # Setup common to Zero (non-Shark) and Shark versions of VM
+ 
+ ifeq ($(ZERO_LIBARCH),arm)
+-
++# check to see if we are building the assembler jit or just zero.
++ifeq ($(ARM32JIT),true)
+ Obj_Files += asm_helper.o
+ Obj_Files += cppInterpreter_arm.o
+ Obj_Files += thumb2.o
+@@ -54,6 +55,7 @@
+ 	$(CXX_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+ 
+ endif
++endif
+ 
+ %.o: %.S
+ 	@echo Assembling $<
--- a/tapset/jstack.stp.in	Fri Aug 26 03:07:28 2016 +0100
+++ b/tapset/jstack.stp.in	Fri Dec 30 04:28:55 2016 +0000
@@ -412,7 +412,7 @@
                   // that describe the method and signature. This constant pool
                   // contains symbolic information that describe the properties
                   // of the class. The indexes for methods and signaturates in
-                  // the constant pool are symbolOopDescs that contain utf8
+                  // the constant pool are Symbols that contain utf8
                   // strings (plus lenghts). (We could also sanity check that
                   // the tag value is correct [CONSTANT_String = 8]).
                   // Note that the class name uses '/' instead of '.' as
@@ -427,17 +427,17 @@
                                    "@ABS_SERVER_LIBJVM_SO@")->_pool_holder;
                   klassSymbol = @cast(klassPtr + oopDesc_size, "Klass",
                                       "@ABS_SERVER_LIBJVM_SO@")->_name;
-                  klassName = &@cast(klassSymbol, "symbolOopDesc",
+                  klassName = &@cast(klassSymbol, "Symbol",
                                      "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                  klassLength = @cast(klassSymbol, "symbolOopDesc",
+                  klassLength = @cast(klassSymbol, "Symbol",
                                       "@ABS_SERVER_LIBJVM_SO@")->_length;
 
                   methodIndex = @cast(methodOopPtr, "methodOopDesc",
                                       "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_name_index;
-                  methodOopDesc = user_long(constantPoolOop_base + (methodIndex * ptr_size));
-                  methodName = &@cast(methodOopDesc, "symbolOopDesc",
+                  methodOopDesc = user_long(constantPoolOop_base + (methodIndex * ptr_size)) - 1;
+                  methodName = &@cast(methodOopDesc, "Symbol",
                                       "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                  methodLength = @cast(methodOopDesc, "symbolOopDesc",
+                  methodLength = @cast(methodOopDesc, "Symbol",
                                        "@ABS_SERVER_LIBJVM_SO@")->_length;
 
                   if (log_sig)
@@ -445,10 +445,10 @@
                       sigIndex = @cast(methodOopPtr, "methodOopDesc",
                                        "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_signature_index;
                       sigOopDesc = user_long(constantPoolOop_base
-                                             + (sigIndex * ptr_size));
-                      sigName = &@cast(sigOopDesc, "symbolOopDesc",
+                                             + (sigIndex * ptr_size)) - 1;
+                      sigName = &@cast(sigOopDesc, "Symbol",
                                        "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                      sigLength = @cast(sigOopDesc, "symbolOopDesc",
+                      sigLength = @cast(sigOopDesc, "Symbol",
                                         "@ABS_SERVER_LIBJVM_SO@")->_length;
                       sig = user_string_n(sigName, sigLength);
                     }