summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/build-hacks.patch79
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/cacao-libtoolize.patch12
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch12
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg.patch27
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch51
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch216
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch13
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch12
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch16
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch23
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch15
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch21
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch28
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch39
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch41
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch12
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch13
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch148
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch14
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch113
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch18
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch41
-rw-r--r--recipes-core/openjdk/openjdk-6-6b24/jvm.cfg43
-rw-r--r--recipes-core/openjdk/openjdk-6-common.inc110
-rw-r--r--recipes-core/openjdk/openjdk-6-release-6b24.inc114
-rw-r--r--recipes-core/openjdk/openjdk-6_6b24_hg.bb22
26 files changed, 1211 insertions, 42 deletions
diff --git a/recipes-core/openjdk/openjdk-6-6b24/build-hacks.patch b/recipes-core/openjdk/openjdk-6-6b24/build-hacks.patch
new file mode 100644
index 0000000..e23bae5
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/build-hacks.patch
@@ -0,0 +1,79 @@
1Index: icedtea6/Makefile.am
2===================================================================
3--- icedtea6.orig/Makefile.am 2011-12-21 21:24:25.000000000 +0100
4+++ icedtea6/Makefile.am 2011-12-21 22:50:11.649227590 +0100
5@@ -538,6 +538,11 @@
6 JAVAC="" \
7 JAVA_HOME="" \
8 JDK_HOME="" \
9+ OE_CFLAGS="$(OE_CFLAGS)" \
10+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
11+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
12+ OE_LDFLAGS="$(OE_LDFLAGS)" \
13+ OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
14 DISTRIBUTION_ID="$(DIST_ID)" \
15 DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
16 DEBUG_CLASSFILES="true" \
17@@ -1851,12 +1856,16 @@
18 if BUILD_JAMVM
19 cd jamvm/jamvm && \
20 LDFLAGS="-Xlinker -z -Xlinker noexecstack" \
21- ./autogen.sh --with-java-runtime-library=openjdk \
22- --prefix=$(abs_top_builddir)/jamvm/install ; \
23- $(MAKE) ; \
24- $(MAKE) install
25+ $(ARCH_PREFIX) ./autogen.sh --with-java-runtime-library=openjdk \
26+ --prefix=/usr/lib \
27+ --host=$(host_alias) \
28+ --build=$(build_alias) \
29+ --target=$(target_alias) \
30+ --with-libtool-sysroot ; \
31+ $(ARCH_PREFIX) $(MAKE) ; \
32+ $(ARCH_PREFIX) $(MAKE) install DESTDIR=$(abs_top_builddir)/jamvm/install
33 mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
34- cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
35+ cp $(abs_top_builddir)/jamvm/install/usr/lib/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
36 ln -sf server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
37 touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
38 ln -sf client/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
39@@ -1874,7 +1883,7 @@
40 stamps/add-jamvm.stamp: stamps/icedtea.stamp stamps/jamvm.stamp
41 if ADD_JAMVM_BUILD
42 mkdir -p $(BUILD_JRE_ARCH_DIR)/jamvm
43- install -m 644 jamvm/install/lib/libjvm.so \
44+ install -m 644 jamvm/install/usr/lib/lib/libjvm.so \
45 $(BUILD_JRE_ARCH_DIR)/jamvm/
46 printf -- '-jamvm KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
47 else
48@@ -1918,6 +1927,7 @@
49 --host=$(host_alias) \
50 --build=$(build_alias) \
51 --target=$(target_alias) \
52+ --with-libtool-sysroot \
53 --prefix=$(abs_top_builddir)/cacao/install \
54 --with-java-runtime-library=openjdk \
55 --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
56@@ -1984,7 +1994,7 @@
57 # configure script arguments, quoted in single quotes
58 CONFIGURE_ARGS = @CONFIGURE_ARGS@
59 ADD_ZERO_CONFIGURE_ARGS = \
60- --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \
61+ --with-jdk-home=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
62 --enable-zero
63 if ADD_SHARK_BUILD
64 ADD_ZERO_CONFIGURE_ARGS += \
65Index: icedtea6/javac.in
66===================================================================
67--- icedtea6.orig/javac.in 2011-12-21 21:24:30.000000000 +0100
68+++ icedtea6/javac.in 2011-12-21 22:44:25.860460813 +0100
69@@ -45,7 +45,9 @@
70 my @CLASSPATH = ('@ECJ_JAR@');
71 push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
72 $ENV{"CLASSPATH"} = join ':', @CLASSPATH;
73- exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
74+ # Compiling hotspot-tools consumes tons of memory and exceeds any default
75+ # limits for jamvm and cacao.
76+ exec '@JAVA@', '-Xmx1024m', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
77 }
78 else
79 {
diff --git a/recipes-core/openjdk/openjdk-6-6b24/cacao-libtoolize.patch b/recipes-core/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
new file mode 100644
index 0000000..484cb10
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
@@ -0,0 +1,12 @@
1Index: icedtea6/Makefile.am
2===================================================================
3--- icedtea6.orig/Makefile.am 2011-12-21 22:58:23.000000000 +0100
4+++ icedtea6/Makefile.am 2011-12-21 23:00:21.405887186 +0100
5@@ -1922,6 +1922,7 @@
6 if BUILD_CACAO
7 if !USE_SYSTEM_CACAO
8 cd cacao/cacao && \
9+ rm -f libtool && \
10 ./autogen.sh && \
11 $(ARCH_PREFIX) ./configure \
12 --host=$(host_alias) \
diff --git a/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch b/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
new file mode 100644
index 0000000..0f50c6c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
@@ -0,0 +1,12 @@
1Index: icedtea6/Makefile.am
2===================================================================
3--- icedtea6.orig/Makefile.am 2011-12-20 10:54:09.000000000 +0100
4+++ icedtea6/Makefile.am 2011-12-20 11:49:12.810009279 +0100
5@@ -1921,6 +1921,7 @@
6 if BUILD_CACAO
7 if !USE_SYSTEM_CACAO
8 cd cacao/cacao && \
9+ patch -p1 -N < $(abs_top_srcdir)/patches/cacao-loadavg.patch && \
10 rm -f libtool && \
11 ./autogen.sh && \
12 $(ARCH_PREFIX) ./configure \
diff --git a/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg.patch b/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg.patch
new file mode 100644
index 0000000..0fc1a81
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/cacao-loadavg.patch
@@ -0,0 +1,27 @@
1Index: cacao-cff92704c4e0/src/vm/os.hpp
2===================================================================
3--- cacao-cff92704c4e0/src/vm/os.hpp 2011-12-08 13:40:45.000000000 +0100
4+++ cacao-cff92704c4e0/src/vm/os.hpp 2011-12-20 11:42:36.985633921 +0100
5@@ -425,7 +425,21 @@
6 #if defined(HAVE_GETLOADAVG)
7 return ::getloadavg(loadavg, nelem);
8 #else
9-# error getloadavg not available
10+ FILE *LOADAVG;
11+ double avg[3] = { 0.0, 0.0, 0.0 };
12+ int i, res = -1;;
13+
14+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
15+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
16+ res = 0;
17+ fclose(LOADAVG);
18+ }
19+
20+ for (i = 0; (i < nelem) && (i < 3); i++) {
21+ loadavg[i] = avg[i];
22+ }
23+
24+ return res;
25 #endif
26 }
27
diff --git a/recipes-core/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch b/recipes-core/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..bef699f
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
@@ -0,0 +1,51 @@
1Index: icedtea6/acinclude.m4
2===================================================================
3--- icedtea6.orig/acinclude.m4 2011-12-20 02:25:50.000000000 +0100
4+++ icedtea6/acinclude.m4 2011-12-20 18:02:08.340386576 +0100
5@@ -928,6 +928,21 @@
6 AC_SUBST(ALT_CACAO_SRC_DIR)
7 ])
8
9+AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
10+[
11+ AC_MSG_CHECKING(for compiler used for subsidiary programs)
12+ AC_ARG_WITH([cc-for-build],
13+ [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
14+ [
15+ CC_FOR_BUILD="${withval}"
16+ ],
17+ [
18+ CC_FOR_BUILD="\$(CC)"
19+ ])
20+ AC_MSG_RESULT(${CC_FOR_BUILD})
21+ AC_SUBST(CC_FOR_BUILD)
22+])
23+
24 AC_DEFUN([IT_WITH_GCJ],
25 [
26 AC_MSG_CHECKING([whether to compile ecj natively])
27Index: icedtea6/Makefile.am
28===================================================================
29--- icedtea6.orig/Makefile.am 2011-12-20 17:59:27.000000000 +0100
30+++ icedtea6/Makefile.am 2011-12-20 18:04:32.972312064 +0100
31@@ -538,6 +538,7 @@
32 JAVAC="" \
33 JAVA_HOME="" \
34 JDK_HOME="" \
35+ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
36 OE_CFLAGS="$(OE_CFLAGS)" \
37 OE_CPPFLAGS="$(OE_CPPFLAGS)" \
38 OE_CXXFLAGS="$(OE_CXXFLAGS)" \
39Index: icedtea6/configure.ac
40===================================================================
41--- icedtea6.orig/configure.ac 2011-12-20 02:25:50.000000000 +0100
42+++ icedtea6/configure.ac 2011-12-20 18:03:04.534043885 +0100
43@@ -18,6 +18,8 @@
44 AC_PROG_CC
45 AC_PROG_CXX
46
47+AC_CHECK_WITH_CC_FOR_BUILD
48+
49 IT_FIND_TOOL([MAKE], [make])
50 IT_FIND_TOOL([GZIP], [gzip])
51 IT_FIND_TOOL([ANT], [ant])
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..652f7ac
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
@@ -0,0 +1,216 @@
1Index: openjdk/jdk/make/sun/awt/Makefile
2===================================================================
3--- openjdk.orig/jdk/make/sun/awt/Makefile 2009-01-24 17:54:57.000000000 +0100
4+++ openjdk/jdk/make/sun/awt/Makefile 2009-01-24 17:55:07.000000000 +0100
5@@ -509,10 +509,10 @@
6 #
7
8 ifeq ($(PLATFORM), linux)
9-CPPFLAGS += -I$(MOTIF_DIR)/include \
10- -I$(OPENWIN_HOME)/include \
11- -I$(OPENWIN_HOME)/include/X11/extensions \
12- -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
13+#CPPFLAGS += -I$(MOTIF_DIR)/include \
14+# -I$(OPENWIN_HOME)/include \
15+# -I$(OPENWIN_HOME)/include/X11/extensions \
16+CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
17 endif
18 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
19 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
20@@ -536,7 +536,7 @@
21 $(EVENT_MODEL)
22
23 ifeq ($(PLATFORM), linux)
24-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
25+#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
26 endif
27
28 LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
29Index: openjdk/jdk/make/sun/awt/mawt.gmk
30===================================================================
31--- openjdk.orig/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:54:57.000000000 +0100
32+++ openjdk/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:55:07.000000000 +0100
33@@ -194,8 +194,8 @@
34 CPPFLAGS += -I$(CUPS_HEADERS_PATH)
35
36 ifndef HEADLESS
37-CPPFLAGS += -I$(OPENWIN_HOME)/include
38-LDFLAGS += -L$(OPENWIN_LIB)
39+#CPPFLAGS += -I$(OPENWIN_HOME)/include
40+#LDFLAGS += -L$(OPENWIN_LIB)
41
42 endif # !HEADLESS
43
44@@ -223,8 +223,8 @@
45
46 ifeq ($(PLATFORM), linux)
47 # Checking for the X11/extensions headers at the additional location
48- CPPFLAGS += -I/X11R6/include/X11/extensions \
49- -I/usr/include/X11/extensions
50+# CPPFLAGS += -I/X11R6/include/X11/extensions \
51+# -I/usr/include/X11/extensions
52 endif
53
54 ifeq ($(PLATFORM), solaris)
55Index: openjdk/jdk/make/sun/xawt/Makefile
56===================================================================
57--- openjdk.orig/jdk/make/sun/xawt/Makefile 2009-01-24 17:54:57.000000000 +0100
58+++ openjdk/jdk/make/sun/xawt/Makefile 2009-01-24 17:55:07.000000000 +0100
59@@ -123,11 +123,12 @@
60 -I$(PLATFORM_SRC)/native/sun/awt
61
62 ifeq ($(PLATFORM), linux)
63+# Very unsuitable for cross-compilation.
64 # Allows for builds on Debian GNU Linux, X11 is in a different place
65- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
66- -I/usr/include/X11/extensions \
67- -I$(MOTIF_DIR)/include \
68- -I$(OPENWIN_HOME)/include
69+# CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
70+# -I/usr/include/X11/extensions \
71+# -I$(MOTIF_DIR)/include \
72+# -I$(OPENWIN_HOME)/include
73 endif
74
75 ifeq ($(PLATFORM), solaris)
76Index: openjdk/hotspot/make/linux/makefiles/vm.make
77===================================================================
78--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:54:57.000000000 +0100
79+++ openjdk/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:55:07.000000000 +0100
80@@ -170,6 +170,7 @@
81 LIBS_VM += $(LLVM_LIBS)
82 endif
83
84+LFLAGS_VM += $(OE_LDFLAGS)
85 LINK_VM = $(LINK_LIB.c)
86
87 # rule for building precompiled header
88Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
89===================================================================
90--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:54:57.000000000 +0100
91+++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:55:07.000000000 +0100
92@@ -343,7 +343,7 @@
93 echo "rm -f Queens.class"; \
94 echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
95 echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
96- echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
97+ echo 'echo Silently skipping the execution of the gamma program'; \
98 ) > $@
99 $(QUIETLY) chmod +x $@
100
101Index: openjdk/corba/make/common/Defs-linux.gmk
102===================================================================
103--- openjdk.orig/corba/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
104+++ openjdk/corba/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
105@@ -82,9 +82,9 @@
106 CC_NO_OPT =
107
108 ifeq ($(PRODUCT), java)
109- _OPT = $(CC_HIGHER_OPT)
110+ _OPT = $(OE_CFLAGS)
111 else
112- _OPT = $(CC_LOWER_OPT)
113+ _OPT = $(OE_CFLAGS)
114 CPPFLAGS_DBG += -DLOGGING
115 endif
116
117@@ -94,7 +94,7 @@
118 # as the default.
119 CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
120 CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
121-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
122+CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
123 CFLAGS_REQUIRED_hppa +=
124 CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
125 CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
126@@ -221,7 +221,7 @@
127 #
128 # -L paths for finding and -ljava
129 #
130-LDFLAGS_OPT = -Xlinker -O1
131+LDFLAGS_OPT = $(OE_LDFLAGS)
132 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
133 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
134
135Index: openjdk/jdk/make/common/Defs-linux.gmk
136===================================================================
137--- openjdk.orig/jdk/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
138+++ openjdk/jdk/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
139@@ -92,9 +92,9 @@
140 CC_NO_OPT =
141
142 ifeq ($(PRODUCT), java)
143- _OPT = $(CC_HIGHER_OPT)
144+ _OPT = $(OE_CFLAGS)
145 else
146- _OPT = $(CC_LOWER_OPT)
147+ _OPT = $(OE_CFLAGS)
148 CPPFLAGS_DBG += -DLOGGING
149 endif
150
151@@ -104,7 +104,7 @@
152 # as the default.
153 CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
154 CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
155-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
156+CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
157 CFLAGS_REQUIRED_hppa +=
158 CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
159 CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
160@@ -231,7 +231,7 @@
161 #
162 # -L paths for finding and -ljava
163 #
164-LDFLAGS_OPT = -Xlinker -O1
165+LDFLAGS_OPT = $(OE_LDFLAGS)
166 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
167 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
168
169Index: openjdk/hotspot/make/linux/makefiles/gcc.make
170===================================================================
171--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:54:57.000000000 +0100
172+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:55:07.000000000 +0100
173@@ -119,7 +119,7 @@
174 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
175
176 # The flags to use for an Optimized g++ build
177-OPT_CFLAGS += -O3
178+OPT_CFLAGS += $(OE_CFLAGS)
179
180 # Hotspot uses very unstrict aliasing turn this optimization off
181 OPT_CFLAGS += -fno-strict-aliasing
182@@ -148,7 +148,7 @@
183 endif
184
185 # Enable linker optimization
186-LFLAGS += -Xlinker -O1
187+LFLAGS += $(OE_LDFLAGS)
188
189 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
190 MAPFLAG = -Xlinker --version-script=FILENAME
191Index: openjdk/hotspot/make/linux/makefiles/launcher.make
192===================================================================
193--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:55:19.000000000 +0100
194+++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:56:05.000000000 +0100
195@@ -44,7 +44,7 @@
196 LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
197 else
198 LAUNCHER.o = launcher.o
199- LFLAGS_LAUNCHER += -L `pwd`
200+ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
201 LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
202 endif
203
204Index: icedtea6-1.8.5/build/openjdk/jdk/make/sun/xawt/Makefile
205===================================================================
206--- openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:17:03.926207269 +0100
207+++ openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:30:11.956186631 +0100
208@@ -245,7 +245,7 @@
209 $(CHMOD) +w $@;\
210 else \
211 $(ECHO) GENERATING $@; \
212- $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
213+ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
214 fi
215 @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
216 $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
new file mode 100644
index 0000000..4bd8b2c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
@@ -0,0 +1,13 @@
1Index: openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
2===================================================================
3--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:56:03.014276748 +0200
4+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:57:19.942658211 +0200
5@@ -29,7 +29,7 @@
6 #include "X11SurfaceData.h"
7
8 /*#include <xcb/xcb.h>*/
9-#include <Xrender.h>
10+#include <X11/extensions/Xrender.h>
11
12 #ifndef RepeatNone /* added in 0.10 */
13 #define RepeatNone 0
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000..5f2c98b
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
1Index: openjdk/hotspot/make/linux/makefiles/rules.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:22:33.201668748 +0100
4+++ openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:23:08.480415783 +0100
5@@ -39,6 +39,7 @@
6 # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
7 C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
8 CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
9+CC_HOST_COMPILE = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
10
11 AS.S = $(AS) $(ASFLAGS)
12
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
new file mode 100644
index 0000000..657f722
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
@@ -0,0 +1,16 @@
1Index: openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:15:05.000000000 +0100
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:18:22.411503442 +0100
5@@ -2593,10 +2593,7 @@
6 // If we are running with earlier version, which did not have symbol versions,
7 // we should use the base version.
8 void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
9- void *f = dlvsym(handle, name, "libnuma_1.1");
10- if (f == NULL) {
11- f = dlsym(handle, name);
12- }
13+ void *f = dlsym(handle, name);
14 return f;
15 }
16
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000..faa90ea
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:22:13.696298239 +0200
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:24:15.308790737 +0200
5@@ -49,7 +49,6 @@
6 # include <string.h>
7 # include <syscall.h>
8 # include <sys/sysinfo.h>
9-# include <gnu/libc-version.h>
10 # include <sys/ipc.h>
11 # include <sys/shm.h>
12 # include <link.h>
13@@ -544,9 +543,7 @@
14 os::Linux::set_glibc_version(str);
15 } else {
16 // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
17- static char _gnu_libc_version[32];
18- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
19- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
20+ static char _gnu_libc_version[32] = "2.9";
21 os::Linux::set_glibc_version(_gnu_libc_version);
22 }
23
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000..7c5da59
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
2===================================================================
3--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:28.576131825 +0200
4+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:55.555711815 +0200
5@@ -235,8 +235,8 @@
6
7 // Checking for finiteness
8
9-inline int g_isfinite(jfloat f) { return finite(f); }
10-inline int g_isfinite(jdouble f) { return finite(f); }
11+inline int g_isfinite(jfloat f) { return isfinite(f); }
12+inline int g_isfinite(jdouble f) { return isfinite(f); }
13
14
15 // Wide characters
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000..494e965
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
2===================================================================
3--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:47:12.695674808 +0200
4+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:48:08.699007491 +0200
5@@ -220,14 +220,14 @@
6 // checking for nanness
7 #ifdef SOLARIS
8 #ifdef SPARC
9-inline int g_isnan(float f) { return isnanf(f); }
10+inline int g_isnan(float f) { return __isnanf(f); }
11 #else
12 // isnanf() broken on Intel Solaris use isnand()
13 inline int g_isnan(float f) { return isnand(f); }
14 #endif
15 inline int g_isnan(double f) { return isnand(f); }
16 #elif LINUX
17-inline int g_isnan(float f) { return isnanf(f); }
18+inline int g_isnan(float f) { return __isnanf(f); }
19 inline int g_isnan(double f) { return isnan(f); }
20 #else
21 #error "missing platform-specific definition here"
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000..7da41fd
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:16:09.406334411 +0200
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:19:38.952152043 +0200
5@@ -4325,7 +4325,22 @@
6 // Linux doesn't yet have a (official) notion of processor sets,
7 // so just return the system wide load average.
8 int os::loadavg(double loadavg[], int nelem) {
9- return ::getloadavg(loadavg, nelem);
10+
11+ FILE *LOADAVG;
12+ double avg[3] = { 0.0, 0.0, 0.0 };
13+ int i, res = -1;;
14+
15+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
16+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
17+ res = 0;
18+ fclose(LOADAVG);
19+ }
20+
21+ for (i = 0; (i < nelem) && (i < 3); i++) {
22+ loadavg[i] = avg[i];
23+ }
24+
25+ return res;
26 }
27
28 void os::pause() {
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000..68f8581
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
1Index: openjdk/jdk/make/java/npt/Makefile
2===================================================================
3--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
4+++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
5@@ -65,6 +65,8 @@
6 # We don't want to link against -ljava
7 JAVALIB=
8
9+LDLIBS += -liconv
10+
11 # Add -export options to explicitly spell exported symbols
12 ifeq ($(PLATFORM), windows)
13 OTHER_LCF += -export:nptInitialize -export:nptTerminate
14Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
15===================================================================
16--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
17+++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
18@@ -123,6 +123,8 @@
19 # We don't want to link against -ljava
20 JAVALIB=
21
22+LDLIBS += -liconv
23+
24 #
25 # Add to ambient vpath so we pick up the library files
26 #
27Index: openjdk/jdk/make/sun/splashscreen/Makefile
28===================================================================
29--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
30+++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
31@@ -55,6 +55,8 @@
32
33 JAVALIB=
34
35+LDLIBS += -liconv
36+
37 #
38 # C Flags
39 #
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000..5423fde
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
1Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
2===================================================================
3--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:45:56.607257503 +0200
4+++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:47:19.727254686 +0200
5@@ -27,9 +27,6 @@
6 #include <X11/Xutil.h>
7 #include <X11/Xos.h>
8 #include <X11/Xatom.h>
9-#ifdef __linux__
10-#include <execinfo.h>
11-#endif
12
13 #include <jvm.h>
14 #include <jni.h>
15@@ -689,26 +686,6 @@
16 return ret;
17 }
18
19-#ifdef __linux__
20-void print_stack(void)
21-{
22- void *array[10];
23- size_t size;
24- char **strings;
25- size_t i;
26-
27- size = backtrace (array, 10);
28- strings = backtrace_symbols (array, size);
29-
30- fprintf (stderr, "Obtained %zd stack frames.\n", size);
31-
32- for (i = 0; i < size; i++)
33- fprintf (stderr, "%s\n", strings[i]);
34-
35- free (strings);
36-}
37-#endif
38-
39 Window get_xawt_root_shell(JNIEnv *env) {
40 static jclass classXRootWindow = NULL;
41 static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000..40564f0
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,12 @@
1Index: openjdk/jdk/make/com/sun/java/pack/Makefile
2===================================================================
3--- openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:21.548426411 +0200
4+++ openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:43.858007543 +0200
5@@ -103,6 +103,7 @@
6 OTHER_LDLIBS += $(LIBCXX) -lc
7 # setup the list of libraries to link in...
8 ifeq ($(PLATFORM), linux)
9+ OTHER_LDLIBS += -lpthread
10 ifeq ("$(CC_VER_MAJOR)", "3")
11 OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
12 endif
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000..ebe34e7
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
1Index: openjdk/hotspot/make/linux/makefiles/launcher.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:33:37.000000000 +0100
4+++ /openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:37:54.055022618 +0100
5@@ -51,7 +51,7 @@
6 else
7 LAUNCHER.o = launcher.o
8 LFLAGS_LAUNCHER += -L `pwd`
9- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
10+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
11 ifeq ($(SHARK_BUILD), true)
12 LFLAGS_LAUNCHER += $(LLVM_LDFLAGS)
13 LIBS_LAUNCHER += $(LLVM_LIBS)
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000..024969d
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
@@ -0,0 +1,148 @@
1Index: openjdk/jdk/make/java/net/Makefile
2===================================================================
3--- openjdk/jdk/make/java/net/Makefile 2010-07-05 12:28:58.476625401 +0200
4+++ openjdk/jdk/make/java/net/Makefile 2010-07-05 12:29:11.876625138 +0200
5@@ -25,7 +25,7 @@
6
7 BUILDDIR = ../..
8 PACKAGE = java.net
9-LIBRARY = net
10+LIBRARY = javanet
11 PRODUCT = sun
12 include $(BUILDDIR)/common/Defs.gmk
13
14Index: openjdk/jdk/make/java/nio/Makefile
15===================================================================
16--- openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:31:27.046626250 +0200
17+++ openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:32:06.647874890 +0200
18@@ -139,11 +139,11 @@
19 endif
20 ifeq ($(PLATFORM), linux)
21 COMPILER_WARNINGS_FATAL=true
22-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
23+OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
24 endif
25 ifeq ($(PLATFORM), solaris)
26 OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
27- -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
28+ -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
29 endif # PLATFORM
30
31 #
32Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
33===================================================================
34--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:40:56.467876415 +0200
35+++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:41:43.326628410 +0200
36@@ -58,7 +58,7 @@
37 */
38 static {
39 java.security.AccessController.doPrivileged(
40- new sun.security.action.LoadLibraryAction("net"));
41+ new sun.security.action.LoadLibraryAction("javanet"));
42 }
43
44 /**
45Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
46===================================================================
47--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:01.027875484 +0200
48+++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:56.826626386 +0200
49@@ -74,7 +74,7 @@
50 */
51 static {
52 java.security.AccessController.doPrivileged(
53- new sun.security.action.LoadLibraryAction("net"));
54+ new sun.security.action.LoadLibraryAction("javanet"));
55 }
56
57 /**
58Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
59===================================================================
60--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:41:02.017875980 +0200
61+++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:42:06.057875677 +0200
62@@ -47,7 +47,7 @@
63 */
64 static {
65 java.security.AccessController.doPrivileged(
66- new sun.security.action.LoadLibraryAction("net"));
67+ new sun.security.action.LoadLibraryAction("javanet"));
68 init();
69 }
70
71Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
72===================================================================
73--- openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:41:02.756626429 +0200
74+++ openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:42:15.997875786 +0200
75@@ -230,7 +230,7 @@
76 static {
77 preferIPv6Address = java.security.AccessController.doPrivileged(
78 new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
79- AccessController.doPrivileged(new LoadLibraryAction("net"));
80+ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
81 init();
82 }
83
84Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
85===================================================================
86--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:41:03.547875282 +0200
87+++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:42:22.647875475 +0200
88@@ -52,7 +52,7 @@
89 private boolean virtual = false;
90
91 static {
92- AccessController.doPrivileged(new LoadLibraryAction("net"));
93+ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
94 init();
95 }
96
97Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
98===================================================================
99--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:41:04.306628153 +0200
100+++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:42:32.666627264 +0200
101@@ -89,7 +89,7 @@
102 }});
103 if (b != null && b.booleanValue()) {
104 java.security.AccessController.doPrivileged(
105- new sun.security.action.LoadLibraryAction("net"));
106+ new sun.security.action.LoadLibraryAction("javanet"));
107 hasSystemProxies = init();
108 }
109 }
110Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
111===================================================================
112--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:41:05.086626745 +0200
113+++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:42:39.266626410 +0200
114@@ -354,7 +354,7 @@
115 return;
116 loaded = true;
117 java.security.AccessController
118- .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
119+ .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
120 java.security.AccessController
121 .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
122 // IOUtil must be initialized; Its native methods are called from
123Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
124===================================================================
125--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:05.896626691 +0200
126+++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:45.606625991 +0200
127@@ -244,7 +244,7 @@
128
129 static {
130 java.security.AccessController.doPrivileged(
131- new sun.security.action.LoadLibraryAction("net"));
132+ new sun.security.action.LoadLibraryAction("javanet"));
133 }
134
135 }
136Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
137===================================================================
138--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:06.786627210 +0200
139+++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:51.926627747 +0200
140@@ -160,7 +160,7 @@
141
142 static {
143 java.security.AccessController.doPrivileged(
144- new sun.security.action.LoadLibraryAction("net"));
145+ new sun.security.action.LoadLibraryAction("javanet"));
146 init0();
147
148 // start the address listener thread
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
new file mode 100644
index 0000000..f2ad035
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
1Index: openjdk/hotspot/make/linux/makefiles/gcc.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:35.758533706 +0100
4+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:42.761456458 +0100
5@@ -98,9 +98,6 @@
6 CFLAGS += -pipe
7 endif
8
9-# Compiler warnings are treated as errors
10-WARNINGS_ARE_ERRORS = -Werror
11-
12 # Except for a few acceptable ones
13 # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
14 # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000..f40bc51
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
1Index: openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp
2===================================================================
3--- openjdk.orig/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:42:48.412103129 +0200
4+++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:50:51.680282178 +0200
5@@ -32,6 +32,96 @@
6
7 #if SHARK_LLVM_VERSION >= 27
8 namespace {
9+
10+#if defined(__arm__) && defined(__linux__)
11+#include <fcntl.h>
12+#include <linux/auxvec.h>
13+#include <asm/hwcap.h>
14+#define VECBUFF_SIZE 32
15+
16+bool TestARMLinuxHWCAP(int feature) {
17+ int fd;
18+ unsigned vecs[VECBUFF_SIZE];
19+ unsigned *p;
20+ int i, n;
21+ int rc;
22+
23+ rc = 0;
24+ fd = open("/proc/self/auxv", O_RDONLY);
25+ if (fd < 0) return 0;
26+ do {
27+ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
28+ p = vecs;
29+ i = n/8;
30+ while (--i >=0) {
31+ unsigned tag = *p++;
32+ unsigned value = *p++;
33+ if (tag == 0) goto fini;
34+ if(tag == AT_HWCAP && (value & feature)) {
35+ rc = 1;
36+ goto fini;
37+ }
38+ }
39+ } while (n == VECBUFF_SIZE * sizeof(unsigned));
40+fini:
41+ close(fd);
42+ return rc;
43+}
44+
45+char* TestARMLinuxAT(int auxvec) {
46+ int fd;
47+ unsigned vecs[VECBUFF_SIZE];
48+ unsigned *p;
49+ int i, n;
50+ char* rc;
51+
52+ rc = 0;
53+ fd = open("/proc/self/auxv", O_RDONLY);
54+ if (fd < 0) return 0;
55+ do {
56+ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
57+ p = vecs;
58+ i = n/8;
59+ while (--i >=0) {
60+ unsigned tag = *p++;
61+ unsigned value = *p++;
62+ if (tag == 0) goto fini;
63+ if(tag == (unsigned) auxvec ) {
64+ rc = (char*)value;
65+ goto fini;
66+ }
67+ }
68+ } while (n == VECBUFF_SIZE * sizeof(unsigned));
69+fini:
70+ close(fd);
71+ return rc;
72+}
73+
74+bool getARMHostCPUFeatures(StringMap<bool> &Features) {
75+ // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
76+ Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
77+ Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
78+
79+ std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
80+
81+ StringMap<std::string> archLinuxToLLVMMap;
82+ archLinuxToLLVMMap["v4l"]="v4t";
83+ archLinuxToLLVMMap["v5l"]="v5t";
84+ archLinuxToLLVMMap["v6l"]="v6";
85+ // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
86+ archLinuxToLLVMMap["v7l"]="v6";
87+
88+ llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
89+ testArchKey));
90+ if(resultIterator->first()) {
91+ std::string arch(resultIterator->second);
92+ Features[arch]=true;
93+ }
94+
95+ return true;
96+}
97+#endif
98+
99 cl::opt<std::string>
100 MCPU("mcpu");
101
102@@ -64,7 +154,11 @@
103 #if SHARK_LLVM_VERSION >= 27
104 // Finetune LLVM for the current host CPU.
105 StringMap<bool> Features;
106+#if defined(__arm__) && defined(__linux__)
107+ bool gotCpuFeatures = getARMHostCPUFeatures(Features);
108+#else
109 bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
110+#endif
111 std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
112
113 std::vector<const char*> args;
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
new file mode 100644
index 0000000..9f875de
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
@@ -0,0 +1,18 @@
1Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
2===================================================================
3--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:49:39.972718207 +0100
4+++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:50:04.635639302 +0100
5@@ -27,13 +27,11 @@
6
7 #include "jfdlibm.h"
8
9-#ifdef __NEWVALID /* special setup for Sun test regime */
10 #if defined(i386) || defined(i486) || \
11 defined(intel) || defined(x86) || \
12 defined(i86pc) || defined(_M_IA64) || defined(ia64)
13 #define _LITTLE_ENDIAN
14 #endif
15-#endif
16
17 #ifdef _LITTLE_ENDIAN
18 #define __HI(x) *(1+(int*)&x)
diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000..ec10e69
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,41 @@
1Index: openjdk/hotspot/make/linux/makefiles/zeroshark.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/zeroshark.make 2011-12-20 18:24:38.000000000 +0100
4+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make 2011-12-20 18:31:22.584884637 +0100
5@@ -32,13 +32,20 @@
6 Obj_Files += thumb2.o
7
8 CFLAGS += -DHOTSPOT_ASM
9+CCFLAGS += -DHOTSPOT_ASM
10+
11+ifeq ($(CROSS_COMPILATION), true)
12+ C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
13+else
14+ C_COMPILE_FOR_MKBC = $(C_COMPILE)
15+endif
16
17 cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s
18 thumb2.o: offsets_arm.s
19
20 offsets_arm.s: mkoffsets
21 @echo Generating assembler offsets
22- ./mkoffsets > $@
23+ $(QEMU) ./mkoffsets > $@
24
25 bytecodes_arm.s: bytecodes_arm.def mkbc
26 @echo Generatine ARM assembler bytecode sequences
27@@ -46,12 +53,12 @@
28
29 mkbc: $(GAMMADIR)/tools/mkbc.c
30 @echo Compiling mkbc tool
31- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
32+ $(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
33
34 mkoffsets: asm_helper.cpp
35 @echo Compiling offset generator
36 $(QUIETLY) $(REMOVE_TARGET)
37- $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
38+ $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
39
40 endif
41
diff --git a/recipes-core/openjdk/openjdk-6-6b24/jvm.cfg b/recipes-core/openjdk/openjdk-6-6b24/jvm.cfg
new file mode 100644
index 0000000..ea97cda
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/jvm.cfg
@@ -0,0 +1,43 @@
1# Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
2# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3#
4# This code is free software; you can redistribute it and/or modify it
5# under the terms of the GNU General Public License version 2 only, as
6# published by the Free Software Foundation. Sun designates this
7# particular file as subject to the "Classpath" exception as provided
8# by Sun in the LICENSE file that accompanied this code.
9#
10# This code is distributed in the hope that it will be useful, but WITHOUT
11# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13# version 2 for more details (a copy is included in the LICENSE file that
14# accompanied this code).
15#
16# You should have received a copy of the GNU General Public License version
17# 2 along with this work; if not, write to the Free Software Foundation,
18# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19#
20# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21# CA 95054 USA or visit www.sun.com if you need additional information or
22# have any questions.
23#
24#
25# List of JVMs that can be used as an option to java, javac, etc.
26# Order is important -- first in this list is the default JVM.
27# NOTE that this both this file and its format are UNSUPPORTED and
28# WILL GO AWAY in a future release.
29#
30# You may also select a JVM in an arbitrary location with the
31# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
32# and may not be available in a future release.
33#
34-server ERROR
35-client IGNORE
36-hotspot ERROR
37-classic WARN
38-native ERROR
39-green ERROR
40-zero ALIASED_TO -server
41-shark ERROR
42-cacao ERROR
43-jamvm ERROR
diff --git a/recipes-core/openjdk/openjdk-6-common.inc b/recipes-core/openjdk/openjdk-6-common.inc
index 257fe56..1a3c52b 100644
--- a/recipes-core/openjdk/openjdk-6-common.inc
+++ b/recipes-core/openjdk/openjdk-6-common.inc
@@ -10,7 +10,7 @@ ICEDTEA = "NEEDS TO BE SET"
10S = "${WORKDIR}/${ICEDTEA}" 10S = "${WORKDIR}/${ICEDTEA}"
11B = "${S}/build" 11B = "${S}/build"
12 12
13INC_PR = "r12" 13INC_PR = "r13"
14 14
15SRC_URI = "\ 15SRC_URI = "\
16 ${ICEDTEA_URI} \ 16 ${ICEDTEA_URI} \
@@ -19,6 +19,7 @@ SRC_URI = "\
19 ${JAF_URI} \ 19 ${JAF_URI} \
20 ${JAXP_URI} \ 20 ${JAXP_URI} \
21 ${CACAO_URI} \ 21 ${CACAO_URI} \
22 ${JAMVM_URI} \
22 ${OEPATCHES} \ 23 ${OEPATCHES} \
23 ${ICEDTEAPATCHES} \ 24 ${ICEDTEAPATCHES} \
24 file://jvm.cfg \ 25 file://jvm.cfg \
@@ -33,7 +34,7 @@ PROVIDES += "${JDKPN} ${PACKAGES}"
33DEPENDS = "giflib libpng jpeg cups \ 34DEPENDS = "giflib libpng jpeg cups \
34 xalan-j xerces-j rhino \ 35 xalan-j xerces-j rhino \
35 freetype libxinerama libxt libxp libxrender libxtst libxi \ 36 freetype libxinerama libxt libxp libxrender libxtst libxi \
36 alsa-lib libffi llvm2.9\ 37 alsa-lib libffi llvm2.8 \
37 ant-native \ 38 ant-native \
38 fastjar-native \ 39 fastjar-native \
39 icedtea6-native \ 40 icedtea6-native \
@@ -88,7 +89,7 @@ EXTRA_OECONF = "\
88 --with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \ 89 --with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \
89 --with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \ 90 --with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \
90 --with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \ 91 --with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
91 --with-jar=${STAGING_BINDIR_NATIVE}/fastjar \ 92 --with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
92 --with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \ 93 --with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \
93 --with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \ 94 --with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \
94 --with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \ 95 --with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \
@@ -103,7 +104,7 @@ EXTRA_OECONF = "\
103 --with-pkgversion=${PV} \ 104 --with-pkgversion=${PV} \
104 --with-cc-for-build=${BUILD_CC} \ 105 --with-cc-for-build=${BUILD_CC} \
105 --enable-zero \ 106 --enable-zero \
106 --with-additional-vms=shark,cacao \ 107 --with-additional-vms=${WITH_ADDITIONAL_VMS} \
107 --enable-openjdk-cross-compilation \ 108 --enable-openjdk-cross-compilation \
108 " 109 "
109 110
@@ -238,12 +239,12 @@ EXTRA_OEMAKE += 'DIST_NAME="${DIST_NAME}" DIST_ID="${DIST_ID}"'
238 239
239# llvm configure and compiles stuff 240# llvm configure and compiles stuff
240 241
241export WANT_LLVM_RELEASE = "2.9" 242export WANT_LLVM_RELEASE = "2.8"
242 243
243# Provides the target architecture to the configure script. 244# Provides the target architecture to the configure script.
244export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}" 245export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
245 246
246OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm2.9" 247OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm${WANT_LLVM_RELEASE} -Wl,-rpath,/usr/lib/llvm${WANT_LLVM_RELEASE}"
247 248
248EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"' 249EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
249 250
@@ -253,9 +254,6 @@ QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
253 254
254EXTRA_OEMAKE += 'QEMU="${QEMU}"' 255EXTRA_OEMAKE += 'QEMU="${QEMU}"'
255 256
256# Name of the directory containing the compiled output
257BUILD_DIR = "build/linux-${JDK_ARCH}"
258
259# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into 257# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into
260# three functions. 258# three functions.
261# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM) 259# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM)
@@ -277,12 +275,12 @@ do_compilestepone() {
277 rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true 275 rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true
278 276
279 # Provide a symlink to the target arch's libjvm.so (to link against) 277 # Provide a symlink to the target arch's libjvm.so (to link against)
280 ln -s `pwd`/openjdk-ecj/${BUILD_DIR}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH} 278 ln -s `pwd`/${BUILD_DIR_ECJ}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
281 279
282 # fake j2sdk-image 280 # fake j2sdk-image
283 rm openjdk-ecj/${BUILD_DIR}/j2sdk-image/include || true 281 rm ${BUILD_DIR_ECJ}/j2sdk-image/include || true
284 cp -ar openjdk-ecj/${BUILD_DIR}/hotspot/import/include openjdk-ecj/${BUILD_DIR}/j2sdk-image/ 282 cp -ar ${BUILD_DIR_ECJ}/hotspot/import/include ${BUILD_DIR_ECJ}/j2sdk-image/
285 install -d openjdk-ecj/${BUILD_DIR}/j2sdk-image/bin 283 install -d ${BUILD_DIR_ECJ}/j2sdk-image/bin
286} 284}
287addtask compilestepone after do_configure before do_compilesteptwo 285addtask compilestepone after do_configure before do_compilesteptwo
288 286
@@ -294,7 +292,7 @@ do_compilesteptwo() {
294 rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true 292 rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true
295 oe_runmake icedtea-against-ecj 293 oe_runmake icedtea-against-ecj
296 294
297 ln -sf ../openjdk-ecj/${BUILD_DIR}/j2sdk-image bootstrap/icedtea 295 ln -sf ../${BUILD_DIR_ECJ}/j2sdk-image bootstrap/icedtea
298 296
299 # Replace all executables with symlinks to their native equivalents. 297 # Replace all executables with symlinks to their native equivalents.
300 for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f` 298 for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f`
@@ -316,7 +314,7 @@ do_compile() {
316 314
317do_install() { 315do_install() {
318 install -d ${D}${libdir_jvm} 316 install -d ${D}${libdir_jvm}
319 cp -R ${S}/build/openjdk/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME} 317 cp -R ${S}/build/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
320 318
321 chmod u+rw -R ${D}${JDK_HOME} 319 chmod u+rw -R ${D}${JDK_HOME}
322 320
@@ -360,6 +358,7 @@ PACKAGES = " \
360 ${JDKPN}-vm-shark \ 358 ${JDKPN}-vm-shark \
361 ${JDKPN}-vm-zero \ 359 ${JDKPN}-vm-zero \
362 ${JDKPN}-vm-cacao \ 360 ${JDKPN}-vm-cacao \
361 ${JDKPN}-vm-jamvm \
363 ${JDKPN}-common \ 362 ${JDKPN}-common \
364 " 363 "
365 364
@@ -401,6 +400,8 @@ FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/arm/shark/"
401 400
402FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/" 401FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/"
403 402
403FILES_${JDKPN}-vm-jamvm = "${JDK_HOME}/jre/lib/arm/jamvm/"
404
404FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \ 405FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
405 ${JDK_HOME}/jre/THIRD_PARTY_README \ 406 ${JDK_HOME}/jre/THIRD_PARTY_README \
406 ${JDK_HOME}/jre/LICENSE \ 407 ${JDK_HOME}/jre/LICENSE \
@@ -425,6 +426,7 @@ RDEPENDS_${JDKPN}-common = "librhino-java"
425RPROVIDES_${JDKPN}-vm-shark = "java2-vm" 426RPROVIDES_${JDKPN}-vm-shark = "java2-vm"
426RPROVIDES_${JDKPN}-vm-zero = "java2-vm" 427RPROVIDES_${JDKPN}-vm-zero = "java2-vm"
427RPROVIDES_${JDKPN}-vm-cacao = "java2-vm" 428RPROVIDES_${JDKPN}-vm-cacao = "java2-vm"
429RPROVIDES_${JDKPN}-vm-jamvm = "java2-vm"
428 430
429# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled: 431# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
430# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark 432# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark
@@ -439,11 +441,13 @@ RRECOMMENDS_${JDKPN}-java = "java2-vm"
439# So we add that manually. 441# So we add that manually.
440RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common" 442RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common"
441RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common" 443RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common"
444RDEPENDS_${JDKPN}-vm-jamvm = "${JDKPN}-common"
442 445
443# There is a symlink to a .so but this one is valid. 446# There is a symlink to a .so but this one is valid.
444INSANE_SKIP_${JDKPN}-vm-shark = "dev-so" 447INSANE_SKIP_${JDKPN}-vm-shark = "dev-so"
445INSANE_SKIP_${JDKPN}-vm-zero = "dev-so" 448INSANE_SKIP_${JDKPN}-vm-zero = "dev-so"
446INSANE_SKIP_${JDKPN}-vm-cacao = "dev-so" 449INSANE_SKIP_${JDKPN}-vm-cacao = "dev-so"
450INSANE_SKIP_${JDKPN}-vm-jamvm = "dev-so"
447INSANE_SKIP_${JDKPN}-common = "dev-so" 451INSANE_SKIP_${JDKPN}-common = "dev-so"
448 452
449FILES_${JDKPN}-jdk = " \ 453FILES_${JDKPN}-jdk = " \
@@ -459,53 +463,75 @@ RDEPENDS_${JDKPN}-jdk = "${JDKPN}-jre"
459FILES_${JDKPN}-doc = "${JDK_HOME}/man" 463FILES_${JDKPN}-doc = "${JDK_HOME}/man"
460 464
461pkg_postinst_${JDKPN}-vm-shark () { 465pkg_postinst_${JDKPN}-vm-shark () {
462 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 466 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
463 sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 467 sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
464 echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 468 else
469 sed -i -e "/\-shark.*/\-shark KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
465 fi 470 fi
466
467 sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
468} 471}
469 472
470pkg_prerm_${JDKPN}-vm-shark () { 473pkg_prerm_${JDKPN}-vm-shark () {
471 sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 474 sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
472 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 475 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
473 sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg 476 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
477 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
474 fi 478 fi
479
480 echo "-shark ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
475} 481}
476 482
477pkg_postinst_${JDKPN}-vm-cacao () { 483pkg_postinst_${JDKPN}-vm-cacao () {
478 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 484 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
479 sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 485 sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
480 else 486 else
481 sed -i -e "s|^\-cacao.*|\-cacao KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 487 sed -i -e "/\-cacao.*/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
482 fi 488 fi
483} 489}
484 490
485pkg_prerm_${JDKPN}-vm-cacao () { 491pkg_prerm_${JDKPN}-vm-cacao () {
486 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 492 sed -i -e "/^\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
487 sed -i -e "/\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 493 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
494 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
495 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
496 fi
497
488 echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 498 echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
489 else 499}
490 sed -i -e "s|^\-cacao.*|\-cacao ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 500
491 fi 501pkg_postinst_${JDKPN}-vm-jamvm () {
502 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
503 sed -i -e "/\-jamvm.*/d" -e "s|\(^\-server*\)|\-jamvm KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
504 else
505 sed -i -e "/\-jamvm.*/\-jamvm KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
506 fi
507}
508
509pkg_prerm_${JDKPN}-vm-jamvm () {
510 sed -i -e "/^\-jamvm.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
511 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
512 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
513 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
514 fi
515
516 echo "-jamvm ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
492} 517}
493 518
494pkg_postinst_${JDKPN}-vm-zero () { 519pkg_postinst_${JDKPN}-vm-zero () {
495 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 520 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
496 sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 521 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
497 echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 522 sed -i -e "/${FIRST_KNOWN}/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
498 fi 523 echo ${FIRST_KNOWN} >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
524 fi
499 525
500 sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 526 sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
501} 527}
502 528
503pkg_prerm_${JDKPN}-vm-zero () { 529pkg_prerm_${JDKPN}-vm-zero () {
504 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 530 sed -i -e "/^\-server.*/\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg
505 sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg 531 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
506 fi 532 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
507 533 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
508 sed -i -e "s|^\-server.*|\-server ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 534 fi
509} 535}
510 536
511pkg_postinst_${JDKPN}-jre () { 537pkg_postinst_${JDKPN}-jre () {
diff --git a/recipes-core/openjdk/openjdk-6-release-6b24.inc b/recipes-core/openjdk/openjdk-6-release-6b24.inc
new file mode 100644
index 0000000..42d1e6f
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-release-6b24.inc
@@ -0,0 +1,114 @@
1require openjdk-6-common.inc
2
3# needed for dis-asm.h
4DEPENDS += "binutils"
5
6EXTRA_OECONF += "\
7 --with-jdk-home=${WORKDIR}/fake-jdk \
8 --with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
9 --with-out-rhino \
10 --with-jaxws-drop-zip=${DL_DIR}/${JAXWS_FILE} \
11 --with-jaf-drop-zip=${DL_DIR}/${JAF_FILE} \
12 --with-jaxp-drop-zip=${DL_DIR}/${JAXP_FILE} \
13 --with-cacao-src-zip=${DL_DIR}/${CACAO_VERSION}.tar.gz \
14 --with-jamvm-src-zip=${DL_DIR}/jamvm-${JAMVM_VERSION}.tar.gz \
15 --with-openjdk-src-zip=${DL_DIR}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz \
16"
17
18# List of additional JVM to include in the build.
19WITH_ADDITIONAL_VMS = "shark,cacao,jamvm"
20
21# Name of the directory containing the compiled output
22BUILD_DIR = "openjdk.build"
23BUILD_DIR_ECJ = "openjdk.build-ecj"
24
25# Force arm mode for now
26ARM_INSTRUCTION_SET_armv4t = "ARM"
27
28ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
29SRC_URI[iced.md5sum] = "c381d987f8d2facece8c54e98fd547f8"
30SRC_URI[iced.sha256sum] = "15491d7f2f81436aaf87f964d923b95b4bda8f6689198b4999961070b6c68851"
31
32OPENJDK_VERSION = "b24"
33OPENJDK_DATE = "14_nov_2011"
34OPENJDK_URI = "http://download.java.net/openjdk/jdk6/promoted/${OPENJDK_VERSION}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz;subdir=openjdk-src-dir;name=openjdk"
35SRC_URI[openjdk.md5sum] = "0eabdd360169144336e50081b8d01001"
36SRC_URI[openjdk.sha256sum] = "f84e7f0938f4939660ff8f9c2aa164d301faa8a519f2324ceb05ad34b2e09227"
37
38JAXWS_FILE = "jdk6-jaxws2_1_6-2011_06_13.zip"
39JAXWS_URI = "http://icedtea.classpath.org/download/drops/${JAXWS_FILE};name=jaxws"
40SRC_URI[jaxws.md5sum] = "8fd91b09b643a19a912b8a75e7a7a9d5"
41SRC_URI[jaxws.sha256sum] = "229040544e791f44906e8e7b6f6faf503c730a5d854275135f3925490d5c3be3"
42
43JAF_FILE = "jdk6-jaf-b20.zip"
44JAF_URI = "http://icedtea.classpath.org/download/drops/${JAF_FILE};name=jaf"
45SRC_URI[jaf.md5sum] = "bc95c133620bd68c161cac9891592901"
46SRC_URI[jaf.sha256sum] = "78c7b5c9d6271e88ee46abadd018a61f1e9645f8936cc8df1617e5f4f5074012"
47
48JAXP_FILE = "jaxp144_03.zip"
49JAXP_URI = "http://icedtea.classpath.org/download/drops/${JAXP_FILE};name=jaxp"
50SRC_URI[jaxp.md5sum] = "9eea471ad474040265c688858fcf09aa"
51SRC_URI[jaxp.sha256sum] = "c1a5348e17b330a7e4b18431e61a40efd2ba99a7da71102cf2c604478ef96012"
52
53CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_VERSION}.tar.gz;name=cacao"
54
55JAMVM_URI = "http://icedtea.classpath.org/download/drops/jamvm/jamvm-${JAMVM_VERSION}.tar.gz;name=jamvm"
56
57# Allow overriding this separately
58OEPATCHES = "\
59 file://build-hacks.patch \
60 file://cacao-libtoolize.patch \
61 file://cacao-loadavg-makefile.patch \
62 file://fix_hotspot_crosscompile.patch \
63 file://cacao-loadavg.patch;apply=no \
64 "
65
66# Allow overriding this separately
67ICEDTEAPATCHES = "\
68 file://icedtea-launcher-stdc++.patch;apply=no \
69 file://icedtea-crosscompile-fix.patch;apply=no \
70 file://icedtea-hostbuildcc.patch;apply=no \
71 file://icedtea-unbreak-float.patch;apply=no \
72 file://icedtea-remove_werror.patch;apply=no \
73 file://icedtea-libnet-renaming.patch;apply=no \
74 file://icedtea-fix-xrender.patch;apply=no \
75 file://icedtea-shark-arm-linux-cpu-detection.patch;apply=no \
76 file://icedtea-zero-hotspotfix.patch;apply=no \
77 "
78
79ICEDTEAPATCHES_append_libc-uclibc = " \
80 file://icedtea-hotspot-isfinte.patch;apply=no \
81 file://icedtea-hotspot-glibc-version.patch;apply=no \
82 file://icedtea-hotspot-loadavg.patch;apply=no \
83 file://icedtea-hotspot-isnanf.patch;apply=no \
84 file://icedtea-jdk-iconv-uclibc.patch;apply=no \
85 file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
86 file://icedtea-jdk-unpack-uclibc.patch;apply=no \
87 file://icedtea-hotspot-dlvsym-uclibc.patch;apply=no \
88 "
89
90# Allow overriding this separately
91DISTRIBUTION_PATCHES = "\
92 patches/icedtea-launcher-stdc++.patch \
93 patches/icedtea-crosscompile-fix.patch \
94 patches/icedtea-hostbuildcc.patch \
95 patches/icedtea-unbreak-float.patch \
96 patches/icedtea-remove_werror.patch \
97 patches/icedtea-libnet-renaming.patch \
98 patches/icedtea-fix-xrender.patch \
99 patches/icedtea-shark-arm-linux-cpu-detection.patch \
100 patches/icedtea-zero-hotspotfix.patch \
101 "
102
103DISTRIBUTION_PATCHES_append_libc-uclibc = "\
104 patches/icedtea-hotspot-isfinte.patch \
105 patches/icedtea-hotspot-isnanf.patch \
106 patches/icedtea-hotspot-glibc-version.patch \
107 patches/icedtea-hotspot-loadavg.patch \
108 patches/icedtea-jdk-iconv-uclibc.patch \
109 patches/icedtea-jdk-remove-unused-backtrace.patch \
110 patches/icedtea-jdk-unpack-uclibc.patch \
111 patches/icedtea-hotspot-dlvsym-uclibc.patch \
112 "
113
114export DISTRIBUTION_PATCHES
diff --git a/recipes-core/openjdk/openjdk-6_6b24_hg.bb b/recipes-core/openjdk/openjdk-6_6b24_hg.bb
new file mode 100644
index 0000000..36133e9
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6_6b24_hg.bb
@@ -0,0 +1,22 @@
1require openjdk-6-release-6b24.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
4
5PR = "${INC_PR}.0"
6
7ICEDTEA = "icedtea6"
8
9SRCREV = "cf80d2049346"
10PV = "6b24-1.10.4+1.11-devel+hg${SRCPV}"
11
12ICEDTEA_URI = "hg://icedtea.classpath.org/hg/;module=icedtea6;rev=${SRCREV}"
13
14CACAO_VERSION = "cff92704c4e0"
15SRC_URI[cacao.md5sum] = "40b811b8b7f01b51cd21e62255691bc7"
16SRC_URI[cacao.sha256sum] = "dc768c9d097fb056ad34fc6d5a57e8fd4f3b24bf515be92acc5ee4208160eb3f"
17
18JAMVM_VERSION = "4617da717ecb05654ea5bb9572338061106a414d"
19SRC_URI[jamvm.md5sum] = "740c2587502831cac6797d1233a7e27b"
20SRC_URI[jamvm.sha256sum] = "47fce7bd556c1b1d29a93b8c45497e0d872b48b7f535066b303336f29d0f0d8d"
21
22FILESPATH =. "${FILE_DIRNAME}/openjdk-6-6b24:"