[oe] [meta-java][PATCH 2/2] openjdk-6: Fix cross compilation for e5500 machines

Khem Raj raj.khem at gmail.com
Mon Jul 23 20:38:03 UTC 2012


On Mon, Jul 23, 2012 at 1:12 AM, Henning Heinold
<heinold at inf.fu-berlin.de> wrote:
> On Sun, Jul 22, 2012 at 05:02:32PM -0700, Khem Raj wrote:
>> This is only way for compile for now since qemu can not
>> run the sizers binary for e5500 machines. It segfaults
>> so we disable generating sizes and also xawt and jawt
>> which depends on sizers, this lets jre to cross compile
>> for ppc/e5500
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>>  .../icedtea-jdk-sizers-crosscompile-hack.patch     |   61 ++++++++++++++++++++
>>  recipes-core/openjdk/openjdk-6-release-6b24.inc    |   13 ++++-
>>  2 files changed, 73 insertions(+), 1 deletions(-)
>>  create mode 100644 recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch
>>
>> diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch
>> new file mode 100644
>> index 0000000..54d6a19
>> --- /dev/null
>> +++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch
>> @@ -0,0 +1,61 @@
>> +Disable xawt and jawt along with sizes generation which does not work well if
>> +you cant generated sizes in cross env. So for architectures which dont have
>> +working qemu this is an option
>> +
>> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> +Upstream-Status: Inappropriate [Cross-compile specific hack]
>> +
>> +--- openjdk/jdk/make/sun/xawt/Makefile.khem  2012-07-21 23:54:47.396405922 -0700
>> ++++ openjdk/jdk/make/sun/xawt/Makefile       2012-07-21 23:55:52.032405922 -0700
>> +@@ -245,18 +245,19 @@
>> +         $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
>> +
>> + $(SIZES): $(SIZERS)
>> +-    @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
>> +-        $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
>> +-        $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
>> +-        $(CHMOD) +w $@;\
>> +-    else    \
>> +-        $(ECHO) GENERATING $@; \
>> +-        $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
>> +-    fi
>> +-    @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
>> +-        $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
>> +-        $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
>> +-    fi
>> ++    touch $(SIZES)
>> ++#   @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
>> ++#       $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
>> ++#       $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
>> ++#       $(CHMOD) +w $@;\
>> ++#   else    \
>> ++#       $(ECHO) GENERATING $@; \
>> ++#       $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
>> ++#   fi
>> ++#   @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
>> ++#       $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
>> ++#       $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
>> ++#   fi
>> +
>> + $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
>> +     $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
>> +--- openjdk/jdk/make/sun/Makefile.khem       2011-11-14 14:11:40.000000000 -0800
>> ++++ openjdk/jdk/make/sun/Makefile    2012-07-22 00:42:04.980409296 -0700
>> +@@ -50,7 +50,7 @@
>> +     MOTIF_SUBDIRS   = motif12 motif21
>> +   endif
>> +   HEADLESS_SUBDIR = headless
>> +-  XAWT_SUBDIR     = xawt
>> ++  XAWT_SUBDIR     =
>> + endif
>> +
>> + ifndef OPENJDK
>> +@@ -65,7 +65,7 @@
>> +       awt splashscreen $(XAWT_SUBDIR) $(MOTIF_SUBDIRS) \
>> +           $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
>> +       font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \
>> +-      jawt text nio launcher management $(ORG_SUBDIR) \
>> ++      text nio launcher management $(ORG_SUBDIR) \
>> +           native2ascii serialver tools jconsole
>> +
>> + all build clean clobber::
>> diff --git a/recipes-core/openjdk/openjdk-6-release-6b24.inc b/recipes-core/openjdk/openjdk-6-release-6b24.inc
>> index b867fb3..1da7ffb 100644
>> --- a/recipes-core/openjdk/openjdk-6-release-6b24.inc
>> +++ b/recipes-core/openjdk/openjdk-6-release-6b24.inc
>> @@ -83,7 +83,12 @@ ICEDTEAPATCHES = "\
>>          file://icedtea-zero-hotspotfix.patch;apply=no \
>>          file://icedtea-jdk-powerpc-atomic64.patch;apply=no \
>>       "
>> -
>> +ICEDTEAPATCHES_append_e5500-64b = " \
>> +        file://icedtea-jdk-sizers-crosscompile-hack.patch;apply=no \
>> +     "
>> +ICEDTEAPATCHES_append_e5500 = " \
>> +        file://icedtea-jdk-sizers-crosscompile-hack.patch;apply=no \
>> +     "
>>  ICEDTEAPATCHES_append_libc-uclibc = " \
>>          file://icedtea-hotspot-isfinte.patch;apply=no \
>>          file://icedtea-hotspot-glibc-version.patch;apply=no \
>> @@ -119,5 +124,11 @@ DISTRIBUTION_PATCHES_append_libc-uclibc = "\
>>          patches/icedtea-jdk-unpack-uclibc.patch \
>>       patches/icedtea-hotspot-dlvsym-uclibc.patch \
>>          "
>> +DISTRIBUTION_PATCHES_append_e5500-64b = " \
>> +       patches/icedtea-jdk-sizers-crosscompile-hack.patch \
>> +       "
>>
>> +DISTRIBUTION_PATCHES_append_e5500 = " \
>> +       patches/icedtea-jdk-sizers-crosscompile-hack.patch \
>> +       "
>>  export DISTRIBUTION_PATCHES
>> --
>> 1.7.5.4
>>
>
> Hi Khem,
>
> did you make a runtime test?
>

yes trivial tests show that its working on both 32 and 64bit

> Bye henning
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list