Package: openjdk-6
Version: 6b18-1.8-2
Severity: wishlist
Tags: patch sid
User: debian-powerpc...@breakpoint.cc
Usertags: powerpcspe

Please add support for powerpcspe [0].
The first patch adds the keywords to the rules file. Most things are the
same as in powerpc except we don't have shark (llvm) support.
The second patch is against openjdk itself and removes the attempt to use
FPU Registers if there are not available.

[0] http://wiki.debian.org/PowerPCSPEPort

Sebastian
>From aea25d66d7488273f75e85680a50b59ad04ab41b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bige...@linutronix.de>
Date: Thu, 17 Jun 2010 16:01:16 +0200
Subject: [PATCH] add powerpcpspe keywords

similar to powerpc except we don't have llvm and therefore no shark.

Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
 debian/rules |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/debian/rules b/debian/rules
index 6bea004..74b6299 100755
--- a/debian/rules
+++ b/debian/rules
@@ -88,8 +88,8 @@ plugin_name = IcedTeaPlugin.so
 
 with_wgy_zenhai = $(if $(filter $(distrel),lenny gutsy feisty edgy 
dapper),,yes)
 
-arch_map       := alpha=alpha arm=arm armel=arm amd64=amd64 hppa=parisc 
i386=i586 lpia=i586 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc sparc=sparc 
sparc64=sparc64 sh4=sh s390=s390 ia64=ia64
-archdir_map    := alpha=alpha arm=arm armel=arm amd64=amd64 hppa=parisc 
i386=i386 lpia=i386 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc sparc=sparc 
sparc64=sparc64 sh4=sh s390=s390 ia64=ia64
+arch_map       := alpha=alpha arm=arm armel=arm amd64=amd64 hppa=parisc 
i386=i586 lpia=i586 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc 
powerpcspe=ppc sparc=sparc sparc64=sparc64 sh4=sh s390=s390 ia64=ia64
+archdir_map    := alpha=alpha arm=arm armel=arm amd64=amd64 hppa=parisc 
i386=i386 lpia=i386 m68k=m68k mips=mips mipsel=mipsel powerpc=ppc 
powerpcspe=ppc sparc=sparc sparc64=sparc64 sh4=sh s390=s390 ia64=ia64
 
 jvmarch                := $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
                        $(filter $(DEB_HOST_ARCH)=%, $(arch_map))))
@@ -98,7 +98,7 @@ archdir               := $(strip $(patsubst 
$(DEB_HOST_ARCH)=%, %, \
 
 default_vm = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),hotspot,zero)
 
-stage1_gcj_archs = amd64 hppa i386 ia64 lpia powerpc m68k mips mipsel sh4 
sparc sparc64 s390
+stage1_gcj_archs = amd64 hppa i386 ia64 lpia powerpc powerpcspe m68k mips 
mipsel sh4 sparc sparc64 s390
 stage1_openjdk_archs = alpha armel
 stage1_cacao_archs =
 ifneq (,$(filter nobootstrap, $(DEB_BUILD_OPTIONS)))
@@ -283,6 +283,7 @@ ifneq (,$(filter $(distrel),hardy gutsy feisty edgy dapper))
   DISTRIBUTION_PATCHES += \
        $(if $(filter $(DEB_HOST_ARCH), amd64), 
debian/patches/gcc-jdk-opt-O2.diff) \
        $(if $(filter $(DEB_HOST_ARCH), powerpc), 
debian/patches/gcc-opt-O2.diff)
+       $(if $(filter $(DEB_HOST_ARCH), powerpcspe), 
debian/patches/gcc-opt-O2.diff)
 else ifeq ($(DEB_HOST_ARCH),s390)
   # GCC PR target/41327
   DISTRIBUTION_PATCHES += debian/patches/gcc-jdk-opt-O2.diff
@@ -346,7 +347,7 @@ CONFIGURE_ARGS += --with-pkgversion="$(PKGVERSION)"
 # see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=217
 # only use it for zero ports except powerpc (which we assume as
 # fast enough to build.
-ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) ia64 powerpc))
+ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) ia64 powerpc powerpcspe))
   CONFIGURE_ARGS += --with-alt-jar=/usr/bin/fastjar
 endif
 
@@ -858,19 +859,19 @@ endif
        touch $@
 
 ifeq ($(with_check),yes)
-    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha armel ia64 mips 
mipsel powerpc s390 sh4))
+    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha armel ia64 mips 
mipsel powerpc powerpcspe s390 sh4))
       with_mauve_check = $(default_vm)
     endif
-    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha armel ia64 mips 
mipsel powerpc s390 sh4))
+    ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha armel ia64 mips 
mipsel powerpc powerpcspe s390 sh4))
       with_jtreg_check = $(default_vm)
     endif
 
     ifneq (,$(filter cacao, $(alternate_vms)))
-      ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc sparc))
+      ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc powerpcspe 
sparc))
         # only activate after testing; problems on s390
         with_mauve_check += cacao
       endif
-      ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel i386 lpia mips 
mipsel powerpc s390))
+      ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel i386 lpia mips 
mipsel powerpc powerpcspe s390))
         # only activate after testing; hangs several tests.
         with_jtreg_check += cacao
       endif
@@ -902,7 +903,7 @@ ifeq ($(with_check),yes)
   endif
 endif
 
-ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel ia64 mips mipsel powerpc s390))
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel ia64 mips mipsel powerpc 
powerpcspe s390))
   JTREG_OPTIONS = -timeout:3
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), armel))
@@ -931,7 +932,7 @@ build: $(build_stamps)
        rm -f buildwatch.pid
 
 stamps/build: stamps/patch
-ifneq (,$(filter $(DEB_HOST_ARCH), alpha arm armel hppa ia64 m68k mips mipsel 
powerpc s390 sparc))
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha arm armel hppa ia64 m68k mips mipsel 
powerpc powerpcspe s390 sparc))
        sh -c 'sh debian/buildwatch.sh $(CURDIR)/build &'
 endif
        if $(EXTRA_BUILD_ENV) $(MAKE) -C build $(build_target); then \
-- 
1.5.6.5

>From c93ae97ca7f44646303c8051ff0420caf3ed5856 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bige...@linutronix.de>
Date: Thu, 17 Jun 2010 18:48:19 +0200
Subject: [PATCH] Add powerpcspe patch

Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
 ...o-only-use-floating-point-if-floating-poi.patch |   30 ++++++++++++++++++++
 debian/rules                                       |    1 +
 2 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 
debian/patches/0001-openjdk-zero-only-use-floating-point-if-floating-poi.patch

diff --git 
a/debian/patches/0001-openjdk-zero-only-use-floating-point-if-floating-poi.patch
 
b/debian/patches/0001-openjdk-zero-only-use-floating-point-if-floating-poi.patch
new file mode 100644
index 0000000..dec445f
--- /dev/null
+++ 
b/debian/patches/0001-openjdk-zero-only-use-floating-point-if-floating-poi.patch
@@ -0,0 +1,30 @@
+From 480e011dbe52d4cc81f2719edadaa7aec785fbe6 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <bige...@linutronix.de>
+Date: Thu, 17 Jun 2010 18:00:23 +0200
+Subject: [PATCH] openjdk/zero: only use floating point if floating point 
available
+
+Those two opcodes are not available on non-FPU machines. If we have the
+SPE extension we could use evldd and evstdd but this requires the
+address to be 64bit aligned.
+
+Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
+---
+ .../src/os_cpu/linux_zero/vm/os_linux_zero.hpp     |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp 
b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
+index 86d3562..40fd41e 100644
+--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp.
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
+@@ -33,7 +33,7 @@
+ 
+   // Atomically copy 64 bits of data
+   static void atomic_copy64(volatile void *src, volatile void *dst) {
+-#if defined(PPC) && !defined(_LP64)
++#if defined(PPC) && !defined(_LP64) && !defined(__NO_FPRS__)
+     double tmp;
+     asm volatile ("lfd  %0, 0(%1)\n"
+                   "stfd %0, 0(%2)\n"
+-- 
+1.6.6.1
+
diff --git a/debian/rules b/debian/rules
index 74b6299..5c73160 100755
--- a/debian/rules
+++ b/debian/rules
@@ -262,6 +262,7 @@ DISTRIBUTION_PATCHES += \
        debian/patches/icedtea-jdk-6438179.patch \
        debian/patches/ipv4-mapped-ipv6-addresses.diff \
        debian/patches/icedtea-override-redirect-metacity.patch \
+       
debian/patches/0001-openjdk-zero-only-use-floating-point-if-floating-poi.patch \
 
 # FIXME needs an update:
 #      $(if $(with_wgy_zenhai),,debian/patches/fontconfig-arphic-uming.diff) \
-- 
1.5.6.5

Reply via email to