summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-6-6b24
diff options
context:
space:
mode:
authorHenning Heinold <heinold@inf.fu-berlin.de>2011-12-21 18:04:50 +0100
committerHenning Heinold <heinold@inf.fu-berlin.de>2011-12-22 23:27:18 +0100
commitdc556eb28261bb511ffece377734be095d02658c (patch)
treea65336fa2ab8f4c4c56bcd25d40d4858d64b741f /recipes-core/openjdk/openjdk-6-6b24
parent5fd90b0bdc98e403fdb99c89ff6a51bc69c39c51 (diff)
downloadmeta-java-dc556eb28261bb511ffece377734be095d02658c.tar.gz
openjdk6: add icedtea pre 1.11 version from mercurial
* add jamvm target * simplify versionhandling of jaxp and other external stuff * switch back to llvm 2.8 for shark, because it is the last version known to work, * llvm works partly * rework postinst and prerm and use zero as default vm * bump INC_PR Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Diffstat (limited to 'recipes-core/openjdk/openjdk-6-6b24')
-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
23 files changed, 1007 insertions, 0 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