← Back to team overview

openjdk team mailing list archive

Bug#746207: MIPS64(el) support for openjdk-7

 

Package: openjdk-7
Version: 7u55-2.4.7-1

With this patch, I can build openjdk-7 on mips64el,
and it seems working well (can used to build openjdk-7 again).

I have no idea how to update debian/patches/icedtea-patch.diff,
so I don't update it. You may need to update it.

After this patch applied, you need to run
autoreconf  # autoconf doesn't work
make -f debian/rules debian/control

I also tried to enable jamvm, while I met this problem,
    couldn't open libjava.so: use -verbose:jni for more information
some like
    http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1155

So I disable jamvm for now.

-- 
Yunqiang Su
diff -ur a/acinclude.m4 b/acinclude.m4
--- a/acinclude.m4	2014-04-28 12:00:41.919216731 +0000
+++ b/acinclude.m4	2014-04-28 11:58:51.833278435 +0000
@@ -43,11 +43,37 @@
       BUILD_ARCH_DIR=mips
       INSTALL_ARCH_DIR=mips
       JRE_ARCH_DIR=mips
+      ARCHFLAG="-mabi=32"
        ;;
     mipsel)
       BUILD_ARCH_DIR=mipsel
       INSTALL_ARCH_DIR=mipsel
       JRE_ARCH_DIR=mipsel
+      ARCHFLAG="-mabi=32"
+       ;;
+    mipsn32)
+      BUILD_ARCH_DIR=mipsn32
+      INSTALL_ARCH_DIR=mipsn32
+      JRE_ARCH_DIR=mipsn32
+      ARCHFLAG="-mabi=n32"
+       ;;
+    mipsn32el)
+      BUILD_ARCH_DIR=mipsn32el
+      INSTALL_ARCH_DIR=mipsn32el
+      JRE_ARCH_DIR=mipsn32el
+      ARCHFLAG="-mabi=n32"
+       ;;
+    mips64)
+      BUILD_ARCH_DIR=mips64
+      INSTALL_ARCH_DIR=mips64
+      JRE_ARCH_DIR=mips64
+      ARCHFLAG="-mabi=64"
+       ;;
+    mips64el)
+      BUILD_ARCH_DIR=mips64el
+      INSTALL_ARCH_DIR=mips64el
+      JRE_ARCH_DIR=mips64el
+      ARCHFLAG="-mabi=64"
        ;;
     powerpc)
       BUILD_ARCH_DIR=ppc
diff -ur a/debian/rules b/debian/rules
--- a/debian/rules	2014-04-28 11:58:21.782496967 +0000
+++ b/debian/rules	2014-04-28 12:03:28.618436687 +0000
@@ -119,8 +119,8 @@
 
 with_wgy_zenhai = $(if $(filter $(distrel),lenny),,yes)
 
-arch_map	:= alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 lpia=i586 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le sparc=sparc sparc64=sparc64 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k x32=x32
-archdir_map	:= alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i386 lpia=i386 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le sparc=sparc sparc64=sparcv9 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k x32=x32
+arch_map	:= alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 lpia=i586 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le sparc=sparc sparc64=sparc64 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k x32=x32
+archdir_map	:= alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i386 lpia=i386 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le sparc=sparc sparc64=sparcv9 sh4=sh s390=s390 s390x=s390x ia64=ia64 m68k=m68k x32=x32
 
 jvmarch		:= $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \
 			$(filter $(DEB_HOST_ARCH_CPU)=%, $(arch_map))))
@@ -138,9 +138,9 @@
   hotspot_version = aarch64
 endif
 
-any_archs = alpha amd64 armel armhf arm64 i386 ia64 lpia mips mipsel powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64
+any_archs = alpha amd64 armel armhf arm64 i386 ia64 lpia mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64
 stage1_gcj_archs = amd64 armel armhf hppa i386 ia64 lpia powerpc powerpcspe ppc64 ppc64el m68k mips mipsel sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64
-stage1_openjdk_archs = alpha arm64
+stage1_openjdk_archs = alpha arm64 mips64 mips64el
 stage1_cacao_archs =
 ifneq (,$(filter nobootstrap, $(DEB_BUILD_OPTIONS)))
   stage1_openjdk_archs := $(stage1_openjdk_archs) $(stage1_gcj_archs)
@@ -1119,10 +1119,10 @@
 	touch $@
 
 ifeq ($(with_check),yes)
-    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha ia64 mips mipsel powerpc powerpcspe ppc64 ppc64el s390 sh4))
+    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 sh4))
       with_mauve_check = $(default_vm)
     endif
-    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha arm64 armel armhf ia64 mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 x32))
+    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha arm64 armel armhf ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 x32))
       with_jtreg_check = $(default_vm)
     endif
 
@@ -1131,7 +1131,7 @@
         # only activate after testing; problems on s390
         with_mauve_check += cacao
       endif
-      ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel armhf i386 lpia mips mipsel powerpc powerpcspe s390))
+      ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel armhf i386 lpia mips mipsel mips64 mips64el powerpc powerpcspe s390))
         # only activate after testing; hangs several tests.
         with_jtreg_check += cacao
       endif
@@ -1174,7 +1174,7 @@
     with_mauve_check =
 endif
 
-ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel powerpc powerpcspe ppc64 s390))
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 s390))
   JTREG_OPTIONS = -timeout:3
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))
@@ -1214,7 +1214,7 @@
 	rm -f buildwatch.pid
 
 stamps/build: stamps/patch
-ifneq (,$(filter $(DEB_HOST_ARCH), alpha arm armel armhf hppa arm64 ia64 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64))
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha arm armel armhf hppa arm64 ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64))
 	sh -c 'sh debian/buildwatch.sh $(CURDIR)/build &'
 endif
 	if $(EXTRA_BUILD_ENV) $(MAKE) -C build $(build_target) $(EXTRA_MAKE_FLAGS); then \