diff options
Diffstat (limited to 'recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch')
-rw-r--r-- | recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch new file mode 100644 index 0000000..9099d4c --- /dev/null +++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch | |||
@@ -0,0 +1,342 @@ | |||
1 | --- openjdk/hotspot/make/linux/makefiles/buildtree.make | ||
2 | +++ openjdk/hotspot/make/linux/makefiles/buildtree.make | ||
3 | @@ -402,7 +402,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java | ||
4 | echo "rm -f Queens.class"; \ | ||
5 | echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \ | ||
6 | echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \ | ||
7 | - echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \ | ||
8 | + echo 'echo Silently skipping the execution of the gamma program'; \ | ||
9 | ) > $@ | ||
10 | $(QUIETLY) chmod +x $@ | ||
11 | |||
12 | --- openjdk/hotspot/make/linux/makefiles/gcc.make | ||
13 | +++ openjdk/hotspot/make/linux/makefiles/gcc.make | ||
14 | @@ -160,7 +160,7 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS) | ||
15 | CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) | ||
16 | |||
17 | # The flags to use for an Optimized g++ build | ||
18 | -OPT_CFLAGS += -O3 | ||
19 | +OPT_CFLAGS += $(OE_CFLAGS) | ||
20 | |||
21 | # Hotspot uses very unstrict aliasing turn this optimization off | ||
22 | OPT_CFLAGS += -fno-strict-aliasing | ||
23 | @@ -204,15 +204,7 @@ LFLAGS += -Wl,-relax | ||
24 | endif | ||
25 | |||
26 | # Enable linker optimization | ||
27 | -LFLAGS += -Xlinker -O1 | ||
28 | - | ||
29 | -# If this is a --hash-style=gnu system, use --hash-style=both | ||
30 | -# The gnu .hash section won't work on some Linux systems like SuSE 10. | ||
31 | -_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu') | ||
32 | -ifneq ($(_HAS_HASH_STYLE_GNU),) | ||
33 | - LDFLAGS_HASH_STYLE = -Wl,--hash-style=both | ||
34 | -endif | ||
35 | -LFLAGS += $(LDFLAGS_HASH_STYLE) | ||
36 | +LFLAGS += $(OE_LDFLAGS) | ||
37 | |||
38 | # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file. | ||
39 | MAPFLAG = -Xlinker --version-script=FILENAME | ||
40 | --- openjdk/hotspot/make/linux/makefiles/launcher.make | ||
41 | +++ openjdk/hotspot/make/linux/makefiles/launcher.make | ||
42 | @@ -50,8 +50,8 @@ ifeq ($(LINK_INTO),AOUT) | ||
43 | LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS) | ||
44 | else | ||
45 | LAUNCHER.o = launcher.o | ||
46 | - LFLAGS_LAUNCHER += -L `pwd` | ||
47 | - LIBS_LAUNCHER += -l$(JVM) $(LIBS) | ||
48 | + LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS) | ||
49 | + LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++ | ||
50 | endif | ||
51 | |||
52 | LINK_LAUNCHER = $(LINK.c) | ||
53 | --- openjdk/hotspot/make/linux/makefiles/vm.make | ||
54 | +++ openjdk/hotspot/make/linux/makefiles/vm.make | ||
55 | @@ -272,6 +272,7 @@ ifeq ($(SHARK_BUILD), true) | ||
56 | LIBS_VM += $(LLVM_LIBS) | ||
57 | endif | ||
58 | |||
59 | +LFLAGS_VM += $(OE_LDFLAGS) | ||
60 | LINK_VM = $(LINK_LIB.c) | ||
61 | |||
62 | # rule for building precompiled header | ||
63 | --- openjdk/jdk/make/common/Defs-linux.gmk | ||
64 | +++ openjdk/jdk/make/common/Defs-linux.gmk | ||
65 | @@ -125,35 +125,13 @@ else | ||
66 | endif | ||
67 | endif | ||
68 | |||
69 | -# | ||
70 | -# Default optimization | ||
71 | -# | ||
72 | - | ||
73 | -ifndef OPTIMIZATION_LEVEL | ||
74 | - ifeq ($(PRODUCT), java) | ||
75 | - OPTIMIZATION_LEVEL = HIGHER | ||
76 | - else | ||
77 | - OPTIMIZATION_LEVEL = LOWER | ||
78 | - endif | ||
79 | -endif | ||
80 | -ifndef FASTDEBUG_OPTIMIZATION_LEVEL | ||
81 | - FASTDEBUG_OPTIMIZATION_LEVEL = LOWER | ||
82 | -endif | ||
83 | - | ||
84 | -CC_OPT/NONE = | ||
85 | -CC_OPT/LOWER = -O2 | ||
86 | -CC_OPT/HIGHER = -O3 | ||
87 | -CC_OPT/HIGHEST = -O3 | ||
88 | - | ||
89 | -CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL)) | ||
90 | - | ||
91 | # For all platforms, do not omit the frame pointer register usage. | ||
92 | # We need this frame pointer to make it easy to walk the stacks. | ||
93 | # This should be the default on X86, but ia64 and amd64 may not have this | ||
94 | # as the default. | ||
95 | CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN | ||
96 | CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN | ||
97 | -CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN | ||
98 | +CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN | ||
99 | CFLAGS_REQUIRED_hppa += | ||
100 | CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN | ||
101 | CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN | ||
102 | @@ -232,7 +210,7 @@ ifeq ($(DEBUG_BINARIES), true) | ||
103 | CFLAGS_REQUIRED += $(DEBUG_FLAG) | ||
104 | endif | ||
105 | |||
106 | -CFLAGS_OPT = $(CC_OPT) | ||
107 | +CFLAGS_OPT = $(OE_CFLAGS) | ||
108 | CFLAGS_DBG = $(DEBUG_FLAG) | ||
109 | CFLAGS_COMMON += $(CFLAGS_REQUIRED) | ||
110 | |||
111 | @@ -308,7 +286,7 @@ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION) | ||
112 | # | ||
113 | # -L paths for finding and -ljava | ||
114 | # | ||
115 | -LDFLAGS_OPT = -Xlinker -O1 | ||
116 | +LDFLAGS_OPT = $(OE_LDFLAGS) | ||
117 | LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH) | ||
118 | LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX) | ||
119 | |||
120 | --- openjdk/jdk/make/sun/awt/mawt.gmk | ||
121 | +++ openjdk/jdk/make/sun/awt/mawt.gmk | ||
122 | @@ -151,22 +151,6 @@ else | ||
123 | #endif | ||
124 | |||
125 | LIBXTST = -lXtst | ||
126 | -ifeq ($(PLATFORM), linux) | ||
127 | - ifeq ($(ARCH_DATA_MODEL), 64) | ||
128 | - # XXX what about the rest of them? | ||
129 | - LIBXT = -lXt | ||
130 | - else | ||
131 | - # Allows for builds on Debian GNU Linux, X11 is in a different place | ||
132 | - LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \ | ||
133 | - $(wildcard /usr/lib/libXt.a)) | ||
134 | - LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \ | ||
135 | - $(wildcard /usr/lib/libSM.a)) | ||
136 | - LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \ | ||
137 | - $(wildcard /usr/lib/libICE.a)) | ||
138 | - LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \ | ||
139 | - $(wildcard /usr/lib/libXtst.a)) | ||
140 | - endif | ||
141 | -endif | ||
142 | |||
143 | # Use -lXmu for EditRes support | ||
144 | LIBXMU_DBG = -lXmu | ||
145 | @@ -181,7 +165,7 @@ ifeq ($(PLATFORM), linux) | ||
146 | OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH | ||
147 | # XXX what is this define below? Isn't it motif-related? | ||
148 | OTHER_CFLAGS += -DXMSTRINGDEFINES=1 | ||
149 | -OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi | ||
150 | +OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11 | ||
151 | endif | ||
152 | |||
153 | endif | ||
154 | @@ -230,12 +214,6 @@ else | ||
155 | CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2 | ||
156 | endif | ||
157 | |||
158 | -ifndef HEADLESS | ||
159 | -CPPFLAGS += -I$(OPENWIN_HOME)/include | ||
160 | -LDFLAGS += -L$(OPENWIN_LIB) | ||
161 | - | ||
162 | -endif # !HEADLESS | ||
163 | - | ||
164 | CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \ | ||
165 | -I$(SHARE_SRC)/native/$(PKGDIR)/../font \ | ||
166 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \ | ||
167 | @@ -258,12 +236,6 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \ | ||
168 | -I$(PLATFORM_SRC)/native/$(PKGDIR) \ | ||
169 | $(EVENT_MODEL) | ||
170 | |||
171 | -ifeq ($(PLATFORM), linux) | ||
172 | - # Checking for the X11/extensions headers at the additional location | ||
173 | - CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \ | ||
174 | - $(wildcard /usr/include/X11/extensions)) | ||
175 | -endif | ||
176 | - | ||
177 | ifeq ($(PLATFORM), solaris) | ||
178 | CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions | ||
179 | endif | ||
180 | diff --git openjdk/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk | ||
181 | index e21f4d0..5f071a7 100644 | ||
182 | --- openjdk/corba/make/common/shared/Platform.gmk | ||
183 | +++ openjdk/corba/make/common/shared/Platform.gmk | ||
184 | @@ -152,9 +152,13 @@ ifeq ($(SYSTEM_UNAME), Linux) | ||
185 | OS_NAME = linux | ||
186 | OS_VERSION := $(shell uname -r) | ||
187 | # Arch and OS name/version | ||
188 | - mach := $(shell uname -m) | ||
189 | - ifneq (,$(wildcard /usr/bin/dpkg-architecture)) | ||
190 | - mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') | ||
191 | + ifdef CROSS_COMPILE_ARCH | ||
192 | + mach := $(CROSS_COMPILE_ARCH) | ||
193 | + else | ||
194 | + mach := $(shell uname -m) | ||
195 | + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) | ||
196 | + mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') | ||
197 | + endif | ||
198 | endif | ||
199 | archExpr = case "$(mach)" in \ | ||
200 | i[3-9]86) \ | ||
201 | diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk | ||
202 | index 5b21888..3b9297f 100644 | ||
203 | --- openjdk/jdk/make/common/shared/Platform.gmk | ||
204 | +++ openjdk/jdk/make/common/shared/Platform.gmk | ||
205 | @@ -159,9 +159,9 @@ ifeq ($(SYSTEM_UNAME), Linux) | ||
206 | mach := $(CROSS_COMPILE_ARCH) | ||
207 | else | ||
208 | mach := $(shell uname -m) | ||
209 | - endif | ||
210 | - ifneq (,$(wildcard /usr/bin/dpkg-architecture)) | ||
211 | - mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') | ||
212 | + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) | ||
213 | + mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') | ||
214 | + endif | ||
215 | endif | ||
216 | archExpr = case "$(mach)" in \ | ||
217 | i[3-9]86) \ | ||
218 | diff --git openjdk/hotspot/make/linux/makefiles/build_vm_def.sh openjdk/hotspot/make/linux/makefiles/build_vm_def.sh | ||
219 | index ea81ff6..6a3765b 100644 | ||
220 | --- openjdk/hotspot/make/linux/makefiles/build_vm_def.sh | ||
221 | +++ openjdk/hotspot/make/linux/makefiles/build_vm_def.sh | ||
222 | @@ -1,10 +1,12 @@ | ||
223 | #!/bin/sh | ||
224 | |||
225 | # If we're cross compiling use that path for nm | ||
226 | -if [ "$CROSS_COMPILE_ARCH" != "" ]; then | ||
227 | -NM=$ALT_COMPILER_PATH/nm | ||
228 | -else | ||
229 | -NM=nm | ||
230 | +if [ "$NM" == "" ]; then | ||
231 | + if [ "$CROSS_COMPILE_ARCH" != "" ]; then | ||
232 | + NM=$ALT_COMPILER_PATH/nm | ||
233 | + else | ||
234 | + NM=nm | ||
235 | + fi | ||
236 | fi | ||
237 | |||
238 | $NM --defined-only $* \ | ||
239 | diff --git openjdk/jdk/make/java/nio/Makefile openjdk/jdk/make/java/nio/Makefile | ||
240 | index 8130b9b..7906531 100644 | ||
241 | --- openjdk/jdk/make/java/nio/Makefile | ||
242 | +++ openjdk/jdk/make/java/nio/Makefile | ||
243 | @@ -834,8 +834,12 @@ else | ||
244 | $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE) | ||
245 | $(prep-target) | ||
246 | NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@ | ||
247 | +ifdef CROSS_COMPILE_ARCH | ||
248 | + $(QEMU) $(GENSOR_EXE) >> $@ | ||
249 | +else | ||
250 | $(GENSOR_EXE) >> $@ | ||
251 | endif | ||
252 | +endif | ||
253 | # | ||
254 | # Generated sun.nio.cs SingleByte classes | ||
255 | # | ||
256 | @@ -869,8 +873,12 @@ else | ||
257 | $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE) | ||
258 | $(prep-target) | ||
259 | NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@ | ||
260 | +ifdef CROSS_COMPILE_ARCH | ||
261 | + $(QEMU) $(GENUC_EXE) >> $@ | ||
262 | +else | ||
263 | $(GENUC_EXE) >> $@ | ||
264 | endif | ||
265 | +endif | ||
266 | |||
267 | GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c | ||
268 | |||
269 | @@ -891,7 +899,11 @@ else | ||
270 | $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE) | ||
271 | $(prep-target) | ||
272 | NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@ | ||
273 | +ifdef CROSS_COMPILE_ARCH | ||
274 | + $(QEMU) $(GENSC_EXE) >> $@ | ||
275 | +else | ||
276 | $(GENSC_EXE) >> $@ | ||
277 | endif | ||
278 | +endif | ||
279 | |||
280 | .PHONY: sources | ||
281 | diff --git openjdk/jdk/make/sun/xawt/Makefile openjdk/jdk/make/sun/xawt/Makefile | ||
282 | index e7d54e2..ce8819c 100644 | ||
283 | --- openjdk/jdk/make/sun/xawt/Makefile | ||
284 | +++ openjdk/jdk/make/sun/xawt/Makefile | ||
285 | @@ -188,20 +188,6 @@ else | ||
286 | CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2 | ||
287 | endif | ||
288 | |||
289 | -ifeq ($(PLATFORM), linux) | ||
290 | - ifndef CROSS_COMPILE_ARCH | ||
291 | - # Allows for builds on Debian GNU Linux, X11 is in a different place | ||
292 | - # This should really be handled at a higher-level so we don't have to | ||
293 | - # work-around this when cross-compiling | ||
294 | - CPPFLAGS += -I/usr/X11R6/include/X11/extensions \ | ||
295 | - -I/usr/include/X11/extensions \ | ||
296 | - -I$(OPENWIN_HOME)/include | ||
297 | - else | ||
298 | - CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \ | ||
299 | - -I$(OPENWIN_HOME)/include | ||
300 | - endif | ||
301 | -endif | ||
302 | - | ||
303 | # We have some odd logic here because some Solaris 10 updates | ||
304 | # have a render.h file that suggests gradients are supported, but | ||
305 | # the Xrender.h doesn't have the corresponding type definitions. | ||
306 | @@ -312,11 +298,7 @@ XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt | ||
307 | |||
308 | $(SIZERS): $(SIZERS_C) | ||
309 | $(prep-target) | ||
310 | -ifndef CROSS_COMPILE_ARCH | ||
311 | $(CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c | ||
312 | -else | ||
313 | - $(HOST_CC) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c | ||
314 | -endif | ||
315 | |||
316 | $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA) | ||
317 | $(prep-target) | ||
318 | @@ -329,6 +311,16 @@ $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES) | ||
319 | $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@))) | ||
320 | |||
321 | $(SIZES): $(SIZERS) | ||
322 | +ifdef CROSS_COMPILE_ARCH | ||
323 | + @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \ | ||
324 | + $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \ | ||
325 | + $(CP) $(PREDEFINED_SIZES_TMPL) $@; \ | ||
326 | + $(CHMOD) +w $@;\ | ||
327 | + else \ | ||
328 | + $(ECHO) GENERATING $@; \ | ||
329 | + $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \ | ||
330 | + fi | ||
331 | +else | ||
332 | @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \ | ||
333 | $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \ | ||
334 | $(CP) $(PREDEFINED_SIZES_TMPL) $@; \ | ||
335 | @@ -337,6 +329,7 @@ $(SIZES): $(SIZERS) | ||
336 | $(ECHO) GENERATING $@; \ | ||
337 | $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \ | ||
338 | fi | ||
339 | +endif | ||
340 | @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \ | ||
341 | $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \ | ||
342 | $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \ | ||