diff options
Diffstat (limited to 'recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch')
-rw-r--r-- | recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch | 229 |
1 files changed, 229 insertions, 0 deletions
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 @@ | |||
1 | diff --git openjdk/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk | ||
2 | index 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) \ | ||
22 | diff --git openjdk/hotspot/make/linux/makefiles/build_vm_def.sh openjdk/hotspot/make/linux/makefiles/build_vm_def.sh | ||
23 | index 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 $* \ | ||
43 | diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make | ||
44 | index 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 | ||
73 | diff --git openjdk/hotspot/make/linux/makefiles/launcher.make openjdk/hotspot/make/linux/makefiles/launcher.make | ||
74 | index 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) | ||
88 | diff --git openjdk/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make | ||
89 | index 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 | ||
100 | diff --git openjdk/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk | ||
101 | index 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 | |||
151 | diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk | ||
152 | index 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) \ | ||
168 | diff --git openjdk/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk | ||
169 | index 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 | ||