Patchwork [meta-java,V2,2/3] openjdk-6: Fix cross compilation for e5500 machines

login
register
mail settings
Submitter Khem Raj
Date July 31, 2012, 7:03 p.m.
Message ID <1343761391-3440-2-git-send-email-raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/33459/
State Accepted
Headers show

Comments

Khem Raj - July 31, 2012, 7:03 p.m.
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@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
Henning Heinold - Aug. 17, 2012, 7:47 a.m.
On Tue, Jul 31, 2012 at 12:03:10PM -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@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@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

Patch is applied to master, thanks and do not forget to update patch-work.

Bye Henning

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@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