diff options
author | Max Krummenacher <max.oss.09@gmail.com> | 2015-01-20 16:14:23 +0100 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2015-01-25 16:55:03 -0200 |
commit | cb351db824b0eb4a71514156bba543f6dde19740 (patch) | |
tree | e16d77230be3788b270bc4747ff7fc0c655e3123 /recipes-core/openjdk/openjdk-7-25b30/icedtea-crosscompile-fix.patch | |
parent | c600dd3ab5a6308c513f5fbf7243de1799d9ce62 (diff) | |
download | meta-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.patch | 7 |
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 | ||