summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch
diff options
context:
space:
mode:
authorSven Ebenfeld <sven.ebenfeld@gmail.com>2015-04-27 22:12:59 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2015-04-28 16:09:34 -0300
commit31460be0ffad5fea3d41e50fba3eccce7993e409 (patch)
treec1ccf05f875de56629939494facaf2ce30b9fae5 /recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch
parent00cc75e823ef742fae6966a83dce69b0d2f56a76 (diff)
downloadmeta-java-31460be0ffad5fea3d41e50fba3eccce7993e409.tar.gz
openjdk-7: Add IcedTea 2.5.4 OpenJDK 7u75b13
Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch')
-rw-r--r--recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch355
1 files changed, 355 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..250f8a4
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-75b13/icedtea-crosscompile-fix.patch
@@ -0,0 +1,355 @@
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/java/nio/Makefile openjdk/jdk/make/java/nio/Makefile
169index cd336a2..1e5f8e5 100644
170--- openjdk/jdk/make/java/nio/Makefile
171+++ openjdk/jdk/make/java/nio/Makefile
172@@ -971,8 +971,12 @@ else
173 $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE)
174 $(prep-target)
175 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@
176+ifdef CROSS_COMPILE_ARCH
177+ $(QEMU) $(GENSOR_EXE) >> $@
178+else
179 $(GENSOR_EXE) >> $@
180 endif
181+endif
182 #
183 # Generated sun.nio.cs SingleByte classes
184 #
185@@ -1006,8 +1010,12 @@ else
186 $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE)
187 $(prep-target)
188 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@
189+ifdef CROSS_COMPILE_ARCH
190+ $(QEMU) $(GENUC_EXE) >> $@
191+else
192 $(GENUC_EXE) >> $@
193 endif
194+endif
195
196 GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
197
198@@ -1028,7 +1036,11 @@ else
199 $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE)
200 $(prep-target)
201 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@
202+ifdef CROSS_COMPILE_ARCH
203+ $(QEMU) $(GENSC_EXE) >> $@
204+else
205 $(GENSC_EXE) >> $@
206 endif
207+endif
208
209 .PHONY: sources
210diff --git openjdk/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
211index b6e0d99..edc530e 100644
212--- openjdk/jdk/make/sun/awt/mawt.gmk
213+++ openjdk/jdk/make/sun/awt/mawt.gmk
214@@ -151,22 +151,6 @@ else
215 #endif
216
217 LIBXTST = -lXtst
218-ifeq ($(PLATFORM), linux)
219- ifeq ($(ARCH_DATA_MODEL), 64)
220- # XXX what about the rest of them?
221- LIBXT = -lXt
222- else
223- # Allows for builds on Debian GNU Linux, X11 is in a different place
224- LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \
225- $(wildcard /usr/lib/libXt.a))
226- LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \
227- $(wildcard /usr/lib/libSM.a))
228- LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \
229- $(wildcard /usr/lib/libICE.a))
230- LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \
231- $(wildcard /usr/lib/libXtst.a))
232- endif
233-endif
234
235 # Use -lXmu for EditRes support
236 LIBXMU_DBG = -lXmu
237@@ -181,7 +165,7 @@ ifneq (,$(findstring $(PLATFORM), linux macosx))
238 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
239 # XXX what is this define below? Isn't it motif-related?
240 OTHER_CFLAGS += -DXMSTRINGDEFINES=1
241-OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
242+OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11
243 endif
244
245 endif
246@@ -230,12 +214,6 @@ else
247 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2
248 endif
249
250-ifndef HEADLESS
251-CPPFLAGS += -I$(OPENWIN_HOME)/include
252-LDFLAGS += -L$(OPENWIN_LIB)
253-
254-endif # !HEADLESS
255-
256 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
257 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
258 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
259@@ -248,12 +248,6 @@
260 endif # !HEADLESS
261 endif # PLATFORM
262
263-ifeq ($(PLATFORM), linux)
264- # Checking for the X11/extensions headers at the additional location
265- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
266- $(wildcard /usr/include/X11/extensions))
267-endif
268-
269 ifeq ($(PLATFORM), macosx)
270 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
271 -I$(OPENWIN_HOME)/include
272diff --git openjdk/jdk/make/sun/xawt/Makefile openjdk/jdk/make/sun/xawt/Makefile
273index 53d31f3..183c063 100644
274--- openjdk/jdk/make/sun/xawt/Makefile
275+++ openjdk/jdk/make/sun/xawt/Makefile
276@@ -198,20 +198,6 @@ else
277 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2
278 endif
279
280-ifeq ($(PLATFORM), linux)
281- ifndef CROSS_COMPILE_ARCH
282- # Allows for builds on Debian GNU Linux, X11 is in a different place
283- # This should really be handled at a higher-level so we don't have to
284- # work-around this when cross-compiling
285- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
286- -I/usr/include/X11/extensions \
287- -I$(OPENWIN_HOME)/include
288- else
289- CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
290- -I$(OPENWIN_HOME)/include
291- endif
292-endif
293-
294 # We have some odd logic here because some Solaris 10 updates
295 # have a render.h file that suggests gradients are supported, but
296 # the Xrender.h doesn't have the corresponding type definitions.
297@@ -292,16 +278,10 @@ ifeq ($(ARCH_DATA_MODEL), 32)
298 SIZERS = $(SIZER).32
299 SIZERS_C = $(SIZER_32_C)
300 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
301-ifdef CROSS_COMPILE_ARCH
302-CFLAGS_32 = -m32
303-endif
304 else # !32
305 SIZERS = $(SIZER).64
306 SIZERS_C = $(SIZER_64_C)
307 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
308-ifdef CROSS_COMPILE_ARCH
309-CFLAGS_64 = -m64
310-endif
311 endif # 32
312 endif # !macosx
313 endif # solaris
314@@ -337,15 +321,11 @@ WRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator
315 WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
316 XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
317
318-ifndef CROSS_COMPILE_ARCH
319 SIZERS_CC = $(CC)
320-else
321-SIZERS_CC = $(HOST_CC)
322-endif
323
324 $(SIZERS): $(SIZERS_C)
325 $(prep-target)
326- $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
327+ $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -static -fuse-ld=bfd -o $@ $(SIZER)$(suffix $@).c
328
329 $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
330 $(prep-target)
331@@ -358,6 +334,16 @@ $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
332 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
333
334 $(SIZES): $(SIZERS)
335+ifdef CROSS_COMPILE_ARCH
336+ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
337+ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
338+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
339+ $(CHMOD) +w $@;\
340+ else \
341+ $(ECHO) GENERATING $@; \
342+ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
343+ fi
344+else
345 @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
346 $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
347 $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
348@@ -366,6 +352,7 @@ $(SIZES): $(SIZERS)
349 $(ECHO) GENERATING $@; \
350 $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
351 fi
352+endif
353 @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
354 $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
355 $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \