Mercurial > hg > icedtea6-hg
view patches/openjdk/7170638-systemtap.patch @ 3235:cf098836ecbb
Update to build against April 2016 security fixes.
Upstream changes:
- S4459600: java -jar fails to run Main-Class if classname followed by whitespace.
- S4963723: Implement SHA-224
- S6378099: RFE: Use libfontconfig to create/synthesise a fontconfig.properties
- S6414899: P11Digest should support cloning
- S6452854: Provide a flag to print the java configuration
- S6578658: Request for raw RSA (NONEwithRSA) Signature support in SunMSCAPI
- S6604496: Support for CKM_AES_CTR (counter mode)
- S6742159: (launcher) improve the java launching mechanism
- S6752622: java.awt.Font.getPeer throws "java.lang.InternalError: Not implemented" on Linux
- S6753664: Support SHA256 (and higher) in SunMSCAPI
- S6758881: (launcher) needs to throw NoClassDefFoundError instead of JavaRuntimeException
- S6812738: SSL stress test with GF leads to 32 bit max process size in less than 5 minutes with PCKS11 provider
- S6856415: Enabling java security manager will make program thrown wrong exception ( main method not found )
- S6892493: potential memory leaks in 2D font code indentified by parfait.
- S6924489: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_OPERATION_NOT_INITIALIZED
- S6925851: Localize JRE into pt_BR
- S6956398: make ephemeral DH key match the length of the certificate key
- S6968053: (launcher) hide exceptions under certain launcher failures
- S6977738: Deadlock between java.lang.ClassLoader and java.util.Properties
- S6981001: (launcher) EnsureJREInstallation is not being called in order
- S7017734: jdk7 message drop 1 translation integration
- S7026184: (launcher) Regression: class with unicode name can't be launched by java.
- S7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException
- S7044060: Need to support NSA Suite B Cryptography algorithms
- S7104161: test/sun/tools/jinfo/Basic.sh fails on Ubuntu
- S7106773: 512 bits RSA key cannot work with SHA384 and SHA512
- S7125442: jar application located in two bytes character named folder cannot be run with JRE 7 u1/u2
- S7127906: (launcher) convert the launcher regression tests to java
- S7141141: Add 3 new test scenarios for testing Main-Class attribute in jar manifest file
- S7158988: jvm crashes while debugging on x86_32 and x86_64
- S7189944: (launcher) test/tools/launcher/Arrrrghs.java needs a couple of minor fixes
- S7193318: C2: remove number of inputs requirement from Node's new operator
- S8002116: This JdbReadTwiceTest.sh gets an exit 1
- S8004007: test/sun/tools/jinfo/Basic.sh fails on when runSA is set to true
- S8006935: Need to take care of long secret keys in HMAC/PRF compuation
- S8023990: Regression: postscript size increase from 6u18
- S8027705: com/sun/jdi/JdbMethodExitTest.sh fails when a background thread is generating events.
- S8028537: PPC64: Updated the JDK regression tests to run on AIX
- S8036132: Tab characters in test/com/sun/jdi files
- S8038963: com/sun/jdi tests fail because cygwin's ps sometimes misses processes
- S8039921: SHA1WithDSA with key > 1024 bits not working
- S8044419: TEST_BUG: com/sun/jdi/JdbReadTwiceTest.sh fails when run under root
- S8059661: Test SoftReference and OOM behavior
- S8067364: Printing to Postscript doesn't support dieresis
- S8072753: Nondeterministic wrong answer on arithmetic
- S8073735: [TEST_BUG] compiler/loopopts/CountedLoopProblem.java got OOME
- S8074146: [TEST_BUG] jdb has succeded to read an unreadable file
- S8075584: test for 8067364 depends on hardwired text advance
- S8087120: [GCC5] java.lang.StackOverflowError on Zero JVM initialization on non x86 platforms.
- S8129952: Ensure thread consistency
- S8132051: Better byte behavior
- S8134297: NPE in GSSNameElement nameType check
- S8134650: Xsl transformation gives different results in 8u66
- S8138593: Make DSA more fair
- S8141229: [Parfait] Null pointer dereference in cmsstrcasecmp of cmserr.c
- S8143002: [Parfait] JNI exception pending in fontpath.c:1300
- S8143167: Better buffering of XML strings
- S8144430: Improve JMX connections
- S8146477: [TEST_BUG] ClientJSSEServerJSSE.java failing again
- S8146494: Better ligature substitution
- S8146498: Better device table adjustments
- S8146967: [TEST_BUG] javax/security/auth/SubjectDomainCombiner/Optimize.java should use 4-args ProtectionDomain constructor
- S8147567: InterpreterRuntime::post_field_access not updated for boolean in JDK-8132051
- S8148446: (tz) Support tzdata2016a
- S8148475: Missing SA Bytecode updates.
- S8149170: Better byte behavior for native arguments
- S8149367: PolicyQualifierInfo/index_Ctor JCk test fails with IOE: Invalid encoding for PolicyQualifierInfo
- S8150012: Better byte behavior for reflection
- S8150790: 8u75 L10n resource file translation update
- S8154210: Zero: Better byte behaviour
- S8155261: Zero broken since HS23 update
- S8155699: Resolve issues created by backports in OpenJDK 6 b39
- S8155699: Resolve issues created by backports in OpenJDK 6 b39, part 2
- S8155746: Sync Windows export list in make/java/jli/Makefile with make/java/jli/mapfile-vers
ChangeLog:
2016-05-03 Andrew John Hughes <gnu.andrew@member.fsf.org>
* patches/openjdk/4963723-implement_sha-224.patch,
* patches/openjdk/6578658-sunmscapi_nonewithrsa.patch,
* patches/openjdk/6753664-sunmscapi_sha-256.patch,
* patches/openjdk/6956398-ephemeraldhkeysize.patch,
* patches/openjdk/7033170-getmaxallowedkeylength_throws_exception.patch,
* patches/openjdk/7044060-support_nsa_suite_b.patch,
* patches/openjdk/7106773-512_bits_rsa.patch,
* patches/openjdk/8006935-long_keys_in_hmac_prf.patch,
* patches/openjdk/8087120-zero_gcc5.patch,
* patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch,
* patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch,
* patches/openjdk/p11cipher-6812738-native_cleanup.patch,
* patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch,
* patches/pr2486-768_dh.patch,
* patches/pr2488-1024_dh.patch:
Remove patches upstreamed in b39.
* Makefile.am:
(ICEDTEA_PATCHES): Remove above patches.
* NEWS: Updated.
* patches/openjdk/7170638-systemtap.patch:
Regenerated due to copyright header change in jni.cpp.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Wed, 04 May 2016 02:03:54 +0100 |
parents | 4c54ff50c546 |
children |
line wrap: on
line source
# HG changeset patch # User coleenp # Date 1349702334 14400 # Mon Oct 08 09:18:54 2012 -0400 # Node ID c707a5af0d71958eb3f4e9512c7d3a71c06450e0 # Parent 9e00e448460e8bf3a4c0b7a7894c073907997c1e 7170638, PR2495: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field. Summary: Don't use HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N directly. Reviewed-by: coleenp, kamg, dholmes, sspitsyn Contributed-by: Mark Wielaard <mjw@redhat.com> diff -Nru openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make openjdk/hotspot/make/bsd/makefiles/buildtree.make --- openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make 2016-05-03 23:39:23.113016118 +0100 +++ openjdk/hotspot/make/bsd/makefiles/buildtree.make 2016-05-04 00:26:06.226759102 +0100 @@ -162,6 +162,13 @@ endif endif +# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK +ifndef OPENJDK + ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) + OPENJDK=true + endif +endif + BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) BUILDTREE = \ @@ -204,6 +211,7 @@ echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ + echo "OPENJDK = $(OPENJDK)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -Nru openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make --- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2016-05-04 00:25:18.651544017 +0100 +++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2016-05-04 00:26:06.226759102 +0100 @@ -155,6 +155,13 @@ endif endif +# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK +ifndef OPENJDK + ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) + OPENJDK=true + endif +endif + BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) BUILDTREE = \ @@ -197,6 +204,7 @@ echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ + echo "OPENJDK = $(OPENJDK)"; \ echo "DERIVATIVE_ID = $(DERIVATIVE_ID)"; \ echo "DISTRIBUTION_ID = $(DISTRIBUTION_ID)"; \ echo; \ diff -Nru openjdk.orig/hotspot/make/linux/makefiles/dtrace.make openjdk/hotspot/make/linux/makefiles/dtrace.make --- openjdk.orig/hotspot/make/linux/makefiles/dtrace.make 2016-05-03 23:39:06.653287621 +0100 +++ openjdk/hotspot/make/linux/makefiles/dtrace.make 2016-05-04 00:26:06.226759102 +0100 @@ -1,5 +1,6 @@ # -# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012 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,3 +26,40 @@ # Linux does not build jvm_db LIBJVM_DB = +# Only OPENJDK builds test and support SDT probes currently. +ifndef OPENJDK +REASON = "This JDK does not support SDT probes" +else + +# We need a recent GCC for the default +ifeq "$(shell expr \( $(CC_VER_MAJOR) \>= 4 \) \& \( $(CC_VER_MINOR) \>= 4 \) )" "0" +REASON = "gcc version is too old" +else + +# But it does have a SystemTap dtrace compatible sys/sdt.h +ifneq ($(ALT_SDT_H),) + SDT_H_FILE = $(ALT_SDT_H) +else + SDT_H_FILE = /usr/include/sys/sdt.h +endif +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE)) +REASON = "$(SDT_H_FILE) not found" + +ifneq ($(DTRACE_ENABLED),) + CFLAGS += -DDTRACE_ENABLED +endif + +endif +endif + +# Phony target used in vm.make build target to check whether enabled. +.PHONY: dtraceCheck +ifeq ($(DTRACE_ENABLED),) +dtraceCheck: + $(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)" +else +dtraceCheck: +endif + +# It doesn't support HAVE_DTRACE_H though. + diff -Nru openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make --- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2016-05-04 00:25:18.651544017 +0100 +++ openjdk/hotspot/make/linux/makefiles/vm.make 2016-05-04 00:26:06.226759102 +0100 @@ -394,7 +394,7 @@ #---------------------------------------------------------------------- -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck install: install_jvm install_jsig install_saproc diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make openjdk/hotspot/make/solaris/makefiles/buildtree.make --- openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make 2016-05-03 23:39:09.757236421 +0100 +++ openjdk/hotspot/make/solaris/makefiles/buildtree.make 2016-05-04 00:26:06.226759102 +0100 @@ -147,6 +147,13 @@ endif endif +# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK +ifndef OPENJDK + ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) + OPENJDK=true + endif +endif + BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) BUILDTREE = \ @@ -189,6 +196,7 @@ echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ + echo "OPENJDK = $(OPENJDK)"; \ echo "$(LP64_SETTING/$(DATA_MODE))"; \ echo; \ echo "# Used for platform dispatching"; \ 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 2016-05-03 23:59:23.705202879 +0100 +++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2016-05-04 00:26:20.690520468 +0100 @@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 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 @@ -2841,10 +2842,9 @@ JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ JNIWrapper("Set" XSTR(Result) "Field"); \ \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ - ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ - ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result( \ + DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value), \ + DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ \ oop o = JNIHandles::resolve_non_null(obj); \ klassOop k = o->klass(); \ @@ -3152,10 +3152,9 @@ \ JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ JNIWrapper("SetStatic" XSTR(Result) "Field"); \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ - ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ - ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result( \ + DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value), \ + DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ \ JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ assert(id->is_static_field_id(), "invalid static field id"); \ 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 2016-05-03 23:39:18.405093776 +0100 +++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2016-05-04 00:26:06.226759102 +0100 @@ -1,5 +1,6 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2012 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 @@ -32,13 +33,17 @@ #define DTRACE_ONLY(x) x #define NOT_DTRACE(x) +#if defined(SOLARIS) // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) -#if defined(SOLARIS) +#define USDT1 1 +#elif defined(LINUX) +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() #define USDT1 1 #elif defined(__APPLE__) +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() #define USDT2 1 #include <sys/types.h> #include "dtracefiles/hotspot.h" @@ -63,6 +68,11 @@ #define DTRACE_PROBE3(a,b,c,d,e) {;} #define DTRACE_PROBE4(a,b,c,d,e,f) {;} #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} +#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} +#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} +#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} +#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} +#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} #else /* USDT2 */ @@ -76,10 +86,18 @@ #define HS_DTRACE_PROBE_FN(provider,name)\ __dtrace_##provider##___##name +#ifdef SOLARIS +// Solaris dtrace needs actual extern function decls. #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) +#else +// Systemtap dtrace compatible probes on GNU/Linux don't. +// If dtrace is disabled this macro becomes NULL +#define HS_DTRACE_PROBE_DECL_N(provider,name,args) +#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) +#endif /* Dtrace probe declarations */ #define HS_DTRACE_PROBE_DECL(provider,name) \ @@ -118,6 +136,8 @@ uintptr_t,uintptr_t,uintptr_t)) /* Dtrace probe definitions */ +#if defined(SOLARIS) +// Solaris dtrace uses actual function calls. #define HS_DTRACE_PROBE_N(provider,name, args) \ DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) @@ -153,6 +173,33 @@ 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. +// If dtrace is disabled this macro becomes NULL +#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,a9)\ + DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9) +#endif #endif /* !USDT2 */