summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch
diff options
context:
space:
mode:
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.patch229
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 @@
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