summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/patches-openjdk-7
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/openjdk/patches-openjdk-7')
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/build-hacks.patch56
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch46
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch229
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch29
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch11
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch13
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch82
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch36
-rw-r--r--recipes-core/openjdk/patches-openjdk-7/jvm.cfg43
9 files changed, 545 insertions, 0 deletions
diff --git a/recipes-core/openjdk/patches-openjdk-7/build-hacks.patch b/recipes-core/openjdk/patches-openjdk-7/build-hacks.patch
new file mode 100644
index 0000000..012c4cb
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/build-hacks.patch
@@ -0,0 +1,56 @@
1--- icedtea-2.6.1/Makefile.am.orig 2015-07-24 08:52:12.442036786 +0200
2+++ icedtea-2.6.1/Makefile.am 2015-07-24 08:58:25.046029702 +0200
3@@ -605,6 +605,12 @@
4 FT2_LIBS="$(FREETYPE2_LIBS)" \
5 ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
6 HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
7+ OE_CFLAGS="$(OE_CFLAGS)" \
8+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
9+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
10+ OE_LDFLAGS="$(OE_LDFLAGS)" \
11+ OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
12+ DISTRIBUTION_ID="$(DIST_ID)" \
13 QUIETLY="" \
14 ANT_RESPECT_JAVA_HOME="TRUE" \
15 DISTRIBUTION_ID="$(DIST_ID)" \
16@@ -2077,8 +2083,8 @@
17 rm -f stamps/add-tzdata-support.stamp
18
19 stamps/check-crypto.stamp: stamps/cryptocheck.stamp stamps/icedtea.stamp
20- if [ -e $(BUILD_SDK_DIR)/bin/java ] ; then \
21- $(BUILD_SDK_DIR)/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
22+ if [ -e $(BOOT_DIR)/bin/java ] ; then \
23+ $(BOOT_DIR)/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
24 fi
25 mkdir -p stamps
26 touch $@
27@@ -2483,7 +2489,11 @@
28 if BUILD_JAMVM
29 cd jamvm/jamvm && \
30 ./autogen.sh --with-java-runtime-library=openjdk7 \
31- --prefix=$(abs_top_builddir)/jamvm/install ; \
32+ --prefix=$(abs_top_builddir)/jamvm/install \
33+ --host=$(host_alias) \
34+ --build=$(build_alias) \
35+ --target=$(target_alias) \
36+ --with-libtool-sysroot=${ALT_FREETYPE_LIB_PATH} ; \
37 $(MAKE) ; \
38 $(MAKE) install
39 mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
40@@ -2548,6 +2558,7 @@
41 --host=$(host_alias) \
42 --build=$(build_alias) \
43 --target=$(target_alias) \
44+ --with-libtool-sysroot=${ALT_FREETYPE_LIB_PATH} \
45 --prefix=$(abs_top_builddir)/cacao/install \
46 --with-java-runtime-library=openjdk7 \
47 --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
48@@ -2616,7 +2627,7 @@
49 # configure script arguments, quoted in single quotes
50 CONFIGURE_ARGS = @CONFIGURE_ARGS@
51 ADD_ZERO_CONFIGURE_ARGS = \
52- --with-jdk-home=$(BUILD_SDK_DIR) \
53+ --with-jdk-home=$(BOOT_DIR) \
54 --disable-bootstrap --enable-zero
55 if ADD_SHARK_BUILD
56 ADD_ZERO_CONFIGURE_ARGS += \
diff --git a/recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch b/recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..13c7de2
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch
@@ -0,0 +1,46 @@
1--- icedtea-2.6.1/acinclude.m4
2+++ icedtea-2.6.1/acinclude.m4
3@@ -906,6 +906,22 @@
4 AC_SUBST(VERSION_SUFFIX, $version_suffix)
5 ])
6
7+AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
8+[
9+ AC_MSG_CHECKING(for compiler used for subsidiary programs)
10+ AC_ARG_WITH([cc-for-build],
11+ [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
12+ [
13+ CC_FOR_BUILD="${withval}"
14+ ],
15+ [
16+ CC_FOR_BUILD="\$(CC)"
17+ ])
18+ AC_MSG_RESULT(${CC_FOR_BUILD})
19+ AC_SUBST(CC_FOR_BUILD)
20+])
21+
22+
23 AC_DEFUN_ONCE([IT_WITH_GCJ],
24 [
25 AC_MSG_CHECKING([whether to compile ecj natively])
26--- icedtea-2.6.1/configure.ac.orig 2015-07-24 09:08:33.866018127 +0200
27+++ icedtea-2.6.1/configure.ac 2015-07-24 09:08:40.458018002 +0200
28@@ -22,6 +22,8 @@
29 AC_PROG_CC
30 AC_PROG_CXX
31
32+AC_CHECK_WITH_CC_FOR_BUILD
33+
34 IT_FIND_TOOLS([MAKE], [gmake make])
35 IT_FIND_TOOL([GZIP], [gzip])
36 IT_FIND_TOOL([ANT], [ant])
37--- icedtea-2.6.1/Makefile.am
38+++ icedtea-2.6.1/Makefile.am
39@@ -605,6 +605,7 @@
40 FT2_LIBS="$(FREETYPE2_LIBS)" \
41 ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
42 HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
43+ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
44 OE_CFLAGS="$(OE_CFLAGS)" \
45 OE_CPPFLAGS="$(OE_CPPFLAGS)" \
46 OE_CXXFLAGS="$(OE_CXXFLAGS)" \
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..e957d1e
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch
@@ -0,0 +1,229 @@
1diff --git openjdk/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
2index fb575fa..e0426ad 100644
3--- openjdk/corba/make/common/shared/Platform.gmk
4+++ openjdk/corba/make/common/shared/Platform.gmk
5@@ -152,9 +152,13 @@
6 OS_NAME = linux
7 OS_VERSION := $(shell uname -r)
8 # Arch and OS name/version
9- mach := $(shell uname -m)
10- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
11- mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
12+ ifdef CROSS_COMPILE_ARCH
13+ mach := $(CROSS_COMPILE_ARCH)
14+ else
15+ mach := $(shell uname -m)
16+ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
17+ mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
18+ endif
19 endif
20 archExpr = case "$(mach)" in \
21 i[3-9]86) \
22diff --git openjdk/hotspot/make/linux/makefiles/build_vm_def.sh openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
23index ea81ff6..68b0d71 100644
24--- openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
25+++ openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
26@@ -1,10 +1,12 @@
27 #!/bin/sh
28
29 # If we're cross compiling use that path for nm
30-if [ "$CROSS_COMPILE_ARCH" != "" ]; then
31-NM=$ALT_COMPILER_PATH/nm
32-else
33-NM=nm
34+if [ "$NM" == "" ]; then
35+ if [ "$CROSS_COMPILE_ARCH" != "" ]; then
36+ NM=$ALT_COMPILER_PATH/nm
37+ else
38+ NM=nm
39+ fi
40 fi
41
42 $NM --defined-only $* \
43diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
44index 6fe5191..765fc6d 100644
45--- openjdk/hotspot/make/linux/makefiles/gcc.make
46+++ openjdk/hotspot/make/linux/makefiles/gcc.make
47@@ -164,7 +164,7 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
48 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
49
50 # The flags to use for an Optimized g++ build
51-OPT_CFLAGS += -O3
52+OPT_CFLAGS += $(OE_CFLAGS)
53
54 # Hotspot uses very unstrict aliasing turn this optimization off
55 OPT_CFLAGS += -fno-strict-aliasing
56@@ -208,15 +208,7 @@ LFLAGS += -Wl,-relax
57 endif
58
59 # Enable linker optimization
60-LFLAGS += -Xlinker -O1
61-
62-# If this is a --hash-style=gnu system, use --hash-style=both
63-# The gnu .hash section won't work on some Linux systems like SuSE 10.
64-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
65-ifneq ($(_HAS_HASH_STYLE_GNU),)
66- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
67-endif
68-LFLAGS += $(LDFLAGS_HASH_STYLE)
69+LFLAGS += $(OE_LDFLAGS)
70
71 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
72 MAPFLAG = -Xlinker --version-script=FILENAME
73diff --git openjdk/hotspot/make/linux/makefiles/launcher.make openjdk/hotspot/make/linux/makefiles/launcher.make
74index 0c102ea..f4dfbf6 100644
75--- openjdk/hotspot/make/linux/makefiles/launcher.make
76+++ openjdk/hotspot/make/linux/makefiles/launcher.make
77@@ -50,8 +50,8 @@ ifeq ($(LINK_INTO),AOUT)
78 LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
79 else
80 LAUNCHER.o = launcher.o
81- LFLAGS_LAUNCHER += -L `pwd`
82- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
83+ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
84+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
85 endif
86
87 LINK_LAUNCHER = $(LINK.CC)
88diff --git openjdk/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
89index b0ffd9a..4e8c47c 100644
90--- openjdk/hotspot/make/linux/makefiles/vm.make
91+++ openjdk/hotspot/make/linux/makefiles/vm.make
92@@ -300,6 +300,7 @@
93 LFLAGS_VM += $(LLVM_LDFLAGS)
94 endif
95
96+LFLAGS_VM += $(OE_LDFLAGS)
97 LINK_VM = $(LINK_LIB.CC)
98
99 # rule for building precompiled header
100diff --git openjdk/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
101index 69e1177..dc7f8e6 100644
102--- openjdk/jdk/make/common/Defs-linux.gmk
103+++ openjdk/jdk/make/common/Defs-linux.gmk
104@@ -162,28 +162,6 @@
105 endif
106 endif
107
108-#
109-# Default optimization
110-#
111-
112-ifndef OPTIMIZATION_LEVEL
113- ifeq ($(PRODUCT), java)
114- OPTIMIZATION_LEVEL = HIGHER
115- else
116- OPTIMIZATION_LEVEL = LOWER
117- endif
118-endif
119-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
120- FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
121-endif
122-
123-CC_OPT/NONE =
124-CC_OPT/LOWER = -O2
125-CC_OPT/HIGHER = -O3
126-CC_OPT/HIGHEST = -O3
127-
128-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
129-
130 # For all platforms, do not omit the frame pointer register usage.
131 # We need this frame pointer to make it easy to walk the stacks.
132 # This should be the default on X86, but ia64 and amd64 may not have this
133@@ -191,7 +169,7 @@
134 CFLAGS_REQUIRED_aarch64 += -fno-omit-frame-pointer -fsigned-char -D_LITTLE_ENDIAN
135 CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
136 CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
137-CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN
138+CFLAGS_REQUIRED_arm += -fsigned-char -fno-omit-frame-pointer -D_LITTLE_ENDIAN
139 CFLAGS_REQUIRED_hppa +=
140 CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
141 CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
142@@ -359,7 +337,7 @@ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
143 #
144 # -L paths for finding and -ljava
145 #
146-LDFLAGS_OPT = -Xlinker -O1
147+LDFLAGS_OPT = $(OE_LDFLAGS)
148 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
149 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
150
151diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
152index c23e96e..484afca 100644
153--- openjdk/jdk/make/common/shared/Platform.gmk
154+++ openjdk/jdk/make/common/shared/Platform.gmk
155@@ -169,9 +169,9 @@
156 mach := $(CROSS_COMPILE_ARCH)
157 else
158 mach := $(shell uname -m)
159- endif
160- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
161- mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
162+ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
163+ mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
164+ endif
165 endif
166 archExpr = case "$(mach)" in \
167 i[3-9]86) \
168diff --git openjdk/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
169index b6e0d99..edc530e 100644
170--- openjdk/jdk/make/sun/awt/mawt.gmk
171+++ openjdk/jdk/make/sun/awt/mawt.gmk
172@@ -151,22 +151,6 @@ else
173 #endif
174
175 LIBXTST = -lXtst
176-ifeq ($(PLATFORM), linux)
177- ifeq ($(ARCH_DATA_MODEL), 64)
178- # XXX what about the rest of them?
179- LIBXT = -lXt
180- else
181- # Allows for builds on Debian GNU Linux, X11 is in a different place
182- LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \
183- $(wildcard /usr/lib/libXt.a))
184- LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \
185- $(wildcard /usr/lib/libSM.a))
186- LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \
187- $(wildcard /usr/lib/libICE.a))
188- LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \
189- $(wildcard /usr/lib/libXtst.a))
190- endif
191-endif
192
193 # Use -lXmu for EditRes support
194 LIBXMU_DBG = -lXmu
195@@ -181,7 +165,7 @@ ifneq (,$(findstring $(PLATFORM), linux macosx))
196 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
197 # XXX what is this define below? Isn't it motif-related?
198 OTHER_CFLAGS += -DXMSTRINGDEFINES=1
199-OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
200+OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11
201 endif
202
203 endif
204@@ -230,12 +214,6 @@ else
205 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2
206 endif
207
208-ifndef HEADLESS
209-CPPFLAGS += -I$(OPENWIN_HOME)/include
210-LDFLAGS += -L$(OPENWIN_LIB)
211-
212-endif # !HEADLESS
213-
214 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
215 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
216 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
217@@ -248,12 +248,6 @@
218 endif # !HEADLESS
219 endif # PLATFORM
220
221-ifeq ($(PLATFORM), linux)
222- # Checking for the X11/extensions headers at the additional location
223- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
224- $(wildcard /usr/include/X11/extensions))
225-endif
226-
227 ifeq ($(PLATFORM), macosx)
228 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
229 -I$(OPENWIN_HOME)/include
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch
new file mode 100644
index 0000000..3152b38
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch
@@ -0,0 +1,29 @@
1--- openjdk/jdk/make/java/nio/Makefile
2+++ openjdk/jdk/make/java/nio/Makefile
3@@ -966,7 +966,7 @@
4
5 $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
6 $(prep-target)
7- ($(CD) $(TEMPDIR); $(NIO_CC) $(CPPFLAGS) $(LDDFLAGS) \
8+ ($(CD) $(TEMPDIR); $(NIO_CC) $(CPPFLAGS) -static $(LDDFLAGS) \
9 -o genSocketOptionRegistry$(EXE_SUFFIX) $(GENSOR_SRC))
10
11 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
12@@ -1006,7 +1006,7 @@
13
14 $(GENUC_EXE) : $(GENUC_SRC)
15 $(prep-target)
16- $(NIO_CC) $(CPPFLAGS) -o $@ $(GENUC_SRC)
17+ $(NIO_CC) $(CPPFLAGS) -static -o $@ $(GENUC_SRC)
18
19 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
20 $(SFS_GEN)/UnixConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/UnixConstants-$(PLATFORM)-$(ARCH).java
21@@ -1032,7 +1032,7 @@
22
23 $(GENSC_EXE) : $(GENSC_SRC)
24 $(prep-target)
25- $(NIO_CC) $(CPPFLAGS) -o $@ $(GENSC_SRC)
26+ $(NIO_CC) $(CPPFLAGS) -static -o $@ $(GENSC_SRC)
27
28 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
29 $(SFS_GEN)/SolarisConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/SolarisConstants-$(PLATFORM)-$(ARCH).java
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch
new file mode 100644
index 0000000..80fc808
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch
@@ -0,0 +1,11 @@
1--- openjdk/jdk/make/java/nio/Makefile
2+++ openjdk/jdk/make/java/nio/Makefile
3@@ -961,7 +961,7 @@
4 ifeq ($(PLATFORM), macosx)
5 NIO_CC=$(HOST_CC)
6 else
7- NIO_CC=$(CC)
8+ NIO_CC=$(CC_FOR_BUILD)
9 endif
10
11 $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch
new file mode 100644
index 0000000..55f1f9c
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch
@@ -0,0 +1,13 @@
1diff --git openjdk/jdk/make/com/sun/jmx/Makefile openjdk/jdk/make/com/sun/jmx/Makefile
2index eaf8a6e..4938613 100644
3--- openjdk/jdk/make/com/sun/jmx/Makefile
4+++ openjdk/jdk/make/com/sun/jmx/Makefile
5@@ -102,7 +102,7 @@ FILES_ties = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/
6 # when available, we need to run with latest rmic version available. rmic
7 # launch tool not built at this stage but we can invoke via rmi class.
8
9-RMIC_JAVA = $(OUTPUTDIR)/bin/java
10+RMIC_JAVA = $(BOOTDIR)/bin/java
11 # need to treat 64bit solaris differently
12 ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
13 RMIC_JAVA = $(OUTPUTDIR)/bin/amd64/java
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch
new file mode 100644
index 0000000..5eb5507
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch
@@ -0,0 +1,82 @@
1--- openjdk/jdk/make/sun/xawt/Makefile
2+++ openjdk/jdk/make/sun/xawt/Makefile
3@@ -201,20 +201,6 @@
4 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2
5 endif
6
7-ifeq ($(PLATFORM), linux)
8- ifndef CROSS_COMPILE_ARCH
9- # Allows for builds on Debian GNU Linux, X11 is in a different place
10- # This should really be handled at a higher-level so we don't have to
11- # work-around this when cross-compiling
12- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
13- -I/usr/include/X11/extensions \
14- -I$(OPENWIN_HOME)/include
15- else
16- CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
17- -I$(OPENWIN_HOME)/include
18- endif
19-endif
20-
21 ifeq ($(NATIVE_SUPPORT_DEBUG), true)
22 OTHER_CFLAGS += -DNATIVE_SUPPORT_DEBUG
23 endif
24@@ -299,16 +285,10 @@
25 SIZERS = $(SIZER).32
26 SIZERS_C = $(SIZER_32_C)
27 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
28-ifdef CROSS_COMPILE_ARCH
29-CFLAGS_32 = -m32
30-endif
31 else # !32
32 SIZERS = $(SIZER).64
33 SIZERS_C = $(SIZER_64_C)
34 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
35-ifdef CROSS_COMPILE_ARCH
36-CFLAGS_64 = -m64
37-endif
38 endif # 32
39 endif # !macosx
40 endif # solaris
41@@ -344,15 +324,11 @@
42 WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
43 XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
44
45-ifndef CROSS_COMPILE_ARCH
46 SIZERS_CC = $(CC)
47-else
48-SIZERS_CC = $(HOST_CC)
49-endif
50
51 $(SIZERS): $(SIZERS_C)
52 $(prep-target)
53- $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
54+ $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -static -fuse-ld=bfd -o $@ $(SIZER)$(suffix $@).c
55
56 $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
57 $(prep-target)
58@@ -365,6 +341,16 @@
59 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
60
61 $(SIZES): $(SIZERS)
62+ifdef CROSS_COMPILE_ARCH
63+ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
64+ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
65+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
66+ $(CHMOD) +w $@; \
67+ else \
68+ $(ECHO) GENERATING $@; \
69+ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
70+ fi
71+else
72 @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
73 $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
74 $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
75@@ -373,6 +359,7 @@
76 $(ECHO) GENERATING $@; \
77 $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
78 fi
79+endif
80 @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
81 $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
82 $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000..e97e4fc
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,36 @@
1diff --git openjdk/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
2index c2a1484..156bdd0 100644
3--- openjdk/hotspot/make/linux/makefiles/zeroshark.make
4+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make
5@@ -33,26 +33,27 @@
6 Obj_Files += arm32JIT.o
7
8 CFLAGS += -DHOTSPOT_ASM
9+CCFLAGS += -DHOTSPOT_ASM
10
11 cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s
12 arm32JIT.o: offsets_arm.s
13
14 offsets_arm.s: mkoffsets
15 @echo Generating assembler offsets
16- ./mkoffsets > $@
17+ $(QEMU) ./mkoffsets > $@
18
19 bytecodes_arm.s: bytecodes_arm.def mkbc
20 @echo Generating ARM assembler bytecode sequences
21- $(CXX_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
22+ $(CXX_COMPILE) -E -x c++ - < $< | $(QEMU) ./mkbc - $@ $(COMPILE_DONE)
23
24 mkbc: $(GAMMADIR)/tools/mkbc.c
25 @echo Compiling mkbc tool
26- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
27+ $(CC_COMPILE) -static -fuse-ld=bfd -o $@ $< $(COMPILE_DONE)
28
29 mkoffsets: asm_helper.cpp
30 @echo Compiling offset generator
31 $(QUIETLY) $(REMOVE_TARGET)
32- $(CXX_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
33+ $(CXX_COMPILE) -static -fuse-ld=bfd -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
34
35 endif
36 endif
diff --git a/recipes-core/openjdk/patches-openjdk-7/jvm.cfg b/recipes-core/openjdk/patches-openjdk-7/jvm.cfg
new file mode 100644
index 0000000..ea97cda
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-7/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