changeset 1726:f9061e19dfb0

Support original (hs11) HotSpot for normal (non-Zero/Shark builds). Depend on IT_SET_ARCH_DIRS for Zero. 2010-03-31 Andrew John Hughes <ahughes@redhat.com> * patches/hotspot/default/icedtea-gcc-stack-markings.patch: Move to main patches directory as applies to both hs11 and hs14. * Makefile.am: Fix gcc-stack-markings path. * NEWS: Add remaining backports. * acinclude.m4: (IT_SET_ARCH_DIRS): Renamed from SET_ARCH_DIRS. (ENABLE_ZERO_BUILD): Require IT_SET_ARCH_DIRS. * configure.ac: Call IT_SET_ARCH_DIRS. * patches/gcc-stack-markings.patch: Moved as above. * patches/hotspot/original/systemtap.patch: Add missing fragment.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 31 Mar 2010 01:41:40 +0100
parents 6728bebba215
children 649522401c6f
files ChangeLog Makefile.am NEWS acinclude.m4 configure.ac patches/gcc-stack-markings.patch patches/hotspot/default/icedtea-gcc-stack-markings.patch patches/hotspot/original/systemtap.patch
diffstat 8 files changed, 79 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 30 23:57:15 2010 +0100
+++ b/ChangeLog	Wed Mar 31 01:41:40 2010 +0100
@@ -1,3 +1,16 @@
+2010-03-31  Andrew John Hughes  <ahughes@redhat.com>
+
+	* patches/hotspot/default/icedtea-gcc-stack-markings.patch:
+	Move to main patches directory as applies to both hs11 and hs14.
+	* Makefile.am: Fix gcc-stack-markings path.
+	* NEWS: Add remaining backports.
+	* acinclude.m4:
+	(IT_SET_ARCH_DIRS): Renamed from SET_ARCH_DIRS.
+	(ENABLE_ZERO_BUILD): Require IT_SET_ARCH_DIRS.
+	* configure.ac: Call IT_SET_ARCH_DIRS.
+	* patches/gcc-stack-markings.patch: Moved as above.
+	* patches/hotspot/original/systemtap.patch: Add missing fragment.
+
 2009-09-03  Andrew John Hughes  <ahughes@redhat.com>
 
 	PR icedtea/356
--- a/Makefile.am	Tue Mar 30 23:57:15 2010 +0100
+++ b/Makefile.am	Wed Mar 31 01:41:40 2010 +0100
@@ -753,7 +753,7 @@
 	patches/hotspot/$(HSBUILD)/icedtea-explicit-target-arch.patch \
 	patches/openjdk/6648816.patch \
 	patches/openjdk/oj100103-debugger-socket-overflow.patch \
-	patches/hotspot/$(HSBUILD)/icedtea-gcc-stack-markings.patch \
+	patches/gcc-stack-markings.patch \
 	patches/icedtea-jtreg-httpTest.patch \
 	patches/security/20100330/6626217.patch \
 	patches/security/20100330/6633872.patch \
--- a/NEWS	Tue Mar 30 23:57:15 2010 +0100
+++ b/NEWS	Wed Mar 31 01:41:40 2010 +0100
@@ -27,6 +27,11 @@
   - 6910590: Application can modify command array in ProcessBuilder
   - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability
   - 6932480: Crash in CompilerThread/Parser. Unloaded array klass?
+- Add stack markings to the x86 assembly so as not to use executable stack.
+- Enable SystemTap JNI tracing.
+- Add SystemTap jstack support.
+- PR179: Rhino bootclasspath issue
+- PR356: Support ECC via NSS
 
 New in release 1.6.2 (2009-11-09)
 - Latest security updates:
--- a/acinclude.m4	Tue Mar 30 23:57:15 2010 +0100
+++ b/acinclude.m4	Wed Mar 31 01:41:40 2010 +0100
@@ -1,4 +1,4 @@
-AC_DEFUN([SET_ARCH_DIRS],
+AC_DEFUN_ONCE([IT_SET_ARCH_DIRS],
 [
   case "${host}" in
     x86_64-*-*)
@@ -679,6 +679,7 @@
 AC_DEFUN_ONCE([ENABLE_ZERO_BUILD],
 [
   AC_REQUIRE([SET_SHARK_BUILD])
+  AC_REQUIRE([IT_SET_ARCH_DIRS])
   AC_MSG_CHECKING(whether to use the zero-assembler port)
   use_zero=no
   AC_ARG_ENABLE([zero],
--- a/configure.ac	Tue Mar 30 23:57:15 2010 +0100
+++ b/configure.ac	Wed Mar 31 01:41:40 2010 +0100
@@ -206,7 +206,7 @@
 fi
 AC_SUBST(DIST_ID)
 
-SET_ARCH_DIRS
+IT_SET_ARCH_DIRS
 SET_OS_DIRS
 
 if test "${with_openjdk}" = true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc-stack-markings.patch	Wed Mar 31 01:41:40 2010 +0100
@@ -0,0 +1,14 @@
+--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s~	2009-08-06 01:08:57.000000000 -0700
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s	2009-08-06 01:09:27.000000000 -0700
+@@ -650,3 +650,4 @@ _Atomic_cmpxchg_long:
+         popl     %ebx
+         ret
+ 
++.section        .note.GNU-stack, "", @progbits
+--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s~	2009-08-06 01:08:57.000000000 -0700
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s	2009-08-06 01:09:27.000000000 -0700
+@@ -400,3 +400,4 @@ _Atomic_cmpxchg_long:
+         addq     $4,%rdx
+         jg       4b
+         ret
++.section        .note.GNU-stack, "", @progbits
--- a/patches/hotspot/default/icedtea-gcc-stack-markings.patch	Tue Mar 30 23:57:15 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
---- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s~	2009-08-06 01:08:57.000000000 -0700
-+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s	2009-08-06 01:09:27.000000000 -0700
-@@ -650,3 +650,4 @@ _Atomic_cmpxchg_long:
-         popl     %ebx
-         ret
- 
-+.section        .note.GNU-stack, "", @progbits
---- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s~	2009-08-06 01:08:57.000000000 -0700
-+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s	2009-08-06 01:09:27.000000000 -0700
-@@ -400,3 +400,4 @@ _Atomic_cmpxchg_long:
-         addq     $4,%rdx
-         jg       4b
-         ret
-+.section        .note.GNU-stack, "", @progbits
--- a/patches/hotspot/original/systemtap.patch	Tue Mar 30 23:57:15 2010 +0100
+++ b/patches/hotspot/original/systemtap.patch	Wed Mar 31 01:41:40 2010 +0100
@@ -1,6 +1,6 @@
-diff -Nru ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make ../openjdk/hotspot/build/linux/makefiles/dtrace.make
---- ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make	2009-04-24 08:30:52.000000000 +0100
-+++ ../openjdk/hotspot/build/linux/makefiles/dtrace.make	2010-03-30 20:43:06.000000000 +0100
+diff -Nru openjdk.orig/hotspot/build/linux/makefiles/dtrace.make openjdk/hotspot/build/linux/makefiles/dtrace.make
+--- openjdk.orig/hotspot/build/linux/makefiles/dtrace.make	2009-04-24 08:30:52.000000000 +0100
++++ openjdk/hotspot/build/linux/makefiles/dtrace.make	2010-03-31 00:49:16.000000000 +0100
 @@ -25,3 +25,7 @@
  # Linux does not build jvm_db
  LIBJVM_DB =
@@ -9,9 +9,9 @@
 +CFLAGS += -DDTRACE_ENABLED
 +
 +# It doesn't support HAVE_DTRACE_H though.
-diff -Nru ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp ../openjdk/hotspot/src/share/vm/prims/jni.cpp
---- ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp	2010-03-30 20:41:19.000000000 +0100
-+++ ../openjdk/hotspot/src/share/vm/prims/jni.cpp	2010-03-30 20:43:06.000000000 +0100
+diff -Nru openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp
+--- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp	2010-03-31 00:44:38.000000000 +0100
++++ openjdk/hotspot/src/share/vm/prims/jni.cpp	2010-03-31 00:49:16.000000000 +0100
 @@ -1744,10 +1744,7 @@
  JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \
    JNIWrapper("Set" XSTR(Result) "Field"); \
@@ -62,9 +62,9 @@
  \
    oop obj= oopFactory::Allocator(len, CHECK_0); \
    ret = (Return) JNIHandles::make_local(env, obj); \
-diff -Nru ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2010-03-30 20:41:21.000000000 +0100
-+++ ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2010-03-30 20:43:54.000000000 +0100
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2010-03-31 00:44:39.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2010-03-31 00:49:16.000000000 +0100
 @@ -2164,16 +2164,16 @@
        FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false);
        FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true);
@@ -86,9 +86,9 @@
      } else 
  #ifdef ASSERT    
      if (match_option(option, "-XX:+FullGCALot", &tail)) {
-diff -Nru ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp
---- ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2009-04-24 08:30:57.000000000 +0100
-+++ ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2010-03-30 20:43:06.000000000 +0100
+diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp openjdk/hotspot/src/share/vm/utilities/dtrace.hpp
+--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2009-04-24 08:30:57.000000000 +0100
++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2010-03-31 00:49:54.000000000 +0100
 @@ -3,6 +3,7 @@
  #endif
  /*
@@ -152,3 +152,34 @@
  #define HS_DTRACE_PROBE_N(provider,name, args) \
    DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
  
+@@ -126,4 +141,30 @@
+   HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
+     (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
+     (uintptr_t)a8,(uintptr_t)a9))
++#else
++// Systemtap dtrace compatible probes on GNU/Linux use direct macros.
++#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
++#define HS_DTRACE_PROBE0(provider,name)\
++  DTRACE_PROBE(provider,name)
++#define HS_DTRACE_PROBE1(provider,name,a0)\
++  DTRACE_PROBE1(provider,name,a0)
++#define HS_DTRACE_PROBE2(provider,name,a0,a1)\
++  DTRACE_PROBE2(provider,name,a0,a1)
++#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
++  DTRACE_PROBE3(provider,name,a0,a1,a2)
++#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
++  DTRACE_PROBE4(provider,name,a0,a1,a2,a3)
++#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
++  DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)
++#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
++  DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)
++#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
++  DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)
++#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
++  DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)
++#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
++  DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
++#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
++  DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
++#endif
+