summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch
diff options
context:
space:
mode:
authorMax Krummenacher <max.oss.09@gmail.com>2015-01-20 16:14:23 +0100
committerOtavio Salvador <otavio@ossystems.com.br>2015-01-25 16:55:03 -0200
commitcb351db824b0eb4a71514156bba543f6dde19740 (patch)
treee16d77230be3788b270bc4747ff7fc0c655e3123 /recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch
parentc600dd3ab5a6308c513f5fbf7243de1799d9ce62 (diff)
downloadmeta-java-cb351db824b0eb4a71514156bba543f6dde19740.tar.gz
binaries run by qemu: link with -static, force ld.bfd
For machines using DEFAULTTUNE = "armv7ahf" or DEFAULTTUNE = "armv7athf" a build of openjdk-7 fails with segmentation faults during the qemu-arm runs. e.g. Segmentation fault (core dumped) | qemu-arm -cpu cortex-a8 -s 2097152 -L .../sysroots/colibri-t20 \ -E LD_LIBRARY_PATH=.../sysroots/colibri-t20/lib ./mkbc - bytecodes_arm.s I found that qemu-arm can not execute any binary which is compiled with the resulting compiler and is linked with the gold linker and the -static flag. Even a simple hello world program does not work. When executing that hello world on the real hardware it also generates a segmentation fault. Removing the -static flag or forcing the bfd linker fixed this. Note that other machines, colibri-t30 or i.mx6 based ones with neon but otherwise identical setup do not suffer from the issue. DEFAULTTUNE = "armv7athf-neon" works. While at it convert the sizer call for openjdk-7 used when building xawt also to use -static even though the code is currently disabled. Further details: http://lists.openembedded.org/pipermail/openembedded-devel/2015-January/099795.html Signed-off-by: Max Krummenacher <max.oss.09@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch')
-rw-r--r--recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch7
1 files changed, 6 insertions, 1 deletions
diff --git a/recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch
index 39436a5..0c6aac4 100644
--- a/recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch
+++ b/recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch
@@ -319,7 +319,7 @@ index 53d31f3..183c063 100644
319 endif # 32 319 endif # 32
320 endif # !macosx 320 endif # !macosx
321 endif # solaris 321 endif # solaris
322@@ -337,11 +317,7 @@ WRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator 322@@ -337,15 +321,11 @@ WRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator
323 WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class 323 WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
324 XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt 324 XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
325 325
@@ -331,6 +331,11 @@ index 53d31f3..183c063 100644
331 331
332 $(SIZERS): $(SIZERS_C) 332 $(SIZERS): $(SIZERS_C)
333 $(prep-target) 333 $(prep-target)
334- $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
335+ $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -static -fuse-ld=bfd -o $@ $(SIZER)$(suffix $@).c
336
337 $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
338 $(prep-target)
334@@ -358,6 +334,16 @@ $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES) 339@@ -358,6 +334,16 @@ $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
335 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@))) 340 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
336 341