From 587fb33a47910e2ed2d0050815b367a6f09811e7 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 26 Nov 2013 00:11:00 +0100 Subject: [PATCH] openjdk: Some hotspot build fixes, typo in recipe --- .../openjdk/openjdk-1.7_2013_11_08.recipe | 7 +- .../openjdk-1.7_2013_11_08-source5.patchset | 76 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 dev-lang/openjdk/patches/openjdk-1.7_2013_11_08-source5.patchset diff --git a/dev-lang/openjdk/openjdk-1.7_2013_11_08.recipe b/dev-lang/openjdk/openjdk-1.7_2013_11_08.recipe index c2fe2326a..84fd13185 100644 --- a/dev-lang/openjdk/openjdk-1.7_2013_11_08.recipe +++ b/dev-lang/openjdk/openjdk-1.7_2013_11_08.recipe @@ -4,6 +4,9 @@ HOMEPAGE="http://openjdk.java.net/" COPYRIGHT="2005, 2006, Oracle and/or its affiliates" LICENSE="GNU GPL v2" +#SRC_URI="http://dl.dropbox.com/u/61946213/j2sdk-august.tar.xz" +#CHECKSUM_MD5="65b348918f92eb357ed7b455dadcded8" +# The August j2sdk image is apparently incomplete. SRC_URI="http://ports-space.haiku-files.org/source/openjdk/j2sdk-april-2013.tar" CHECKSUM_MD5="e38b939c34b04427336245397fa43c9c" SOURCE_DIR="j2sdk-image" @@ -18,6 +21,8 @@ SRC_URI_4="hg+http://hg.openjdk.java.net/haiku/haiku/corba#84b78407a004" PATCHES_4="openjdk-1.7_2013_11_08-source4.patchset" SRC_URI_5="hg+http://hg.openjdk.java.net/haiku/haiku/hotspot#03a6a75222a8" +PATCHES_5="openjdk-1.7_2013_11_08-source5.patchset" + SRC_URI_6="hg+http://hg.openjdk.java.net/haiku/haiku/jaxp#6c9ac74190a0" SRC_URI_7="hg+http://hg.openjdk.java.net/haiku/haiku/jaxws#84f654f41f6b" @@ -98,7 +103,7 @@ BUILD() ln -sfn $sourceDir6 jdk/jaxp ln -sfn $sourceDir7 jdk/jaxws ln -sfn $sourceDir8 jdk/jdk - ln -sfn $sourceDir8 jdk/langtools + ln -sfn $sourceDir9 jdk/langtools export ALT_DROPS_DIR=${OPENJDK_DIR}/drop mkdir -p ${ALT_DROPS_DIR} diff --git a/dev-lang/openjdk/patches/openjdk-1.7_2013_11_08-source5.patchset b/dev-lang/openjdk/patches/openjdk-1.7_2013_11_08-source5.patchset new file mode 100644 index 000000000..e988fbc49 --- /dev/null +++ b/dev-lang/openjdk/patches/openjdk-1.7_2013_11_08-source5.patchset @@ -0,0 +1,76 @@ +From e032d4cc66331930cfa668026ff1058099bdb093 Mon Sep 17 00:00:00 2001 +From: Ingo Weinhold +Date: Mon, 25 Nov 2013 17:08:56 +0100 +Subject: vm/opto/addnode.cpp: Fix redefinition of MAXFLOAT + +Include instead of defining the macro here. + +diff --git a/src/share/vm/opto/addnode.cpp b/src/share/vm/opto/addnode.cpp +index 33ecf15..83ed7d3 100644 +--- a/src/share/vm/opto/addnode.cpp ++++ b/src/share/vm/opto/addnode.cpp +@@ -34,13 +34,13 @@ + + // Portions of code courtesy of Clifford Click + +-#define MAXFLOAT ((float)3.40282346638528860e+38) +- + // Classic Add functionality. This covers all the usual 'add' behaviors for + // an algebraic ring. Add-integer, add-float, add-double, and binary-or are + // all inherited from this class. The various identity values are supplied + // by virtual functions. + ++#include ++ + + //============================================================================= + //------------------------------hash------------------------------------------- +-- +1.8.3.4 + + +From 5b7706e200ace7a597e513b44b5dc132ba3ac4ad Mon Sep 17 00:00:00 2001 +From: Ingo Weinhold +Date: Mon, 25 Nov 2013 17:10:01 +0100 +Subject: constantPoolOopDesc::method_at_if_loaded(): Fix return value + + +diff --git a/src/share/vm/oops/constantPoolOop.cpp b/src/share/vm/oops/constantPoolOop.cpp +index a46f4eb..d673215 100644 +--- a/src/share/vm/oops/constantPoolOop.cpp ++++ b/src/share/vm/oops/constantPoolOop.cpp +@@ -269,7 +269,7 @@ klassOop constantPoolOopDesc::klass_ref_at_if_loaded_check(constantPoolHandle th + methodOop constantPoolOopDesc::method_at_if_loaded(constantPoolHandle cpool, + int which, Bytecodes::Code invoke_code) { + assert(!constantPoolCacheOopDesc::is_secondary_index(which), "no indy instruction here"); +- if (cpool->cache() == NULL) return false; // nothing to load yet ++ if (cpool->cache() == NULL) return NULL; // nothing to load yet + int cache_index = which - CPCACHE_INDEX_TAG; + if (!(cache_index >= 0 && cache_index < cpool->cache()->length())) { + if (PrintMiscellaneous && (Verbose||WizardMode)) { +-- +1.8.3.4 + + +From ede8bff6104e803324604b0a93a402a2a2c7f783 Mon Sep 17 00:00:00 2001 +From: Ingo Weinhold +Date: Mon, 25 Nov 2013 17:11:30 +0100 +Subject: CountedLoopNode: Fix return value + + +diff --git a/src/share/vm/opto/loopnode.cpp b/src/share/vm/opto/loopnode.cpp +index eb138f5..f03ee1b 100644 +--- a/src/share/vm/opto/loopnode.cpp ++++ b/src/share/vm/opto/loopnode.cpp +@@ -893,7 +893,7 @@ Node *LoopLimitNode::Identity( PhaseTransform *phase ) { + Node* CountedLoopNode::match_incr_with_optional_truncation( + Node* expr, Node** trunc1, Node** trunc2, const TypeInt** trunc_type) { + // Quick cutouts: +- if (expr == NULL || expr->req() != 3) return false; ++ if (expr == NULL || expr->req() != 3) return NULL; + + Node *t1 = NULL; + Node *t2 = NULL; +-- +1.8.3.4 +